当前位置: 代码迷 >> 多媒体/流媒体开发 >> h264编码的asf文件怎么实现快进、快退
  详细解决方案

h264编码的asf文件怎么实现快进、快退

热度:7907   发布时间:2013-02-26 00:00:00.0
h264编码的asf文件如何实现快进、快退?

  h264编码的asf文件如何实现快进、快退? 

  用DirectShow外挂codec可以实现播放,但没法实现快进、快退。seeking接口的setRate也不管用。

  哪位朋友提供一个思路或解决办法?

 

------解决方案--------------------------------------------------------
这个需要外挂的CODEC支持才行。
------解决方案--------------------------------------------------------
需要分析文件流。
------解决方案--------------------------------------------------------
ASF文件一般都会有simple index object。可以通过解析它,得到keyframe所在文件位置以及PTS。将这些位置合并成一张索引表。快进,快退,每次的跳转可以通过查表,拿到下次跳转的位置即可。

举例:当前10秒,如果下次跳到12秒,则查索引中12秒附近keyframe的位置在哪里,查到后,file seek到哪个位置,解出一张frame。后面,继续重复这样的操作,便实现了快进。