macOS开发MacOS开发 技术集锦

macOS开发-mac下video toolbox硬解初探

2016-12-09  本文已影响410人  wright

想利用cocoa自带的硬解VDT框架,去解码h24视频,省去ffmpeg软件带来的发热耗电问题。

调研中遇到的坑

如果是标准的264流,在读取每个naul根据头信息判断是否为sps pps

* 解码后B,P帧重排问题
  VDT解码是按照dts的顺序解的,在有B帧的情况下,解出来的数据的pts是乱序的,如果即可交给渲染器渲染,会出现常见的抖动现象。ffmpeg中Avpacket中保留有pts和dts信息,利用pts对解码之后的数据进行重排序之后进行渲染,可以消除抖动问题

* 音画同步问题
视频流根据pts和时基算出时间,和全局时钟对比保证音画同步。

* demo地址 :https://github.com/duoluo/WFHardDecodeDemo

* demo中包含的问题:没有添加opengl相应的渲染代码,只是利用NSImageView渲染了每一帧。
上一篇 下一篇

猜你喜欢

热点阅读