2016-07-14 120 views
0

我有2個.webm文件,一個包含視頻,另一個包含音頻。我需要同步生成一個包含視頻和音頻的單個mp4文件。這是我嘗試做:ffmpeg使用原始格式時音頻和視頻不同步

ffmpeg -ss 00:00:00.33 -i user_17624_1-1762.webm -i user_17624_2-1767.webm -r 15 output_good.mp4 

-ss通過0.33s是因爲視頻音頻之前啓動0.33s - 1762和1767的幀數,所以他們是5幀關閉,每秒15幀。

這樣做,我得到了一個完美的錄音,其中視頻和音頻在整個文件中同步。

但事情是,我需要做一些視頻幀的更改,我這樣做我的C應用程序操縱原始視頻流中的字節,所以我不能這樣做,我需要首先將代碼轉碼爲RAW,然後進行操作,然後將原始編碼的mp4編碼。從鏈中刪除我的C應用程序,以確保它不是問題,把它歸結爲:

ffmpeg -ss 00:00:00.33 -i user_17624_1-1762.webm -an -r 15 -f rawvideo -pix_fmt yuv420p -s 1920x1080 ./video.pipe & 
ffmpeg -i user_17624_2-1767.webm -vn -ar 44100 -ac 2 -f s16le -acodec pcm_s16le ./audio.pipe & 
ffmpeg -an -r 15 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -i ./video.pipe -vn -ar 44100 -ac 2 -f s16le -acodec pcm_s16le -i ./audio.pipe -r 15 output_bad.mp4 

造成肯定的,記錄有音頻和視頻是彼此的路要走,而且似乎也是波動過文件持續時間。

我在做什麼這些視頻轉碼錯誤?請幫我:)

米哈伊爾

+0

當然,我想第一件事情就是這些,WebM文件轉換成mp4文件,然後將它們用於轉化成生...沒有幫助。即使使用-g 1。 –

回答

0

答案被證明是簡單,-async 10000