2016-12-10 13 views
0

私はこの作品をしばらく作ろうとしていましたが、後でオーディオ/ビデオを同期させる方法を見つけることができないようです連結、私はいくつかのソリューションを検索し、テストしましたが、それを動作させることができませんでした。FFMPEG - C# - 連結後に特定のビデオのオーディオとビデオの同期が外された

ここは私が今やっていることです。すべてが機能していますが、何か間違っている必要があります。私がしたいように、私がしたい動画が、私は-safe 0を使用して(一緒にビデオを連結しようとした「切断/分割」の後

だからまず、私は私が

System.Diagnostics.Process.Start(ffmpegPath, "-i " + 
video.Path + " -ss " + StartTime + " -t " + Duration + " " + video.Output); 

をしたいビデオに動画を分割しましたそうでなければ)働いていなかった絶対パスを使用するように、:その後

System.Diagnostics.Process.Start(ffmpegPath, 
"-f concat -safe 0 -i " + txtFile + " C:\\Downloads\\Build\\" + rdn.Next(0,1000) + ".mp4"); 

、私はオーディオ/ビデオが同期していつかだった気づいたので、私はthis

を検索し、見つかりました

System.Diagnostics.Process.Start(ffmpegPath, 
"-i " + video.Output + " -af apad -c:v libx264 -shortest -avoid_negative_ts make_zero -fflags +genpts -report " + padding); 

をして、再びそれを構築するが、それは同じオーディオDESYNCを持つことになった:

ので、私はそれらを分割した後、パッドにすべてのビデオを決めました。

私は初めてmp4sとFFMPEGを使って作業しています。私は何か不足していると確信しています。

+0

はhttp://video.stackexchange.comをお試しください – apocalypse

答えて

0

私はこの記事を作った直後に答えを見つけたようだ(100%確かではなく、もう少しテストをしなければならないだろうが、私はそれをどのように見つけたのか分からないけど、私はしたし、私はうれしく思っています。

彼の答えはhere

である私は、適切 をCONCATするオーディオおよびビデオコーデック同じフレームサイズが心配でしたが、私は、フレームレートを忘れてしまいました。

最初のサンプルビデオ(私の質問で言及した)のフレームレートは12、 で、2番目のビデオフレームレートは25でした。それが同期の原因となるのは です。

さて、私は(25 -r)これら2本のビデオにフレームレート25を設定しているし、それが魅力のような 作品だ:)

以下

は完全な変換コードです:「

ffmpeg.exe -i f:\ 1.avi "-r 25 -af apad -vfスケール= 1280:720 -crf 15.0 -vcodec libx264 -acodec aac-ar 48000 -b:192kコーダ1 -rc_lookahead 60 -threads 0 -shortest - avoid_negative_ts make_zero-fllags + genpts 01.mp4近い将来私のようなものを助けてくれることを願っています。

よろしく

関連する問題