1. 程式人生 > >使用youtube-dl下載視訊及Sport-1M Datesets

使用youtube-dl下載視訊及Sport-1M Datesets

最近使用到了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<video_url>

例如執行

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

結果如下圖所示
在這裡插入圖片描述
使用-F命令檢視視訊包含的檔案,注意此處-F要大寫

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

結果如下所示:
在這裡插入圖片描述
從上圖可知此視訊包含許多格式,每行的第一串資料代表了格式程式碼,可以根據此指定下載格式

youtube-dl -f 37<video_url>

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 其它

因為是利用Sports-1M資料集做視訊分類等,所以並不需要音訊等。在儘量壓縮體積時也想把音訊也去掉,暫時還沒發現怎麼只下載視訊而不要音訊等。

Reference:


  1. Download YouTube Videos in Linux Command Line ↩︎

  2. 相關命令的解釋:youtube-dl使用小記 ↩︎