这篇开个小差,介绍一下OpenWebrtc。
最开始接触OpenWebrtc是因为要在iOS上使用硬件264,而OpenWebrtc号称已经集成了iOS8的 VideoToolbox接口,所以就来研究一下。
http://www.openwebrtc.io/blog/2015/1/14/hardware-h264-video-on-ios
最开始以为OpenWebrtc是对Webrtc的修改版本,但是实际上不是这样。
Openwebrtc是爱立信实验室开发的,Ericsson和Google都是webrtc标准的主要制定者,两家公司分别实现了一套webrtc ,即Ericsson Openwebrtc和我们熟知的Google Webrtc。两者更是一种竞争关系。
Google Webrtc基于GIPS,而Ericsson Openwebrtc基于GStreamer。
https://bloggeek.me/ericssons-openwebrtc-project/
这里面的主要区别在于编解码器的选择,就要涉及到VP8和H264之争。
具体的文章可以参考 https://bloggeek.me/cisco-open-sourcing-h264/
经过我的测试,Openwebrtc在iOS上确实比Webrtc有优势,在开销上有大幅降低,在帧率上也有提升。
如果只做视频,可以考虑直接上手Openwebrtc,编译比webrtc容易很多,代码地址:https://github.com/EricssonResearch
不过最终我们也没有用Openwebrtc,原因是我们的语音用的是webrtc,如果视频用openwebrtc,语音也需要迁移到Openwebrtc上,但是在语音技术上,
GStreamer确实还达不到能替换GIPS的地步,GIPS的AEC和Jitter Buffer算法都比GStreamer要好太多。