「yt-dlp mp4」問題を読み解く:デフォルト形式がうまく機能しない理由とその回避策
コマンドラインツールの yt-dlp を活用しているプロシューマーやコンテンツ制作者であれば、「yt-dlp mp4」と検索すれば、簡単に目的の形式が手に入ると思いがちです。狙いは単純──H.264などの馴染みあるコーデックを使ったMP4コンテナの動画をダウンロードし、そのまま編集ソフトやプレイヤーで活用すること。ところが、現状は少し事情が変わってきています。YouTubeがAV1やVP9コーデックへの移行を急速に進めていることや、動画の配信方法が細切れのセグメント形式に変わっていることから、手元に届く動画は想像しているものとは別物になりがちです。その結果、再生不具合や変換の手間、字幕ファイルのゴチャ付きなどがよく起こるようになっています。
この記事では、形式が噛み合わない理由、ダウンロードを前提とした作業の隠れた負担、そして「まず文字起こし」型のパイプラインがよりクリーンかつコンプライアンス面でも優れている理由を解説します。目的が正確なテキストやタイムスタンプ、分割済み字幕データの取得であるなら、動画ダウンロードという手順はもはや最善ではないかもしれません。
なぜ期待通りのMP4が手に入らないのか
以前は yt-dlp の -f bestvideo[ext=mp4]+bestaudio/best のような指定で、H.264の動画がきれいにMP4として収まっていました。しかし最近では、yt-dlp GitHubのissueでも報告されている通り、YouTubeは容量効率の高いコーデックであるVP9やAV1を優先しています。見た目は拡張子が.mp4でも、内蔵コーデックがH.264ではないため、古い環境や特定のソフトで再生や編集ができないことがあります。
さらに、高画質の動画はDASH形式の分割配信で提供されることが多く、複数のセグメントファイルを yt-dlp がダウンロード後に結合します。この結合作業で起こりやすいのが以下のトラブルです。
- MP4コンテナ内にサポートの少ないコーデックが入るコンテナとコーデックのミスマッチ
- ユーザー報告にあるような暗く歪んだ再生映像(セグメント破損)
- SAR値の不一致によるアスペクト比の崩れ
本来なら「すぐに使えるMP4」を得られるはずが、結局は再MUXや再エンコード、メタデータ修正といった厄介な作業が発生し、FFmpeg環境によっては失敗することもあります。
ローカル保存の意外な負担
字幕やテキスト抽出だけが目的でも、動画全体をダウンロードすると見過ごせない負担が出てきます。
- 容量の増大 – 高解像度MP4は数GB単位。失敗や形式違いで再ダウンロードすれば無駄に容量を食います。
- 規約リスク – SSLホストチェックの回避など、セキュリティ関連スレッドにあるような方法は、利用規約違反の可能性があります。
- 後処理の手間 – YouTube字幕はフォーマットや構造がまちまちで、整形やタイムスタンプの付け直し、話者ラベル付けなどに時間がかかります。
こうしたデメリットから、最近ではリンクベースの文字起こしを使うクリエイターが増えています。動画本体をダウンロードせず、URLをそのまま使って文字データ化することで、容量問題や規約リスク、再生互換性の悩みを回避します。
例として、YouTubeリンクをSkyScribeのような文字起こしサービスに貼り付ければ、動画をダウンロードすることなく即座に正確なタイムスタンプ付きの分割済みテキストを取得できます。これなら字幕抽出後の整形作業に費やす時間を大幅に省けます。
FFmpegによる変換が必要になるケース
実際の動画編集に使うためにMP4形式に変換が必要な場合もあります。その際はFFmpegを使って、WebM/VP9やMKV/AV1をMP4/H.264へリマックスまたはトランスコードします。しかし、AV1+DASH配信が主流になったため、変換は以前より複雑です。
- 歪み回避のために
-vf scale=-2:-2のようなフィルタでアスペクト比を補正する必要がある場合があります - SAR値のずれによるメタデータ修正が必要になることも
yt-dlpのナイトリービルドで形式仕様が変わり、古いFFmpeg設定が通用しなくなることもあります
結果として変換工程は脆くなり、字幕目的のMP4化よりもURLから直接文字起こししたほうが効率的というケースが多くなっています。
実用的な選択肢:文字起こしを最初に
以前はyt-dlpでMP4を落とせば、一度で映像も字幕も揃うのが定番でした。しかし、最終的な目的がブログやキャプション、検索可能なアーカイブといったテキスト資産なら、必要なのは動画本体ではなく文字情報です。
文字起こし先行型のワークフローでは、
- 実際には使わない高画質動画の保存不要
- 壊れた字幕や不完全なファイルの整形作業不要
- コーデックや分割配信の仕様変化に悩まされない
といったメリットがあります。動画リンクを文字起こしサービスに貼れば、話者ラベルとタイムスタンプ付きで分割済みのテキストが即生成されます。インタビューやポッドキャストなど長尺コンテンツは、この方式が特に効果的です。
さらに、字幕化や翻訳用途で行うセグメント化作業も自動化できます。手作業で字幕行に分割するのは時間がかかりますが、SkyScribeのようなサービスならバッチ処理で一瞬。断片のダウンロードや結合、整形作業とは無縁です。
時間効率を数値で見る
「早い」と言うだけでは説得力が弱いので、実験してみます。
- ダウンロード型:
yt-dlpで20分のHD動画を取得 → DASHセグメント結合 →.srt字幕抽出 → タイムスタンプ修正。この工程にはダウンロード時間を除いて約35分かかりました。 - 文字起こし型: 同じリンクを文字起こしツールに投入 → 話者付き・タイムスタンプ付きの整形済みテキストを4分以内に生成。
単純計算でも30分以上の差。10本の動画なら5時間の節約です。規約や法的なリスクを抜きにしても、この差は大きいでしょう。
テキストからの発展利用
整形済みの文字データがあれば、FFmpegなど外部ツールに触ることなく制作作業に移れます。高度な文字起こしサービスでは、
- 一括で不要語や句読点の修正
- タイムスタンプを保持したまま100以上の言語へ翻訳し字幕化
- 編集ソフトにそのまま入れられる音声同期字幕の生成
といった機能が備わっています。すべてサービス内で完結するため、コーデック問題や変換作業に時間を割く必要はありません。SkyScribeの編集支援機能なら、AI補助でプロ仕様のテキスト資産を短時間で整備できます。
まとめ:「yt-dlp mp4」をテキスト目的で見直す
かつて「yt-dlp mp4」といえば、「必要なコンテンツを素早く入手」の代名詞でした。ですが2025年現在、AV1/VP9主流化、DASH分割配信、旧来の形式指定が通用しない状況を踏まえると、その裏では複雑なダウンロード・結合・変換・字幕整形が必要です。
最終アウトプットがテキストであるなら──文字起こし主体の手順へ切り替えるのが賢明です。動画を追いかけるのはやめて、リンクだけで処理することで、容量、変換、規約リスクの負担をすべて回避できます。コマンドラインツールはこれからも重要ですが、この用途では文字起こしファーストこそが速く、軽く、壊れにくい方法です。
FAQ
1. なぜ yt-dlp でWebMが落ちてくることがあるの? YouTubeが効率重視でVP9/AV1を優先して配信しているからです。MP4コンテナでも中身がH.264とは限りません。昔の形式指定はもはや保証になりません。
2. H.264を強制する方法はある? vcodec:h264 のようなコーデックフィルタを使えますが、AV1化の影響で高解像度のH.264版が存在しないこともあります。
3. MP4形式ならどこでも再生できる? いいえ。中のコーデック次第です。AV1入りMP4は古い編集ソフトや再生機器では動かない場合があります。
4. リンクベース文字起こしは規約リスクをどう回避している? 動画をダウンロードせずURLで直接テキスト化するため、容量の負担やダウンローダー使用による規約違反の一部を避けられます。
5. それでもSRT字幕が欲しいときは? SkyScribeのようなツールで文字起こし結果から直接SRTを生成できます。タイムスタンプや分割も正しく付与され、MP4を先に落とす必要はありません。
