youtube-dl ってyoutube非対応のraspberryPiで動画再生に使ってました。
deibain にyoutube-dl というコマンドがありまして、youtubeから各種データ取り出すことに使えます。
youtube-dl コマンドはとても便利すぎて鼻血が出ます。
youtube-dl でプレイリストのJSONに対応してる。
ある日、間違えて動画再生ページではなく、プレイリストのページでコマンドを実行するミスをしました。
でも動きました。プレイリストにも対応
youtube-dl -J youtube-プレイリストのURL
この他にも、投稿者のプロファイルページなど複数の動画のリストページを渡すとまとめて処理してくる
dailymotion に対応
また別の日に、Dailymotionを解析手法を探してたら、youtube-dl を使えってStackうんちゃらで見たけたので試したら・・・
Dailymotion のURLに対応出来てしまう・・・なんと。
youtube-dl http://www.dailymotion.com/video/x3xxxxxxxxxx
すごいなこれ。
もしかしてニコニコも?
あれ、ニコニコ動画も対応出来てしない?
ということで、ニコニコでも試してみたら、、、いけてしまう。
youtube-dl http://www.nicovideo.jp/watch/sm17836093 [niconico] sm17836093: Downloading webpage [niconico] sm17836093: Downloading video info page [niconico] sm17836093: Downloading webpage [niconico] sm17836093: Downloading flv info [download] Destination: 【2ch】「一番厨ニ臭いホトトギス詠んだ奴優勝」 を全力で読み上げる動画-sm17836093.mp4 [download] 100% of 4.94MiB in 01:41
ってことはyoukuも?
ま、まさかyouku にも対応してるとか無いよな→対応してました。
takuya@tom:~ $ youtube-dl http://v.youku.com/v_show/xxxxxxxxxxxx.html [youku] cxxxxxxx: Downloading JSON metadata 1 [youku] xxxxxxxx: Downloading JSON metadata 2 [download] Downloading playlist: NHKスペシャル「xxxxxxxxxx」 -14.03.23- [youku] playlist NHKスペシャル「xxxxxxxxx」 -14.03.23-: Collected 15 video ids (downloading 15 of them) [download] Downloading video 1 of 15 [download] Destination: NHKスペシャル「xxxxxxxxxxx」 -14.03.23--xxxxxxxxxxx.flv [download] 0.0% of 30.32MiB at 420.85KiB/s ETA 01:13
さすがにyoukuは速度制限的にシンドいな、、、
youtube-dl 最強ですね。
youtube-dl 使いようによっては手軽に便利なツールです。っていうか進化すごい。
かなりのサイトに対応してました。*1
使ったのは最新版(2015.08.06.1)
最新版で試しました
最新版の入手方法
apt で入ってる youtube-dl は古いので
sudo youtube-dl -U
で、アップデートするといいです。
また、グローバルではなく、ユーザー空間にインストールしてもいいでしょうね
/usr/local/binにインストールするには
sudo curl https://yt-dl.org/downloads/2015.08.06.1/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl
youtube の動画URLを取得するには
youtube-dl -g SITE_URL
youtube の動画URLをmp4 で取得する
youtube-dl -f mp4 -g SITE_URL
youtube のプレイリスト動画URLをmp4で、JSON で取得する
youtube-dl -J -f mp4 -g SITE_URL
配布元
参考資料
*1:ひまわり動画はさすがに対応してなかった