chromium-blink与webrtc的探索记录

上一篇博客之后,我已经切换到chromium58了,用 appr.tc 的H264流也没啥问题了。但是解析到我们自己的源,还是跪了,不停的报这两个错误

No decodable frame in 3000 ms, requesting keyframe
Can't send rtcp if it is disabled

check了一下buglist,最接近的问题描述是:

https://bugs.chromium.org/p/webrtc/issues/detail?id=8074
https://chromium.googlesource.com/external/webrtc/+/26b48043581735eed6e36b95fae6f5b1bcf8cfb5^!/

但是更频繁的请求好像和这个没啥关系,也许能换个错误码。。。

然后我就哼哧哼哧的把代码更新上去了。然后发现 webrtc/base 被重命名到 webrtc/rtc_base 了,改了一波。编译还是报错。

In file included from ../../third_party/libvpx/source/libvpx/vpx/./vp8.h:33:0,
                 from ../../third_party/libvpx/source/libvpx/vpx/vp8cx.h:18,
                 from ../../third_party/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h:21,
                 from ../../third_party/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:12:
../../third_party/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'int webrtc::VP9EncoderImpl::InitAndSetControlSettings(const webrtc::VideoCodec*)':
../../third_party/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:452:31: error: 'VP9E_SET_ROW_MT' was not declared in this scope
   vpx_codec_control(encoder_, VP9E_SET_ROW_MT, 1);
                               ^
../../third_party/libvpx/source/libvpx/vpx/././vpx_codec.h:397:31: note: in definition of macro 'vpx_codec_control'
   vpx_codec_control_##id(ctx, id, data) /**<\hideinitializer*/
                               ^
../../third_party/libvpx/source/libvpx/vpx/././vpx_codec.h:397:39: error: 'vpx_codec_control_VP9E_SET_ROW_MT' was not declared in this scope
   vpx_codec_control_##id(ctx, id, data) /**<\hideinitializer*/
                                       ^
../../third_party/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:452:3: note: in expansion of macro 'vpx_codec_control'
   vpx_codec_control(encoder_, VP9E_SET_ROW_MT, 1);
   ^
[581/2268] CXX obj/third_party/webrtc/p2p/rtc_p2p/basicpacketsocketfactory.o
ninja: build stopped: subcommand failed.

想着VP9没啥用,直接给注释掉了。下一个报错是librtsp的报错,webrtc中增加了一个新字段,但是我的库还是用旧的库,编译进度大概在 37/2000 。目前可以确定的是,这个Issue的修正是在chrome62上修了,但是和我遇到的问题是不是同一个问题还不知。

查了一下ks32的修改记录,只有几百行修改,我。。考虑去。主动去合并下代码好了。。。

如果你也需要升级,参考我这篇文章 有如下修改:

# gclient config --name src/xwalk https://github.com/ks32/crosswalk.git@origin/ks_chromium_58

gclient config --name src/xwalk https://github.com/wuyisheng/crosswalk.git@origin/chromium_64

希望这是这个专题的最后一篇文章


2019.5.7号更新

通过chrome浏览器验证了chromium64的内核也是无法解析我们的视屏流的。原因在于我们用了 unified-plan/

chromium65 的支持现在是一片空白了。

没完~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值