使用youtube-dl下载视频以Sport-1M Datesets为例

版权声明:注重原创,转载请联系作者或注明来源 https://blog.csdn.net/Mao_Jonah/article/details/83934191

最近使用到了Sports-1M数据集,但是从github上

git clone https://github.com/gtoderici/sports-1m-dataset.git

查看里面只给了相关视频的URL,不像UCF-101给了包含相关视频的数据集。因为Sports-1M数据集包含487个运动类别,100万个YouTube视频,而youtube-dl是下载YouTube目前最好的下载工具,遂决定使用youtube-dl来下载相关视频。

1 安装1

在Ubuntu上使用如下命令

sudo apt install youtube-dl

在脚本上设置可执行权限

sudo chmod a+rx /usr/bin/youtube-dl

2 下载

执行如下命令

youtube-dl

例如执行

youtube-dl https://www.youtube.com/watch?v=ABPsSSS2uY0

结果如下图所示
使用youtube-dl下载视频以Sport-1M Datesets为例_第1张图片
使用-F命令查看视频包含的文件,注意此处-F要大写

youtube-dl -F https://www.youtube.com/watch?v=ABPsSSS2uY0

结果如下所示:
使用youtube-dl下载视频以Sport-1M Datesets为例_第2张图片
从上图可知此视频包含许多格式,每行的第一串数据代表了格式代码,可以根据此指定下载格式

youtube-dl -f 37

3 批量下载

找到Sports-1M数据集里头的all_urls.txt文件,其包含了all_urls.txt文件

youtube-dl -i -f 17 -a all_urls.txt

-i 是遇到错误文件时跳过,-a是跳到外部文件(该文件包含需下载文件的URL),
当然也可以加上一些诸如此类的命令: --max-filesize SIZE 不下载大于SIZE的视频(e.g. 50k or 44.6m) ,其它一些命令见Reference 22

4 其它 3

  • 因为是利用Sports-1M数据集做视频分类等,所以并不需要音频等。在尽量压缩体积时想把音频也去掉以进一步压缩体积,暂时还没发现怎么只下载视频而不要音频等。
  • 使用 ‘%(title)s.%(ext)s’ 等命令来设置输出。
  • 后来数据集是在太大,写了个脚本先下了前100类的视频。
  • 在大规模下载时容易遇到验证码的问题,解决方案请参考4

Reference:


  1. Download YouTube Videos in Linux Command Line ↩︎

  2. 相关命令的解释:youtube-dl使用小记 ↩︎

  3. https://github.com/rg3/youtube-dl/blob/master/README.md#readme ↩︎

  4. https://github.com/rg3/youtube-dl/issues/15275 ↩︎

你可能感兴趣的:(Deep,Learning)