FFMPEG音频未排列

问题描述

我正在使用OpenTok构建实时视频平台。它会从每个用户流中生成webm文件

我正在使用FFMPEG将webm(WEBRTC)视频转换为MP4,以便在我的NLE中进行编辑。我遇到的问题是我的音频在漂移。我想这是因为用户在流中暂停了音频。这是我正在运行的命令

ffmpeg -acodec libopus -i 65520df3-1033-480e-adde-1856d18e2352.webm  -max_muxing_queue_size 99999999 65520df3-1033-480e-adde-1856d18e2352.webm.new.mp4

问题是我认为,只要用户将自己静音,就不会出现帧。但是PTS完好无损。

这来自OpenTok文档(我的WebRTC平台)

音频和视频帧可能不会带有单调时间戳;帧速率并不总是一致的。如果使用publishVideo或publishAudio发布者属性之一禁用了视频或音频轨道一段时间,则这一点尤其重要。

基于NTP编写帧表示时间戳(PTS) 捕获时获取的时间戳,由的时间戳抵消 第一个收到的帧。即使曲目已被静音,后来又取消静音, 时间戳偏移在整个持续时间内应保持一致 整个流中。在后处理中进行解码时,PTS中存在差距 在轨道的持续时间内,连续帧之间将存在 静音:容器中没有“静音”框架。

如何转换这些文件并使它们同步播放?请注意,当我在QuickTime或VLC中播放时,文件已正确同步。

编辑 我已经很接近这个命令了:

 ffmpeg -acodec libopus -i $f -max_muxing_queue_size 99999999 -vsync 1 -af aresample=async=1 -r 30 $f.mp4

但是偶尔,我会收到一个视频,音频立即开始播放,直到他们半路思考视频,他们才真正在视频中讲话。我的猜测是他们在视频会议期间将自己静音...因此在某些情况下,音频会提前5-10分钟。再次,在快速时间中表现不错,但进入了我的NLE,距离还很远。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)