![](/img/trans.png)
[英]how to improve the quality of resultant video when merging audio-video with ffmpeg?
[英]Slow audio-video sync drift when merging wav and mp4 with ffmpeg
我有一个mp4
文件,只有一个视频流(没有音频)和一个wav
音频文件,我想用ffmpeg
添加到视频中。 会议期间同时录制了音频和视频,前者来自PC上的混音器输出,后者来自数字摄像机。
我正在使用这个ffmpeg
命令:
ffmpeg -i incontro3.mp4 -itsoffset 18.39 -i audio_mix.wav -c:v copy -c:a aac final-video.mp4
我正在使用-itsoffset 18.39
选项,因为我知道18.39s是视频 - 音频延迟。
我遇到的问题是,在输出文件中,虽然音频与开头的视频完全同步,但在电影中它会慢慢地失去同步 。
如果视频文件上的ffprobe
输出为:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'incontro3.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.25.100
Duration: 00:47:22.56, start: 0.000000, bitrate: 888 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 886 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
并且音频文件的ffprobe
输出是:
Input #0, wav, from 'audio_mix.wav':
Metadata:
track : 5
encoder : Lavf57.25.100
Duration: 00:46:32.20, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
我正在使用最新的ffmpeg
Zeranoe windows build git-9591ca7 (2016-05-25)。
感谢您对任何帮助/想法的期待!
更新1:看起来问题是视频 - 音频合并的上游,并且可能是由摄像机生成的
MTS
文件串联和转换为
mp4
视频。
随着我在理解方面取得任何进展,我会跟进...
更新2:问题不在于相机生成的MTS
文件的初始合并。 或者,至少,如果我将它们与cat
或ffmpeg -f concat
合并,它就会发生相同的情况
更新3:根据@Mulvya的建议,我观察到漂移率是恒定的(至少就我所能用眼睛判断而言)。 我还尝试用另一个软件叠加A / V轨道,漂移完全相同,从而排除了ffmpeg
作为罪魁祸首。 我(坏)的感觉是问题可能与数码摄像机的内部时钟和用于录音的笔记本电脑的运行速度略有不同(请参阅此处我刚发现的相同问题的报告)。
由于漂移率是恒定的,您可以使用FFmpeg滤波器的组合来重新定时音频。
ffmpeg -i audio_mix.wav -af asetrate=44100*(10/9),aresample=44100 retimed.wav
这里, 44100*(10/9)
表示实际没有。 表示1秒声音的样本,即如果在原始WAV播放100秒后,刚刚听到的音频是第90秒,那么样本消耗率应该增加10/9
。 这将产生非常规的采样率,因此添加了样本以将其重新采样回标准速率。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.