X(Twitter)用 yt-dlp コマンドジェネレーター
X の動画向けに yt-dlp コマンドを組み立てます。ファイル名は予測しやすく、センシティブなコンテンツに必要なオプションも付きます。
X での注意点
x.com と twitter.com のどちらの URL でも動きます。X で GIF と呼ばれているものは実際には短い MP4 動画なので、他の動画と同じようにダウンロードされます。本物の GIF が必要なら後で変換してください。
センシティブなコンテンツの投稿には、その設定を有効にしたログイン済みセッションが必要です。既定のテンプレートは作者と投稿 id でファイル名を付けるので、そうしたファイルが並んだフォルダでも見通しが利きます。
X は API の面を何度も変えていて、実用的な帰結は、extractor の修正が数日で yt-dlp の更新として届くことです —— 数週間より古いインストールこそ、「X が壊れた」という報告のほとんどが住んでいる場所です。デバッグの前に、まず yt-dlp -U で更新を。ゲストアクセスは出入りします。撤回されたときは、cookies を付けたログイン済みセッションが動く経路で、それはセンシティブなメディアへの唯一の経路でもあります。
スレッドと引用投稿は、URL がややこしくなるところです。動画を含むツイートはそれを埋め込み、プロフィールのメディアタブにある同じ動画は別の項目です。アカウント全体なら、メディアタブの URL がメディア付きの投稿すべてをページ送りで取ります。記録ファイルと「エラーでも続行」があれば、動いているアカウントが必然的に溜め込む削除済み投稿も処理されます。検索 URL によるダウンロードは、ここでは意図的に対応していません。結果はリクエストごとに揺れ、動く検索に対する記録は意味を持ちません。
X は映像を HLS の fragment で配り、多くの場合 MP4 のフォールバックが付くので、結合は日常で、最初に確認すべき依存は ffmpeg です。「GIF」の投稿は知っておくべき例外です:ほかと同じく MP4 で届き、本物の GIF への変換はそのあと ffmpeg の仕事であって yt-dlp の仕事ではありません —— そもそもループする WebM のほうが送り手の意図に近いことが多いのです。
年齢制限とセンシティブな投稿は硬い壁です。設定はアカウント側にあり、コマンド側にはありません。ブラウザで一度ログインし、センシティブメディアの設定を有効にし、cookies を渡せば動きます —— cookies なしの回避策は存在しません。X はセッションをサーバー側で確認するからです。削除された投稿はどこでも同じです:消えたものは消えており、かつてコピーを保管していたミラーは何年も前に閉じました。