2016-07-06 9 views
1

私は2つの部分でビデオをカットしようとしていますが、ffmpegで再組み立てしようとしていますが、最終出力にはセグメントが合致する小さなオーディオグリッチがあります。 0時00分02秒-async 1 1-1 -t 0時00分00秒-ssffmpegはビデオを連結するときにオーディオギャップを残します

のffmpeg -i 1.mp4:私は2つの部分にビデオ1.mp4を分割するには、次のコマンドを使用しています。 MP4

と午後12時00分02秒-async 1 1-2.mp4

-t午後12時00分02秒-ss

のffmpeg -i 1.mp4私は一度私は2つの部分を持っています:私は一緒に戻ってconcateningです:

のffmpeg -f連結-i files.txt -c output.mp4コピー

files.txtは正しく両方のファイルを一覧表示されます。誰が問題がどこにあるのか教えてくれますか?

おかげ

答えて

1

グリッチが原因の間に現れてオーディオpriming sampleに思われます。

あなたは再エンコード区間をしているので、あなたは1つのコマンドでこれを行うことができます:

ffmpeg -i 1.mp4 -filter_complex 
       "[0]trim=duration=2[v1];[0]trim=2:4,setpts=PTS-STARTPTS[v2]; 
       [0]atrim=duration=2[a1];[0]atrim=2:4,asetpts=PTS-STARTPTS[a2]; 
       [v1][a1][v2][a2]concat=n=2:v=1:a=1[v][a]" 
     -map "[v]" -map "[a]" output.mp4 
+0

おかげMulvya。私はこのコマンドを実行し、それはオーディオギャップなしで私のオリジナルの6秒のビデオから4秒のビデオを作成しました。私は、オーディオプライミングサンプルが何であるか理解していると思いますが、私はあなたのコマンドのパラメータを理解していません。このコマンドをソース1-1.mp4と1-2.mp4として使用する方法を説明するか教えてください。どうもありがとう。 – Rafael

+0

まず、ソースのビデオストリームを2回分割します。 'trim = duration = 2'は' 0'からの開始を意味し、2秒のセグメントを分割します。 'trim = 2:4'は' t = 2'から 't = 4'への分割を意味します。私はフィルタのオーディオバージョンを使用してオーディオと同じことをします。次に、[concat](https://ffmpeg.org/ffmpeg-all.html#concat-3)フィルタを使用してこれらの部分を結合します。必要がない限り、中間ファイルルート( '1-1.mp4、1-2.mp4')を通過することはお勧めしません。 – Mulvya

+0

そして、setptsフィルタは、カットされたセグメントのタイムスタンプをリセットします。 FFmpegが一般的にどのように動作するかによって必要です。 – Mulvya

関連する問題