CoolFace
Datasetpublic

TornadoLabs/activitynet

ActivityNet v1.3 15,941 videos (391.3 GB) with 1,550 subtitle files, downloaded at source quality and re-hosted for direct use — no more dead YouTube links, no more flaky downloader scripts. Coverage: 15,941 of the 19,994 source video IDs (79.7%). 4,053 source videos were unavailable at fetch time (private, removed, members-only or geo-blocked) and are excluded. The dataset is refreshed as more videos are delivered. What's inside metadata.jsonl — one row per… See the full description on the dataset page: https://huggingface.co/datasets/TornadoLabs/activitynet.

sourceHugging Faceotherupdated 8d agoView on Hugging Face
0likes1.2kdownloads
Dataset Card

ActivityNet v1.3

![Powered by Tornado API](https://tornadoapi.io?ref=hf-activitynet-badge)

15,941 videos (391.3 GB) with 1,550 subtitle files, downloaded at source quality and re-hosted for direct use — no more dead YouTube links, no more flaky downloader scripts.

Coverage: 15,941 of the 19,994 source video IDs (79.7%). 4,053 source videos were unavailable at fetch time (private, removed, members-only or geo-blocked) and are excluded. The dataset is refreshed as more videos are delivered.

What's inside

  • `metadata.jsonl` — one row per video: video_id, video_url (direct HTTPS download, CDN-backed), subtitle_url, youtube_url, size_bytes
  • The 15,941 MP4s (391.3 GB) and 1,550 subtitle files are hosted on Hugging Face storage and served via the video_url column
  • `captions.parquet` — 23,064 academic annotations (source: annotations.csv)

Quick start

python
from datasets import load_dataset

# videos (default config): one row per video with its direct download URL
ds = load_dataset("TornadoLabs/activitynet", "videos", split="train")
print(ds[0])

# download one video
import requests
r = requests.get(ds[0]["video_url"])
open(f"{ds[0]['video_id']}.mp4", "wb").write(r.content)

# academic annotations
ann = load_dataset("TornadoLabs/activitynet", "annotations", split="train")

How this dataset was built

Every video was fetched through the Tornado API bulk pipeline and delivered straight into Hugging Face storage via its S3-compatible gateway — the exact workflow documented here.

Of the original ID list, only videos still publicly available on YouTube are included (dead/private videos are listed upstream and excluded here).

Provenance & citation

  • Original dataset: http://activity-net.org/
  • Paper: Caba Heilbron et al., CVPR 2015 — ActivityNet: A Large-Scale Video Benchmark for Human Activity Understanding
  • 19,994 vidéos, 200 classes d'activités, annotations temporelles segment-niveau.

The video files remain the property of their respective YouTube uploaders. The annotations belong to the original dataset authors — cite their paper if you use them. This re-hosting is provided for reproducible research; if you are a rights holder and want content removed, open a discussion on this repo.

Build your own video dataset

Need a custom corpus (different IDs, other platforms, higher volume)? [Tornado API](https://tornadoapi.io?ref=hf-activitynet-cta) downloads YouTube at scale — bulk endpoints, S3/R2/HF delivery, subtitles and metadata included.