是否可以在Google的本地Android WebRTC库中安装H.264软件编解码器?

时间:2018-07-16 14:50:09

标签: android webrtc openh264

根据这篇文章(How to detect Android H.264 hardware acceleration capability)以及个人经验,用于WebRTC的最新Android本机库('org.webrtc:google-webrtc:1.0.23546')不支持H.264,除非存在有硬件解码器。

到目前为止,这仅在使用仿真器时才对我产生影响,但我知道某些设备将无法使用,因此这可能是一个大问题。

Cisco在https://github.com/cisco/openh264上提供了其H.264软件解码器,我想知道是否存在使用该方法或以其他方式安装可以与WebRTC一起使用的软件H.264的方法。在没有硬件解码的设备上。

此外,我似乎找不到用于设备上H.264硬件解码的支持矩阵。

1 个答案:

答案 0 :(得分:0)

可以使用JCodec完成。 Google提供了使用Java创建自定义解码器的权限。

-Decoder.decodeFrame已经是YUV格式

-Y,U,V的数据可以在frame.getPlaneData(0/1/2)

中找到

-StrideY / U / V是frame.getWidth()>> frame.getColor()。compWidth [planeIndex]

-根据“ org.jcodec.common.model.Picture”中的标题,数据移动了128。需要按(字节)(a [i] + 128)进行调整。