使用DirectShow操作H.264视频流时,如何设置视频播放速率?
看起来IMediaSeeking::SetRate不能在H.264视频解码器上工作。到目前为止,我尝试了以下解码器: Microsoft DTV-DVD解码器(Windows7自带)、FFDShow视频解码器和AxisH.264解码器。
另外,我注意到一个叫帧速率转换器的DMO。你认为在这种情况下它会有帮助吗?
谢谢。
发布于 2011-03-09 12:34:42
我这样做的一种方法是从MPEG-2传输流容器中获取H.264视频和AAC音频。我正在从HD-PVR进行实时捕获,并将捕获的输出输入MPEG-2多路分解器。然后,我使用单独的引脚分离音频和视频,让音频直接进入流缓冲引擎接收器。我将视频输入MPEG-2视频分析器过滤器,然后输入SBE接收器。
在一个单独的图表中,我从SBE源开始,然后将视频提供给Microsoft DTV-DVD解码器,然后再提供给VMR9。我发送给微软音频解码器的音频(我现在记不清是哪一个了),然后传到DirectSound设备上。
完成所有这些操作后,我可以使用SBE Source上的IStreamBufferMediaSeeking和IStreamBufferMediaSeeking2接口根据需要设置更快或更慢的速率。
如果您正在使用实时流(例如实时捕获),我希望您必须执行相同的操作来为流提供适当的缓冲区。
https://stackoverflow.com/questions/5171836
复制相似问题