我知道有很多关于它的文章,据我所知,如果是带有 h264 硬件编码器的 Qualcomm 设备,应该支持 H.264。
我很确定我的 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
知道这是为什么吗?我该如何解决?政治/许可?我应该在构建过程中启用一些标志吗?
最佳答案
如果您在 Android 中使用基于 Chromium 的默认 WebView,则将不支持 H.264 解码和编码,因为默认情况下 Chromium 不使用 ffmpeg 构建。
但是,Chrome 确实支持 H.264。
因此,您可以冒险的一种方法是构建您自己的启用 ffmpeg 标志的 Chromium WebView,并将其与您的 apk bundle 在一起。
关于android - Android 上的 WebRTC H.264 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44582456/