次のように ffmpeg を使用してビデオ AR を変更しようとしています。
ffmpeg -i in.mp4 -aspect 16:9 -c copy out.mp4
...これは基本的に機能しますが、ソースに存在する 2 番目のオーディオ ストリームと字幕が失われます。何も失わずにこれを行うにはどうすればよいですか?
答え1
すべてのストリームをマップする
ffmpeg -i in.mp4 -aspect 16:9 -map 0 -c copy out.mp4
FFmpegはデフォルトで唯一マップなしでソースからビデオとオーディオをストリームします。
答え2
パラメータを使用してmap
オーディオ ストリームを選択し、各ストリームを個別にコピーします。例 (コメント付きのコマンド ラインにそのまま例をコピーしないでください。最初にコメントを削除して単一行としてフォーマットするか、改行を\
記号で接続する必要があります)。
ffmpeg -i input.mp4
-map 0:0 -map 0:1 # Include both (2) audio streams
-aspect 16:9 # Change video aspect ratio
-c:v copy # Copy audio codec settings
-c:a copy # Copy audio codec settings
-c:s copy # Copy subtitles
output.mp4
または
ffmpeg -i input.mp4
-map 0:? # Include all audio streams
-aspect 16:9 # Change video aspect ratio
-c:v copy # Copy audio codec settings
-c:a copy # Copy audio codec settings
-c:s copy # Copy subtitles
output.mp4