Bilibili 用 yt-dlp コマンドジェネレーター
Bilibili 向けに yt-dlp コマンドを組み立てます。まず 403 エラーの大半を避けるブラウザ偽装から始めます。
403 エラーと画質の制限
Bilibili はブラウザからのものに見えないリクエストを拒むため、素のコマンドはよく 403 を返します。このプリセットで偽装を最初から有効にしているのは、多くの場合それが答えだからです。
1080p 以上はログイン済み、場合によっては有料のアカウント向けに留保されているので、ここでの cookies はアクセスだけでなく画質にも関わります。パート分割された動画は再生リストの項目として現れます。
Bilibili は古い yt-dlp がいちばん速く壊れるプラットフォームです —— サイトは西側のどのプラットフォームより頻繁に API を作り直し、extractor の更新はそれぞれの変更の数日以内に yt-dlp のリリースへ届きます。先月まで動いていたダウンロードが動かなくなったら、まず yt-dlp -U で更新を。偽装(このプリセットでは既定で有効)は 403 問題のうち「ブラウザ風ヘッダー」の部分を担い、残りはたいていセッションがないか期限切れかです。
複数パートのアップロード —— シリーズでよくある P1/P2/P3 構造 —— は再生リストの項目として届くので、再生リスト全体の扱いが全パートを取り、出力テンプレートの再生リスト番号がパートの順序を保ちます。弾幕(流れるコメント)は yt-dlp にとって字幕トラックです。--write-subs はそれを .ass ファイルとして保存し、それがこのデータの存在する唯一の形式です。要らないなら何もしないでください —— 頼まれない限り結合されません。
インタラクション画質 —— 「ドルビー」とプレミアムの段 —— はそれを持つアカウントにしか存在せず、そうしたアカウントの cookies なしではどんなフラグも届きません。地域ロックはもう一つの壁です。一部のアップロードは中国本土からしか見えず、ブロックがページではなく CDN で掛けられているときは、地域内の proxy だけが道です。地域バイパスはページ側のブロックにはときどき効きますが、CDN 側には決して効きません。
Bilibili は高画質を音声分離の DASH で配信するので、ffmpeg による結合は YouTube と同じ —— 結合の手順はこのプリセットに組み込み済みです。-x による音声だけの抽出も動き、長い複数パートのアップロードから音だけを取る最速の道です。ライブのリプレイは、配信が終わればふつうの VOD になるので、どの動画と同じようにダウンロードします。このサイトのライブ録画オプションは、配信が進行中のあいだのためのものです。