{"adoption": {"forks": 387, "observed_at": "2026-08-28T04:05:24.412984+00:00", "stars": 1702}, "canonical_url": "https://ross.abutalabs.com/products/paddlevideo", "card": {"archived": false, "artifact_type": "library", "description": "Awesome video understanding toolkits based on PaddlePaddle. It supports video data annotation tools, lightweight RGB and skeleton based action recognition model, practical applications for video tagging and sport action detection.", "domain": ["deep-learning", "computer-vision", "machine-learning"], "enriched": true, "function": ["machine-learning", "deep-learning", "video-processing", "computer-vision", "llm-training"], "health_score": 24, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["PaddlePaddle/PaddleVideo"], "name": "PaddlePaddle/PaddleVideo", "platform": ["python"], "pushed_at": "2025-02-12T06:53:52+00:00", "repo": "PaddlePaddle/PaddleVideo", "stars": 1702, "tags": ["video-understanding", "action-recognition", "action-detection", "paddlepaddle", "model-zoo", "tsm", "slowfast", "st-gcn", "video-tagging", "skeleton-based", "video", "linux", "gpu"], "topics": ["video-recognition", "tsm", "slowfast", "tsn", "bmn", "action-recognition", "youtube-8m", "kinetics400", "video-understanding", "activitynet", "action-detection", "temporal-action-detection", "action-localization", "ava", "actbert", "pp-tsm", "videotag", "st-gcn", "t2vlad"], "urls": [], "use_cases": ["recognize human actions in videos", "train an action recognition model on Kinetics-400", "detect temporal action boundaries in sports footage", "classify videos with skeleton-based pose models", "deploy a lightweight video model on CPU", "annotate video datasets for training", "fine-tune video models for industrial or medical scenarios"], "what_it_is": "PaddleVideo is a video understanding toolkit built on PaddlePaddle, offering state-of-the-art models for action recognition, temporal action detection, and video tagging. It covers the full pipeline from data annotation and training to model compression and deployment, including lightweight models like PP-TSM and skeleton-based models like ST-GCN.", "when_to_avoid": ["your stack is PyTorch or TensorFlow based", "you need general video editing or transcoding rather than understanding", "you need real-time streaming video analytics out of the box"], "when_to_choose": ["you use the PaddlePaddle ecosystem and need video understanding models", "you need a full pipeline from annotation to deployment for video tasks", "you want lightweight CPU-friendly action recognition models", "you work with skeleton-based action recognition or sports analytics"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/paddlevideo", "repo": "PaddlePaddle/PaddleVideo", "role": "main", "score": 26}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.412984+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:37:39.520928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "313c5eb78edd28e4f97ae4ea63d013f7fe899da51c8f99daaa875133af331c19", "fetched_at": "2026-08-28T04:05:24.412984+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PaddlePaddle/PaddleVideo"}, {"content_hash": "8dd428b3fc91d103d4596dd20ea35cc3e1faff21e9e3cc2acee3d4fa60018f25", "fetched_at": "2026-08-29T11:12:00.691296+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/paddlevideo/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 6, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2120, "days_push": 567, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 26, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}