首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

直播系统开发:关于直播源码中美颜SDK的作用

美颜、美型、滤镜等功能已经是拍照类APP的标配,直播系统开发中也更是离不开这些功能。拍照拍视频或者开启直播时,总希望能够加一些萌萌的兔耳朵,或者一些更复杂的3D人脸面具等特效。但是由于这类技术涉及人脸追踪,以及图形渲染等技术,想要自己从零开始研发,调试会消耗大量的时间和成本,而所有成解决方案的服务一定都是成本最低的,那么拍摄类、视频社交类APP都会使用第三方SDK来实现这些功能。通过加入美颜SDK让直播源码作为直播行业生命力具体的展示。我们来看一下加入美颜SDK后,直播源码作为一块基石,是怎样得到广大用户的喜爱的?

03

如何在视频采集流水线中增加滤镜处理节点?丨有问有答

OpenGL2)新开 buffer 同时新开线程时,对应的流水线变为:线程 1:采集 → buffer 1 → 线程 2:滤镜 → buffer 2 → 主线程:渲染。这种方案当然是更好的方案,它使得各个模块可以并行,而且性能兼容性更好。因为在实际需求中,我们采集后的图像数据处理,除了滤镜,可能会增加人脸识别、磨皮、美白、特效等更复杂功能,这时候处理耗时就可能较长了,放在主线程可能卡住主线程,更可能会影响到渲染的帧率。此外,我们采集的图像数据除了预览渲染,一般是需要编码封装后存储本地或推流上传网络的,编码模块的速度与特效处理的速度不匹配时,这就需要增加 buffer 了。 这样一来整个流程就相当于两个生产者消费者模型了,而每个 buffer 就是对应的生产者和消费者线程的临界区。保证线程安全其实就是确保生产者线程和消费者线程对 buffer 数据的互斥访问,这里使用信号量即可。在 iOS 中可以用 dispatch_semaphore_t。

01
领券