我知道有很多关于它的文章,从我的阅读中可以了解到,如果H.264是带有h264硬件编码器的Qualcomm设备,则应该支持它。

我很确定我的Nexus 5X符合条件,并且日志可以确认:

I/org.webrtc.Logging: MediaCodecVideoEncoder: Found target encoder for mime video/avc : OMX.qcom.video.encoder.avc. Color: 0x15. Bitrate adjustment: NO_ADJUSTMENT


但它不会显示在SDP中:

m=video 9 UDP/TLS/RTP/SAVPF 96 98 100 127 97 99 101
a=rtpmap:96 VP8/90000
a=rtpmap:98 VP9/90000
a=rtpmap:100 red/90000
a=rtpmap:127 ulpfec/90000
a=rtpmap:97 rtx/90000
a=rtpmap:99 rtx/90000
a=rtpmap:101 rtx/90000


知道为什么会这样,我该如何解决?政治/许可?我应该在构建期间添加一些标志吗?

最佳答案

如果您在基于Chromium的Android中使用默认的WebView,则解码和编码都将不支持H.264,因为Chromium默认情况下不使用ffmpeg构建。

Chrome浏览器确实支持H.264。

因此,您可以尝试的一种方法是在启用ffmpeg标志的情况下构建自己的Chromium WebView并将其与apk捆绑在一起。

10-04 20:02