2019年10月12日土曜日

ラズパイ19

一応言っておくが、いわゆる「...という夢を見た」って記事です。コンセプトは、平日には家で動画を楽しむ時間が無く、且つ、スマホもパケット使い放題じゃない人が、通勤時にタイムシフト再生するために考えた記事です。

youtubeをスマホにダウンロードして通勤時にオフラインで見たい。というワケでyoutube--dlをインストール。リポジトリで入れると古かったので、入れてから新しいヤツで上書きし、一応実行権限を付けた。まぁ、最近の説明サイトでは/usr/local/binに入れるようですが、リポジトリでインストールしたら/usr/binでした。パスが通ったディレクトリに入れば良いんですw。一応、ラズパイ環境のアプデもしておいた。
https://qiita.com/akinko/items/74886ad84fed0ee10044
http://min117.hatenablog.com/entry/2016/07/15/185252

sudo pip install youtube-dl
sudo curl -L https://yt-dl.org/downloads/2019.09.28/youtube-dl -o /usr/bin/youtube-dl
sudo chmod a+rx /usr/bin/youtube-dl
sudo apt-get update
sudo apt-get upgrade

とりあえず、これでインストール完了です。バージョン確認する。
youtube-dl -v

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.09.28
[debug] Python version 2.7.13 (CPython) - Linux-4.19.75-v7+-armv7l-with-debian-9.11
[debug] exe versions: avconv 3.2.14-1, avprobe 3.2.14-1, ffmpeg 3.2.14-1, ffprobe 3.2.14-1, rtmpdump 2.4
[debug] Proxy map: {}
Usage: youtube-dl [OPTIONS] URL [URL...]

オプション一覧は、公式が一番のようだ。Examplesが出てるので、そこを見りゃだいたい分かる。
https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection
一部抜粋の日本語約
https://masayoshi-9a7ee.hatenablog.com/entry/20150905/1441414821
少し分かりやすいオプションが見れる
https://blog.withachristianwife.com/2018/12/10/youtube-dl/

適当なURLで-F(大文字のFです)で動画フォーマットの一覧を見てみる。気になっているバンド「Arch Echo」の公式に行ってみた。
Arch Echoチャンネル
https://www.youtube.com/channel/UCiXDVCqPmUHMcl0R1rfERpw

youtube-dl -F https://www.youtube.com/channel/UCiXDVCqPmUHMcl0R1rfERpw

延々と続き...
[download] Downloading video 42 of 42
[youtube] IT6e-h6P7Uo: Downloading webpage
[youtube] IT6e-h6P7Uo: Downloading video info webpage
[info] Available formats for IT6e-h6P7Uo:
format code extension resolution note
249 webm audio only tiny 57k , opus @ 50k (48000Hz), 1.99MiB
250 webm audio only tiny 80k , opus @ 70k (48000Hz), 2.66MiB
140 m4a audio only tiny 128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 5.05MiB
251 webm audio only tiny 152k , opus @160k (48000Hz), 5.25MiB
160 mp4 256x144 144p 113k , avc1.4d400c, 24fps, video only, 4.18MiB
278 webm 256x144 144p 128k , webm container, vp9, 24fps, video only, 3.74MiB
242 webm 426x240 240p 243k , vp9, 24fps, video only, 7.79MiB
133 mp4 426x240 240p 251k , avc1.4d4015, 24fps, video only, 9.18MiB
243 webm 640x360 360p 429k , vp9, 24fps, video only, 13.47MiB
134 mp4 640x360 360p 494k , avc1.4d401e, 24fps, video only, 12.71MiB
244 webm 854x480 480p 765k , vp9, 24fps, video only, 21.23MiB
135 mp4 854x480 480p 987k , avc1.4d401e, 24fps, video only, 23.22MiB
247 webm 1280x720 720p 1399k , vp9, 24fps, video only, 39.10MiB
136 mp4 1280x720 720p 1758k , avc1.4d401f, 24fps, video only, 41.11MiB
248 webm 1920x1080 1080p 2452k , vp9, 24fps, video only, 68.43MiB
137 mp4 1920x1080 1080p 3045k , avc1.640028, 24fps, video only, 72.76MiB
18 mp4 640x360 360p 563k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 22.40MiB (best)
[download] Finished downloading playlist: Uploads from Arch Echo

なるほど...soundとvideoがバラバラになっていたりするんだな。(Best)って書いてあるヤツは全然ベストに感じないという罠w。これは、個別に自分の望むものを選択してダウンロードしなくてはならないようだ。

チャンネルだと42個もあったので、動画1個のURLで試してみよう。
Arch Echo - Color Wheel
https://www.youtube.com/watch?v=F65IQmP7lCk

コマンドは以下。スマホに入れて通勤時に見る事を考えた設定。-oオプションを付けなかったら、/home/piにファイル出力されファイル名は%(title)s-%(id)s.%(ext)sとなっていた。日付が無いといつの動画か分からないので日付を入れたいが、Release_dateはNAになっちゃったのでupload_dateにしました。
youtube-dl -f 'bestvideo[ext=mp4][height<=480]+bestaudio[ext=m4a]' -o '/media/suzyusbhdd/Public/YT/Arch Echo/%(upload_date)s--%(title)s.%(ext)s' https://www.youtube.com/watch?v=F65IQmP7lCk

お試しで通勤時に見てみた。画面を消し音声だけ聞き続けたい場合は、バックグラウンド再生すれば良い。VLCやMXは対応していた。しかし、殆ど喋ってたり音楽だったりを聞くのがメインなので、スマホで見るだけならheight<=360とか240でも良いかもしれない。2019年1月1日以降のものだけ、まとめて落としてみよう。(datebeforeにすれば以前となる。)

youtube-dl -f 'bestvideo[ext=mp4][height<=360]+bestaudio[ext=m4a]' --dateafter 20190101 -o '/media/suzyusbhdd/Public/YT/Arch Echo/%(upload_date)s-%(title)s.%(ext)s' https://www.youtube.com/channel/UCiXDVCqPmUHMcl0R1rfERpw

あとは、mp4形式で映像と音とが一体になったベストなものを一括ダウンロードしたいなら以下。必ずしもbestとは思えないけど、楽したいとかエラー回避とかなら、こんな感じが楽でしょう。
youtube-dl -f 'best[ext=mp4]' -o '/media/suzyusbhdd/Public/YT/Arch Echo/%(upload_date)s-%(title)s.%(ext)s' https://www.youtube.com/channel/UCiXDVCqPmUHMcl0R1rfERpw

う~ん、良い感じのプログレだ。というわけで通勤が更に快適になった。ちなみにコレ、Windowsでも動く。GUIがオマケ程度についたyoutube-dlgというのあるようです。

0 件のコメント: