youtube-dl や youtube-dlc の両方の機能を持ち更に機能強化されているよう.
$ wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/SHA2-512SUMS $ sha512sum -c ./SHA2-512SUMS 2>&1 | grep OK yt-dlp: OK $ install -m700 ./yt-dlp ~/bin/ $ rm ./yt-dlp ./SHA2-512SUMS
$ yt-dlp -U
$ yt-dlp --skip-download --sub-lang=ja --write-auto-sub T5m_j4a6dBc $ ls -s The\ state\ of\ the\ free\ software\ movement\ \[T5m_j4a6dBc\].ja.vtt 616 'The state of the free software movement [T5m_j4a6dBc].ja.vtt' $ head The\ state\ of\ the\ free\ software\ movement\ \[T5m_j4a6dBc\].ja.vtt WEBVTT Kind: captions Language: ja 00:00:00.000 --> 00:00:02.230 align:start position:0% 通常<00:00:00.174><c>は</c><00:00:00.348><c>起こり</c><00:00:00.522><c>ます</c><00:00:00.696><c>が</c><00:00:00.870><c>、</c><00:00:01.044><c>もちろん</c><00:00:01.218><c>今起こっ</c><00:00:01.392><c>て</c><00:00:01.566><c>い</c><00:00:01.740><c>ます</c><00:00:01.914><c>。</c> 00:00:02.230 --> 00:00:04.230 align:start position:0% 通常は起こりますが、もちろん今起こっています。
そのまま読むために整形してみる.
$ awk 'FNR<=4 || ($0 ~ /^$|-->|\[|\]|</){next} !a[$0]++' The\ state\ of\ the\ free\ software\ movement\ \[T5m_j4a6dBc\].ja.vtt | tr -d "\n" | sed -e 's/。/。\n/g' | head -2 通常は起こりますが、もちろん今起こっています。 特にgnuソフトウェアだけでなく、他のフリーソフトウェアにも貢献してくれたすべての人に感謝します。
プレイリスト( PLUH30mfo5wJwdafMdAJFcrcryUbYiixl4 )中のタイトルに「ラジオをする」という文字列が含まれているもののみダウンロードする.
$ yt-dlp --match-filter "title~=ラジオをする" -f 251 PLUH30mfo5wJwdafMdAJFcrcryUbYiixl4 [youtube:tab] PLUH30mfo5wJwdafMdAJFcrcryUbYiixl4: Downloading webpage [youtube:tab] PLUH30mfo5wJwdafMdAJFcrcryUbYiixl4: Downloading API JSON with unavailable videos [download] Downloading playlist: TVアニメ「その着せ替え人形は恋をする」 [youtube:tab] playlist TVアニメ「その着せ替え人形は恋をする」: Downloading 45 videos [download] Downloading video 1 of 45 [download] TVアニメ「その着せ替え人形は恋をする」第1弾PV does not pass filter title~=ラジオをする, skipping .. [download] Downloading video 2 of 45 [download] TVアニメ「その着せ替え人形は恋をする」第2弾PV does not pass filter title~=ラジオをする, skipping .. [download] Downloading video 3 of 45 [youtube] A3vKWR3WXWk: Downloading webpage [youtube] A3vKWR3WXWk: Downloading android player API JSON [info] A3vKWR3WXWk: Downloading 1 format(s): 251 [download] 【公式】その着せ替え人形はラジオをする(第1回) [A3vKWR3WXWk].webm has already been downloaded
--embed-thumbnail
で埋め込める
$ yt-dlp -f 140 --embed-thumbnail A3vKWR3WXWk
ファイラーでもサムネイルが表示される
webmには埋め込めなかった
ERROR: Supported filetypes for thumbnail embedding are: mp3, mkv/mka, ogg/opus/flac, m4a/mp4/mov
※yt-dlp 2022.03.08 でabema.tvに対応
普通にダウンロードすると以下のようにタイトルが「第1話」のようになる
$ yt-dlp -f 184 https://abema.tv/video/episode/593-1_s1_p1 : [download] Destination: 第1話 [593-1_s1_p1].mp4
単話ではなくタイトルのURLを指定してOUTPUT TEMPLATEのplaylist+titleを使うと良さそう (単話指定だとNAになる)
$ yt-dlp -f 184 -o '%(playlist)s %(title)s' https://abema.tv/video/title/593-1 : [download] Destination: 阿波連さんははかれない 第1話.mp4
※yt-dlp 2022-07-18で直った
[download] 0.4% of ~269.75MiB at 20.63MiB/s ETA Unknown (frag 1/278)ERROR: base None exceeds table length 58
yt-dlp 2022.06.22.1 〜 2022.06.29 で発生.yt-dlp 2022.05.18 や streamlink は問題ないので恐らく yt-dlp のbug.
issue
ERROR: unable to open for writing: [Errno 36] File name too long: '怪人開発部の黒井津さん\u3000第1話\u3000世界征服を企てる悪の秘密結社で、人々を恐怖に陥れる怪人が生まれ出るその時、彼女は密かに涙した [6290247878001].fdash-698cbf58-3431-4bb3-978b-fc37d81b51f3-1.m4a.part-Frag1.part'
#### ファイル名帳を制限
--trim-filenames
で長さを制限してしまう
日本語ファイル名の場合ファイルシステムをexfatにするとext4などより長いファイル名が使える.
ダウンロード中の一時ファイルでファイル名長が足りない,でもダウンロード完了時のファイル名長は大丈夫といった場合 -P
でexfat領域を一時領域にして回避できる.専用の一時領域を作っておいても良さそう.
$ yt-dlp -P ${EXFATPATH}/tmp/ https://gyao.yahoo.co.jp/title/%E6%80%AA%E4%BA%BA%E9%96%8B%E7%99%BA%E9%83%A8%E3%81%AE%E9%BB%92%E4%BA%95%E6%B4%A5%E3%81%95%E3%82%93/61d79cb4-e194-4c50-8bf6-e8382c19f67e
-P
と -o
を指定時に -o
内に絶対パスを利用すると使えないよう(-Pは無視される)
WARNING: --paths is ignored since an absolute path is given in output template
コメント