All Projects → gsssrao → Youtube 8m Videos Frames

gsssrao / Youtube 8m Videos Frames

Licence: gpl-3.0
Youtube-8m Videos, Frames and Ids Generator. Extract videos from youtube-8m. Extract frames from youtube-8m.

Programming Languages

shell
77523 projects

Labels

Projects that are alternatives of or similar to Youtube 8m Videos Frames

Compiler series
Material for the Creating a Compiler video lesson series.
Stars: ✭ 409 (+335.11%)
Mutual labels:  videos
Vanilla Lazyload
LazyLoad is a lightweight, flexible script that speeds up your website by deferring the loading of your below-the-fold images, backgrounds, videos, iframes and scripts to when they will enter the viewport. Written in plain "vanilla" JavaScript, it leverages IntersectionObserver, supports responsive images and enables native lazy loading.
Stars: ✭ 6,596 (+6917.02%)
Mutual labels:  videos
Tumblr Crawler
Easily download all the photos/videos from tumblr blogs. 下载指定的 Tumblr 博客中的图片,视频
Stars: ✭ 1,118 (+1089.36%)
Mutual labels:  videos
Android Multipicker Library
Android Multipicker Library
Stars: ✭ 425 (+352.13%)
Mutual labels:  videos
Douyin
API of DouYin for Humans used to Crawl Popular Videos and Musics
Stars: ✭ 580 (+517.02%)
Mutual labels:  videos
Media picker
A Flutter Plugin for Selecting and Taking New Photos and Videos.
Stars: ✭ 24 (-74.47%)
Mutual labels:  videos
Learndagger
List of resources to learn about Dependency Injection and Dagger 2
Stars: ✭ 381 (+305.32%)
Mutual labels:  videos
Justforfunc
The repository for the YouTube series JustForFunc
Stars: ✭ 1,312 (+1295.74%)
Mutual labels:  videos
About Swiftui
Gathering all info published, both by Apple and by others, about new framework SwiftUI.
Stars: ✭ 5,954 (+6234.04%)
Mutual labels:  videos
Scriptplayer
ScriptPlayer is a video player that controls the Fleshlight Launch, The Handy and lots of other toys in sync with videos.
Stars: ✭ 59 (-37.23%)
Mutual labels:  videos
Youtube Dl Server
Web / REST interface for downloading youtube videos onto a server.
Stars: ✭ 499 (+430.85%)
Mutual labels:  videos
Filemasta
A search application to explore, discover and share online files
Stars: ✭ 571 (+507.45%)
Mutual labels:  videos
Haskell Must Watch
Huge list of videos, talks, courses for Haskell programming language.
Stars: ✭ 1,019 (+984.04%)
Mutual labels:  videos
Must Watch Css
A useful list of must-watch talks about CSS
Stars: ✭ 3,966 (+4119.15%)
Mutual labels:  videos
Go Videos Ru
Каталог докладов, лекций и других видеоматериалов по Go
Stars: ✭ 64 (-31.91%)
Mutual labels:  videos
Javascript Videos Ru 2018
Собрание видеозаписей докладов про JavaScript | 2018
Stars: ✭ 401 (+326.6%)
Mutual labels:  videos
Must Watch Javascript
A useful list of must-watch talks about JavaScript
Stars: ✭ 6,545 (+6862.77%)
Mutual labels:  videos
Facebook Video Downloader
Python script to download and save your favorite Facebook videos.
Stars: ✭ 92 (-2.13%)
Mutual labels:  videos
Videos
Source code for all the animations in my videos. Uses @3b1b's manim library
Stars: ✭ 65 (-30.85%)
Mutual labels:  videos
Vidupe
Vidupe is a program that can find duplicate and similar video files. V1.211 released on 2019-09-18, Windows exe here:
Stars: ✭ 45 (-52.13%)
Mutual labels:  videos

Youtube-8m Videos and Frames Generator

This repository contains scripts for downloading videos corresponding to a particular or a few categories of youtube-8m dataset.

The official youtube-8m dataset website contains information for downloading only videos and frame level features in the format of tensorflow protocal buffers. Hence, in this repository I wrote a few bash scripts for download ids, videos and frames of youtube-8m dataset.

UPDATED to support May 2018 version which has 6.1M videos, 3862 classes (The older Feb 2017 version of the Youtube8M dataset had 7.0M videos and 4716 classes). You can access the older version of this repository which worked with the Feb 2017 version from this link

A summary of how this repository works can be found here.

Dependencies

Dependencies for downloading youtube video ids for categories

  • Basic bash commands like grep, awk and cut should work.

Dependencies for downloading youtube videos from ids

Dependencies for generation of frames from videos

TODO

  • [x] Improve the video generation using a file for categories
  • [x] Add support for video limit per category

Usage

First look up the categories you want to download from youtube8mcategories.txt. The number of videos on youtube corresponding to that category is listed under the parenthesis.

Copy all these categories to a txt file with each category in a new line. Make sure that you don't add any extra characters to category name and that you add a new line after the last category.

Check selectedcategories.txt for example format.

Download multiple category videos and ids

bash downloadmulticategoryvideos.sh <number-of-videos-per-category> <selected-category-file-name>

This downloads youtube-ids corresponding to the categories in <selected-category-file-name> file under the folder category-ids. It also downloads <number-of-videos-per-category> videos per category in videos folder (The video names have a prefix as their category name). If you would like to download all the videos specify <number-of-videos-per-category> as 0.

By default a video is downloaded in the best possible resolution. If you want to download only an mp4 of a fixed resolution like 1280x720, you can do this changing the value for -f modifier in downloadvideos.sh at line numbers 31 and 40 (-f 22 stands for mp4 1280x720 whereas -f best stands for best possible resolution). To list the types of formats supported refer this stackoverflow question.

Example Usage

 bash downloadmulticategoryvideos.sh 10 selectedcategories.txt

This will download 10 videos for each category in selectedcategories.txt

Generate Frames

The next step is to generate frames corresponding to the videos downloaded in the previous step.

bash generateframesfromvideos.sh <path_to_directory_containing_videos> <path_to_directory_to_store_frames> <frames_format>

This generates the frames corresponding to the videos. In <frame_format> you can specify png(lossless compression) or jpg(lossy compression) or bmp(lossless) etc.

The file size of the frames is the following order: bmp > png > jpg

I would suggest to use png if bmp is not specifically required.

Example usage

mkdir frames
bash generateframesfromvideos.sh videos frames png

This will generates frames in png format under the frames folder.

Optional Usage

Download video-ids

bash downloadcategoryids.sh <number-of-videos> <category-name>

This downloads <number-of-videos> youtube-ids corresponding to the category-name under the folder category-ids. If you would like to download all the videos specify <number-of-videos> as 0.

Example usage

bash downloadcategoryids.sh 0 The Walt Disney Company

Be really careful and don't include any extra spaces after the category name.

Correct category name: "The Walt Disney Company"

Incorrect category name: "The Walt Disney Company " or " The Walt Disney Company" etc.

Download videos

To download videos corresponding to the video-ids downloaded in the previous step.

bash downloadvideos.sh <number-of-videos> <category-name>

This downloads <number-of-videos> youtube videos corresponding to the category-name under the folder videos. If you want to download all the videos of the category specify <number-of-videos> as 0

By default a video is downloaded in the best possible resolution. If you want to download only an mp4 of a fixed resolution like 1280x720, you can do this changing the value for -f modifier in downloadvideos.sh at line numbers 31 and 40 (-f 22 stands for mp4 1280x720 whereas -f best stands for best possible resolution). To list the types of formats supported refer this stackoverflow question.

Example usage

bash downloadvideos.sh 10 The Walt Disney Company

This will download 10 videos of the The Walt Disney Company category in the videos folder.

Contact

If you have any questions or suggestions about the code, feel free to create an issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].