4

それぞれ 20 個のバッチ サイズでビデオをマージしたいと考えています。Linuxマシンを実行しています。ビデオは mp4 形式で、中程度の品質です。オーディオストリームが欠落しているものもあります。これまでのところ、ffmpeg、mencoder、cvlc/vlc、および MP4Box を試しました。バッチ処理を行っているため、これを実現するコマンド ライン スクリプトを作成したいと考えています。

主な問題は、私が試したソリューションのいくつかは 2 つのビデオでうまく機能し、オーディオ ストリームを含むビデオでうまく機能するものもあれば、ビデオ セットの他のサブセットでうまく機能するものもあるということです。ただし、このタスクの包括的なソリューションを見つけることができませんでした。

4

3 に答える 3

1

FFmpegは、 concatフィルターを使用してコマンド ラインからこれを実現するための最良の方法です。これを見つける前に20以上の異なる方法を試しましたが、魅力のように機能します. ビデオに音声がない場合、コマンドは次のようになります。

ffmpeg -i vid-1.mp4 -i vid-2.mp4 -filter_complex '[0:v] [1:v] concat=n=2:v=1 [v]' -map '[v]' output.mp4

ビデオに音声がある場合、コマンドは次のようになります。

ffmpeg -i vid-1.mp4 -i vid-2.mp4 -ar 44100 -ab 64k -ac 1 -c:a libmp3lame -filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v]' -map '[v]' -map '[a]' output.mp4

もちろん、オーディオのビットレートやチャンネルなどを他の数値に置き換えることもできますが、これらは非常に標準的なものです。

于 2015-11-06T03:11:48.810 に答える