1. ホーム
  2. video

[解決済み] ffmpegで字幕のデコードを無効にする方法

2022-02-14 13:11:38

質問

を含むビデオファイルを変換しようとしています。 ビデオ , オーディオ 字幕 のストリームを別のフォーマットに変換します。 FFMpeg . ただし、ffmpeg は サブタイトル フォーマットで、ストリームをデコードできません。私はこの字幕ストリームを必要としないので、変換中に字幕ストリームのデコードを無効にする方法を知りたいのですが。

解決方法は?

やっと答えが見つかりました。

というオプションがあります。 -sn これは、入力ストリームからの字幕のデコードを無効にするものです。また、オーディオとビデオのデコードのための類似のオプションがあります。 -an-vn をそれぞれ作成します。

また、これを実現する別の方法があることも判明した。一つは -map オプションで、デコードするストリームを選択することができます。ということで、字幕ストリームを -map というオプションでうまくいきます。

例えば、3つのストリームを持つムービーファイルがあるとします。

  • ストリーム0:ビデオ
  • ストリーム1:オーディオ
  • ストリーム2:字幕

FFmpegの変換コマンドは、次のようになります。

ffmpeg -i <input file> -sn -vcodec <video codec> -acodec <audio codec>  <output file>

または

ffmpeg -i <input file> -vcodec <video codec> -acodec <audio codec> -map 0:0 -map 0:1  <output file>

以前のコマンドライン 選択解除 はサブタイトルストリーム(複数ある場合は、おそらくすべて)を表示し、後者は 選択 必要なストリームのみをデコードします。