gpt4 book ai didi

c++ - 使用 samplegrabber 过滤器的音频/视频同步问题

转载 作者:行者123 更新时间:2023-11-28 06:55:12 25 4
gpt4 key购买 nike

我正在使用 DirectShow 播放电影。我修改视频/音频数据并在我的应用程序中自行呈现所有内容。因此,我使用 SampleGrabber 过滤器和 NULL 渲染器。

当我倒回电影(使用 IMediaSeeking 界面)时出现问题 - 音频明显滞后于视频(滞后几秒)。

Movie graph with sample grabber filters

我了解 a/v 同步基础知识和时间戳。我知道渲染过滤器会根据呈现时间丢帧。

但我想 SampleGrabber 过滤器只是接收所有数据?是否可以在我的 SampleCB 回调中获取已同步的音频/视频数据?

最佳答案

在样本采集器回调中,您会收到带有时间戳的数据。如果您保留获得的时间戳,并且确保在任何时间在所有流上播放具有相同时间戳的数据方面使用这些时间戳同步数据播放 - 那么您的同步将保持良好状态.

样本采集器接收所有数据,但这并不意味着这些数据以同步顺序到达采集器。匹配时间戳是绝对必要的。由于视频可能会被暂时压缩而音频通常不会,因此您的搜索可能会在视频段上获取额外的预卷数据,而您可能没有正确处理这些数据。

关于c++ - 使用 samplegrabber 过滤器的音频/视频同步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23275035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com