web-dev-qa-db-ja.com

ffmpegを使用して、ビデオと複数の字幕ストリームをMKVにコピーし、複数のオーディオストリームをAC3に再エンコードする方法を教えてください。

MKV形式のビデオファイルがあります。ビデオの品質は好きですが、FLAC形式のオーディオはスペースを取りすぎると判断したので嫌いです。

これはデュアルオーディオファイルであり、日本語と英語のオーディオを含むアニメです。また、内部にいくつかの字幕ストリームがあります。

これは私が使用するコマンドです:

ffmpeg -i "01.mkv" -c:v copy -c:a ac3 -c:s copy "test.mkv"

ただし、最初のオーディオと最初の字幕文字列のみを取得します。複数のストリームのマップオプションについてサポートが必要です。

3
Jason Murray

オーディオストリームと字幕ストリームのマッピングを指定して、最初のストリームではなくallがコピーされるようにする必要があると思います。そのためには、-map 0:a? -map 0:s? -map 0:vの前に-c:vを追加する必要があります

これはあなたのコマンドにする必要があります

ffmpeg -i "01.mkv" -map 0:a? -map 0:s? -map 0:v -c:v copy -c:a ac3 -c:s copy "test.mkv"

Mapコマンドを使用して、これらの出力を確実に出力に引き渡すように指示します。 -map 0:a:1は、オーディオストリーム番号1のみをコピーするように指定しますが、-map 0:a?は、効果的にワイルドカードを使用してすべてをコピーする必要があります。

5
Mokubai