繁体   English   中英

将wav和mp4与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文件的初始合并。 或者,至少,如果我将它们与catffmpeg -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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM