如何解决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 举报,一经查实,本站将立刻删除。