テクノロジー · 実用ガイド
yt-dlpでダウンロードした動画に音声がない? 再試行の前にストリームとFFmpegを監査する
yt-dlpの出力が無音でも、ダウンロード失敗とは限りません。ファイルと詳細ログを保全し、実在するストリームを確認してから、動画のみの選択、結合の未実行、再生互換性の問題を切り分け、再ダウンロードの要否を判断します。

ダウンロードした動画が無音なら、最初に再ダウンロードするのは安全ではありません。既存の出力、分離された音声・動画ファイル、実行した正確なコマンド、詳細ログを残してください。これらを合わせれば、動画のみの形式を選んだのか、yt-dlpがFFmpegを検出して結合を試みたのか、完成ファイルに音声はあるものの特定のプレーヤーがデコードできないのかを見分けられます。
yt-dlpの文書では、多くのサイトが高品質の動画と音声を別々のストリームで配信すると説明されています。形式一覧では両者が別行に表示され、結合にはFFmpegが必要です。実際のプロジェクトIssueでも、FFmpegが導入済みでも単一の動画のみの形式IDを明示すると無音の動画になり得ることが示されています。選ばれなかった音声ストリームをFFmpegが作り出すことはできません。
このガイドは、保存する権限があるメディアを対象とします。DRMやアクセス制御の回避は扱いません。目的は、短い証拠台帳と最小限の次の行動を決めることであり、どのサイトにも通用する万能のセレクターを約束することではありません。
1. コマンドを変える前に証拠を固定する
無音の出力と、同じ基底名を持つ音声・動画の構成ファイルを作業用フォルダーへコピーします。.f137、.f140、.video、.audio、.webm、.m4aなどの接尾辞が付いたファイルを上書きしたり削除したりしないでください。名称は環境で異なりますが、残った一組を再ダウンロードせず再利用できる場合があります。
実行したyt-dlpコマンド、ページURL、yt-dlpのバージョン、OS、最初に試したプレーヤーを記録します。可能なら情報取得だけを詳細表示で再実行します:`yt-dlp -v -F URL`。`-F`の表は読み取り専用で利用可能な行を一覧し、詳細ヘッダーにはFFmpegとffprobeが検出されたかも表示されます。
サポート投稿にアカウントCookie、署名付きメディアURL、その他の認証情報を貼らないでください。証拠台帳には秘密情報を含めません。
2. すでにディスク上にあるファイルを調べる
拡張子だけでコンテナーの中身を判断せず、ストリームを調査します。ffprobeが使えるなら `ffprobe -hide_banner -show_streams -show_format "FILE"` を実行します。出力で少なくとも1本の `codec_type=video` と1本の `codec_type=audio` を探します。MP4、MKV、WebMなどのコンテナーには、両方、一方だけ、またはどちらも含まれない場合があります。
動画ストリームはあるのに音声ストリームがないなら、最初に疑うべきはプレーヤーではありません。形式選択と結合の証拠へ進みます。音声ストリームがあるなら、再ダウンロードの前に別の最新プレーヤーでも試し、ストリームが無効、非対応、または通常と異なるマッピングになっていないか確認します。
ffprobeがファイルの切り詰めや読み取り不能を報告した場合は、別の整合性分岐として記録します。壊れたコンテナーと、有効な動画のみのストリームは同じ診断ではありません。
3. 形式IDだけでなく、選択された行を読む
`yt-dlp -F URL` で、`-f` の後に指定した各IDの行を探し、音声列と動画列を読みます。video onlyと示された行には、それ単独で結合できる音声トラックはありません。audio onlyの行だけでは映像になりません。このガイドで確認したプロジェクトIssueは、FFmpegが検出済みでも動画のみのIDを明示的に選び、同じ失敗が起きた事例です。
動画のみのIDを1つ選んでいた場合は、`VIDEO_ID+AUDIO_ID` のように音声行と組み合わせるか、そのURLで何が選ばれるか確認してから `bv*+ba/b` のような文書化された方針セレクターを使います。別のサイトや投稿でも、コピーした数値IDが同じコーデックや構成を表すとは限りません。
実際に再試行する前に `yt-dlp -v -f "SELECTOR" --simulate URL` で選択をプレビューし、詳細出力に示された選択行を保存します。シミュレーションならメディアをダウンロードせずに選択ロジックを確認できます。
4. 形式選択とFFmpegの検出・結合を切り分ける
動画と音声を組み合わせるセレクターでも、通常の結合処理にはFFmpegが必要です。詳細出力で、yt-dlpが検出したFFmpegとffprobeのバージョンを表示しているか確認します。FFmpegがないと表示される場合は、yt-dlpを起動するのと同じシェルで `ffmpeg -version` と `ffprobe -version` を実行します。GUIターミナル、スケジューラー、サービスのPATHは対話シェルと異なることがあります。
FFmpegがPATH外にある場合は、yt-dlpで文書化された `--ffmpeg-location` にディレクトリーまたは実行ファイルのパスを指定します。警告を消すためだけに無関係なバイナリーの名前を変えたり、未検証の実行ファイルを入手したりしないでください。
FFmpegが見つかっているのに結合されない場合は、ログで2本の構成ストリームがダウンロードされた記録とmerger/postprocessor行を確認します。結合済みの1行を意図的に選んだコマンドなら結合は不要な場合があります。一方、動画だけを選んだコマンドはFFmpegを再インストールしても直りません。
5. 再ダウンロードの前に完全な構成ファイルを再利用する
作業用フォルダーに同一項目の完全な動画のみのファイルと音声のみのファイルが残っているなら、両方を調査します。一方に動画、もう一方に音声があり、どちらも切り詰められていないことを確認します。実験前に安定した名前へコピーしてください。
手動リマックスで既存ストリームが使えるか試せます:`ffmpeg -i "VIDEO_FILE" -i "AUDIO_FILE" -map 0:v:0 -map 1:a:0 -c copy "merged-test.mkv"`。新しい出力名を使います。MKVはストリームコピーで再エンコードを避け、多くのコーデックの組み合わせを収められるため診断用に便利ですが、すべての対象機器での再生を保証するものではありません。
`merged-test.mkv` を調べ、2つの最新プレーヤーで再生します。両ストリームを含み音が出るなら、ネットワークからの再ダウンロードは不要かもしれません。FFmpegが入力の非互換性や破損を報告したら、エラーを保全して整合性分岐へ戻ります。
6. 症状マトリクスで次の行動を選ぶ
観察したファイルごとに1行を記録します。「音声なし」はffprobeが音声ストリームを検出しなかった場合を指し、「音声は存在するが1つのプレーヤーでは無音」は別の行です。この表現により、再生側の問題を選択問題として扱うのを防げます。
選択行が動画のみで音声構成ファイルもなければ、セレクターを直してシミュレーションし、管理された再試行を1回だけ行います。対応する構成ファイルがあり正常に調査できるなら、まずコピーをリマックスします。完成ファイルに音声はあるのに1つのプレーヤーだけ無音なら、プレーヤーとコーデックの互換性を試します。ログで両ストリームを選択しても結合が失敗したなら、形式を無作為に変えず、FFmpeg検出または後処理の具体的なエラーを直します。
証拠 | 最も可能性の高い分岐 | 最小限の次の行動 完成ファイルは動画のみで、選択行もvideo only | 形式選択 | 動画+音声の方針を選択またはシミュレーションする 完全な動画・音声ファイルが別々に残っている | 結合の未実行または失敗 | コピーを調べ、新しいファイルへリマックスする 完成ファイルに両ストリームがあり、1つのプレーヤーだけ無音 | 再生またはコーデック互換性 | 別のプレーヤーで試し、音声コーデックとマッピングを確認する 詳細ヘッダーがFFmpegを検出できない | ツール検出 | 同じシェルのPATHを確認するか --ffmpeg-location を指定する 調査で切り詰めまたは無効データが報告される | ファイル整合性 | エラーを保全し、唯一のコピーを上書きしない
7. 停止条件とサポート用の記録
選択された形式行が不明、元URLが同じ項目を指さない、既存の構成ファイルをまだコピーしていない、または詳細ログから認証情報を削除していない場合は、再試行前に止めます。メディアを保存する権限がない場合も止めて許可を得てください。
サポート報告には、秘密情報を除いたコマンド、yt-dlpのバージョン、OS、関連する `-F` 行、FFmpeg検出行、ffprobeのストリーム要約、構成ファイル名、最初の結合または再生エラーを含めます。観察結果と結論は分けて記載します。
管理された修正後、完成ファイルを再度調べ、2つの最新プレーヤーで再生します。ファイル名が存在するだけではダウンロード完了の検証になりません。合格条件は、読み取り可能な動画ストリーム1本、読み取り可能な音声ストリーム1本、目的の環境での正常な再生です。
よくある質問
FFmpegを導入済みなのに、yt-dlpが音声のない動画をダウンロードしたのはなぜですか? 明示した形式IDが動画のみの場合があります。FFmpegは選択済みのストリームを結合できますが、セレクターが要求しなかった音声を追加できません。まず選択行と詳細ログを確認してください。
別々の音声ファイルと動画ファイルは削除すべきですか? 削除しないでください。まず調査してコピーします。両方が完全で同じ項目に属するなら、ネットワークから再ダウンロードせずリマックスできる可能性があります。
拡張子がMP4なら音声を含む証拠になりますか? なりません。コンテナー名から含まれるストリームは分かりません。ffprobeなどのストリーム調査ツールを使ってください。
`bestvideo+bestaudio` は常に正しいセレクターですか? 万能のセレクターはありません。現在の形式表を確認し、対象項目と再生機器に合わせてyt-dlpが文書化している選択方針とフォールバックを使ってください。
