【发布时间】:2021-03-22 03:50:37
【问题描述】:
我有一个视频,我将单独的视频/音频流拆分出来,然后用 MP4Box 冲刺,然后我用媒体源扩展播放它们,并将字节范围附加到 MPD 文件的视频/音频源缓冲区。一切都很好,但是我有一个视频的音频延迟了大约 1.1 秒。我无法让它同步,而且音频总是在视频之前播放。
目前我正在尝试设置audioBuffer.timestampOffset = 1.1 并使其完美同步。我现在遇到的问题是视频拒绝播放,除非音频源缓冲区有数据。所以视频马上停了下来。如果我跳过几秒钟(超过偏移量)一切正常,因为视频/音频都被缓冲了。
有没有办法解决这个问题?要么让它在没有加载音频的情况下播放,以某种方式用静音填充音频缓冲区(我可以使用 Web Audio API 生成一些东西)吗?在ffmpeg中为音频文件添加静音?还有什么?
我首先尝试使用 ffmpeg -i video.mkv -map 0:a:0 -acodec aac -af "adelay=1.1s:all=true" out.aac 在 ffmpeg 中添加延迟,但似乎没有任何改变。我做错了什么吗?有没有更好的方法来解复用音频,同时保持与视频在容器中时完全相同的时间,这样我就不必担心延迟/偏移?
【问题讨论】:
标签: javascript ffmpeg media-source