2016-07-14 127 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