首页 > 解决方案 > 音频和视频不同步?

问题描述

我使用 nVLC 作为 vlc 包装器将 rtsp 视频流渲染到内存,然后为 NewFrame(音频和视频)引发事件。在捕获这些事件的类中。我使用 Accord.Video.FFMPEG.VideoFileWriter 来写入帧和音频字节(或信号)。但不幸的是,我一直在音频和视频之间有延迟。我试图追踪该延迟并提出以下建议:

1-延迟因流而异。即,一个流大约为 1800 毫秒(音频引导),另一个流大约为 3000 毫秒(音频引导也是)。

2-延迟与捕获帧和捕获音频信号之间的延迟无关。

3- 延迟与捕获视频 NewFrame 事件和捕获音频 NewFrame 事件之间的延迟无关。

4-延迟与互联网连接速度无关。

解决此问题的任何帮助将不胜感激。

谢谢

标签: c#synchronizationlibvlcrecordingaccord.net

解决方案


我得到的最好的镜头是使用音频流作为主导流,即在帧时间大于或等于第一个记录的音频帧之前,永远不要从视频流中记录帧。捕获时声音帧的 PTS(Presentation Time Stamp),但图像的 PTS 是根据 player.Time (ms) 计算的,并使用每次 player.Time 更改时重置的秒表(在 TimeChanged事件)。


推荐阅读