我看到一个引人注目的视频,导致我测试的采集卡关闭了音频/视频同步。我的图形拓扑结构如下。
Video Source -> Sample Grabber -> Null Renderer
Audio Source -> Sample Grabber -> Null Renderer
使用H264压缩视频中的样本,使用FAAC压缩音频。此拓扑和应用程序代码适用于我过去使用过的捕获卡。但是我看到我正在测试的当前卡的延迟。当然我认为它与卡本身有关。所以我检查了一下,发现使用Open Broadcaster,VLC或GraphEdit中的相同图形来捕获此卡时没有视频/音频异步。
这向我表明问题与我如何构建图表有关。然后我尝试使用IAMBufferNegotiation
和SetStreamSyncOffset
调整缓冲区大小,但没有成功。
如果我对视频应用500毫秒延迟(例如videoTimeStamp = videoTimeStamp - 500
),则同步几乎是完美的。这很奇怪,因为我希望音频中的延迟比视频更多。
答案 0 :(得分:1)
视频和音频同步完全与时间戳有关。视频或音频支路可能会延迟数据处理,但它是显示原始和预期同步的时间戳。
可能的原因包括: