Webrtc原生支持VP8和VP9,但是并不支持H264,这个在上一篇Webrtc和OpenWebrtc的对比中已经讲过。
那么如果我们想要使用H264怎么办呢?
可供选择的方案有两种,一种是x264,另一个是OpenH264。
OpenH264是汇编代码,在性能上比x264更强,所以我选择了OpenH264.
OpenH264是思科开源的项目,项目地址:https://github.com/cisco/openh264
这个项目的下载和编译可以说是傻瓜级的了,具体不多介绍,主要讲怎么将OpenH264集成进webrtc和使用起来。
1,集成
事实上集成264到webrtc是一个工作量很大的任务。不过还好,webrtc代码中已经帮我们做了一大部分事情(比如rtp对264的封装),我们只需要关注Codec的接口即可。
ViEEncoder中有一个方法可以注册第三方编码器:
int32_t RegisterExternalEncoder(VideoEncoder* encoder,
uint8_t pl_type,
bool internal_source);
ViEChannel中也可以注册第三方解码器:
int32_t RegisterExternalDecoder(const uin

本文介绍了如何在WebRTC项目中集成OpenH264编码器和解码器,以支持H264视频编码。通过创建VideoEncoder和VideoDecoder的子类,将OpenH264与WebRTC接口对接,并展示了注册编码器和解码器的代码示例。实测表明,OpenH264在指定设备上的性能表现良好,但需要注意OpenH264的授权费用问题。
最低0.47元/天 解锁文章
317

被折叠的 条评论
为什么被折叠?



