zoukankan      html  css  js  c++  java
  • iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):4 同步编码

    本文档描述Video Toolbox实现同步编码的办法。

    Video Toolbox在头文件描述了编码方式为异步,实际开发中也确实为异步。

    This function may be called asynchronously, on a different thread from the one that calls VTCompressionSessionEncodeFrame.

    然而,有些场合,我们希望使用同步处理。使用如pthread_mutex_t、dispatch_semaphore_t等方式在VTCompressionSessionEncodeFrame与编码回调函数中作线程同步并不理想,甚至导致死锁。GCD串行队列也并不像苹果说的那么好用,特别是预览播放器下快速接收网络数据包并解码,会堆积Block,性能反而没pthread好。

    NSRecursiveLock、OSSpinLockLock、Barrier等方式我没尝试。

    不过,我用另一个方式实现了同步编码,强制Video Toolbox发射出规定时间内的缓冲区的数据,配合semaphore即可。



    文/熊皮皮(简书作者)
    原文链接:http://www.jianshu.com/p/0bb7e30e57d8

  • 相关阅读:
    VirtualApp
    python安装包遇到问题解决
    NMS_非极大值抑制的作用
    解释残差结构的有效性
    使用tcpdump命令抓取sql
    linux进程绑定cpu内核
    查询表空间占用情况
    数据库表分区
    Windows下如何使用ab命令做并发测试
    TCP协议
  • 原文地址:https://www.cnblogs.com/isItOk/p/5964636.html
Copyright © 2011-2022 走看看