8月26日、Martin Eesmaaが「Youtube Format IDs · GitHub」と題したGistを公開した。YouTubeが内部で使用する動画・音声フォーマットID(itag)を網羅したリファレンスで、yt-dlpを使った実践的な取得コマンドまで収録されている。
yt-dlp -Fで動画のフォーマット一覧を表示したとき、137や251といった数字が並ぶのを見たことがあるはずだ。これが「itag」と呼ばれるYouTube内部のフォーマット識別子で、コーデック・解像度・ビットレートを一意に指し示す。しかしデフォルトのコマンドでは一部のフォーマットは表示すらされない。知らずに使い続けると、実は取得できる最高品質を選べていない、というケースが起きる。このGistはそのギャップを埋めるために存在する。
元々はAgentOakが2019年11月に作成したものをMartinEesmaaが2022年9月以降メンテナンスを引き継いでおり、最終更新は2026年8月20日だ。yt-dlpのDiscordコミュニティメンバーや複数のコントリビューターによる情報提供で継続的に更新されており、itag周りの変化を追跡する一次情報として機能している。
なぜ今このリファレンスが重要か
YouTubeは2024年以降、ダウンロードへの対策を段階的に強化してきた。POTトークン(Proof of Origin Token)の導入により、一部フォーマットはトークンなしでは取得できなくなり、さらに2025年後半からはダウンロード前にスリープ遅延を設けるようになったとGistには記載されている。このような変化の中で「どのitagがどの条件で取得できるか」を把握しておくことは、アーカイブ運用の安定性に直結する。
「見えていない」フォーマットの見つけ方
デフォルトのyt-dlpでは-Fを付けても表示されないフォーマットがある。Format 139・338がその代表例だ。以下の引数を追加することで確認できる。
--extractor-args "youtube:player_client=all"
これを知らないままフォーマット選択をしていると、利用可能な選択肢を見落としたまま運用していることになる。
AV1配信は「人気動画にのみ」提供される
YouTubeのAV1配信は現時点で人気動画にのみ提供されており、全動画に適用されているわけではない。さらに以下の特殊バリアントが存在する。
- AV1 HFR High:通常のAV1 HFRと比較して約3〜4倍のビットレートを持つ高品質バリアント。480p以下の低解像度にもHFRバリアントが提供されるという副次効果がある。AV1バリアントを持つ動画の中でも希少な部類に入る。
- Format 571(AV1 HFR 4320p):Format 402と比較してビットレートが約50%高い。両方が提供される場合と片方のみの場合がある。
- AV1バリアントにHDRなし専用は存在しない:Gistによれば、HDR非対応専用のAV1バリアントは提供されていない。
YouTubeプレミアム限定フォーマット
Format 356はYouTubeプレミアム契約者のみがアクセスできる動画フォーマットだ。yt-dlpから利用する場合はCookieファイルの引き渡しが必要で、M3U8経由(Format 616)として取得されることが多い。
レガシーフォーマットの終焉
かつて広く使われていたフォーマットも順次廃止されている。
- Format 17(旧モバイル向け、最大12fps):2024年5月以降、新規アップロード動画では提供終了
- Format 22(HD動画の定番フォーマット):2024年6月21日以降、新規アップロード動画では提供終了
長年のスクリプトやワークフローでこれらのitagをハードコードしている場合は見直しが必要だ。
モバイル限定になった音声フォーマット
Format 599・600は2025年2月以降、モバイルWebかつPOTトークン付きでのアクセスに制限された。yt-dlpで取得するには以下の引数が必要だ。
--extractor-args "youtube:player_client=mweb;formats=missing_pot"
M3U8と通常HTTPSフォーマットの対応
Apple Native HLS(M3U8)のフォーマットIDと通常のHTTPSフォーマットIDは異なる番号が割り当てられているが、実体は同じ品質を指す。たとえばM3U8のFormat 270(1920x1080 H.264)はHTTPSのFormat 137(1080p H.264)と同等だ。M3U8でしか提供されていないフォーマットも存在するため、アーカイブ用途では両方を把握しておく価値がある。
実践的なコマンドテンプレート
Gistでは用途別のyt-dlpコマンドテンプレートも掲載されている。動画アーカイブ用のフォーマット選択文字列や、コメント・字幕・サムネイルをすべて含む完全アーカイブコマンドなど、すぐに流用できる形でまとめられている。音声アーカイブであれば258/251/22/256/140/250/18/249/139という優先順位文字列でAAC Surround 384k → Opus 160k → AAC 192kの順に最良を選択できる。
YouTube動画のダウンロード・アーカイブを継続的に行うエンジニアにとって、手元に置いておきたいリファレンスだ。
詳細はYoutube Format IDs · GitHubを参照していただきたい。