Android WebRTC支持的编解码器

Android WebRTC支持的编解码器,android,webrtc,h.264,Android,Webrtc,H.264,我刚刚在谷歌上读到一个帖子,在使用webrtc时,荣誉和华为不可能将其编码为H264: $20h264%7C排序:日期/讨论webrtc/EA14U8FMT_k/Jn3CEG7YCQAJ 这是真的吗??? 这看起来真的很奇怪,我们不能这么做 另外,我读这篇文章是因为,我来这里是用三星(Samsung)而不是华为(Huawei)的P20对我的流进行编码。(与华为一起创建了stay PV8流,而与我测试的其他H.264设备一起创建) 以下是WebRTC中的代码,向不受支持的人证明购买华为和荣誉: f

我刚刚在谷歌上读到一个帖子,在使用webrtc时,荣誉和华为不可能将其编码为H264: $20h264%7C排序:日期/讨论webrtc/EA14U8FMT_k/Jn3CEG7YCQAJ

这是真的吗??? 这看起来真的很奇怪,我们不能这么做

另外,我读这篇文章是因为,我来这里是用三星(Samsung)而不是华为(Huawei)的P20对我的流进行编码。(与华为一起创建了stay PV8流,而与我测试的其他H.264设备一起创建)

以下是WebRTC中的代码,向不受支持的人证明购买华为和荣誉:

final ArrayList<MediaCodecProperties> supported_codecs = new ArrayList<MediaCodecProperties>();
    supported_codecs.add(qcomH264HwProperties);
    supported_codecs.add(exynosH264HwProperties);
    if (PeerConnectionFactory.fieldTrialsFindFullName("WebRTC-MediaTekH264").equals("Enabled")) {
      supported_codecs.add(mediatekH264HwProperties);
    }
    return supported_codecs.toArray(new MediaCodecProperties[supported_codecs.size()]);
 }
final ArrayList supported_codecs=new ArrayList();
支持的_编解码器。添加(qcomH264HwProperties);
支持的_codecs.add(exynosH264HwProperties);
if(PeerConnectionFactory.FieldTrialFindFullName(“WebRTC-MediaTekH264”).equals(“已启用”)){
支持的_codecs.add(mediatekH264HwProperties);
}
返回支持的_codecs.toArray(新的MediaCodecProperties[supported_codecs.size());
}
如果需要,我可以添加一段代码。
感谢阅读。

是的,这很糟糕,如果您查看源代码(函数isHardwareSupportedInCurrentSdkH264()),没有提到hisilicon,只有高通exynos


我见过有人通过在报价中强制使用sdp来解决这个问题,但它对我不起作用。

我不知道它是否会被修复,我想不会。。。
您可以切换到vp8编解码器,它具有sw编码/解码回退功能,并且可以在华为设备上工作。

我刚刚看到了这一点,所以我认为这是真的,谢谢您的回复。你知道我是否加入了webrtc代码(在函数isHardwareSupportedInCurrentSdkH264中)hisilicon限制,如果可行的话?我也会尝试强制sdpDo,你知道他们是否会尽快修复这个bug,就像他们在上面一样,或者他们不在乎