是否可以将 H.264 软件编解码器安装到 Google 的原生 Android WebRTC 库中?
Is it possible to install a H.264 software codec to Google's native Android WebRTC libraries?
根据这个 post () 以及个人经验,最新的 Android WebRTC ('org.webrtc:google-webrtc:1.0.23546') 本机库不支持 H.264,除非有一个硬件解码器。
到目前为止,这仅在使用模拟器时影响我,但我知道它无法在某些设备上运行,因此这可能是个大问题。
Cisco 在 https://github.com/cisco/openh264 上提供了他们的 H.264 软件解码器,我想知道是否有办法使用它或其他方式以可行的方式安装软件 H.264在没有硬件解码的设备上使用 WebRTC。
此外,我似乎无法在设备上找到 H.264 硬件解码的支持矩阵。
可以使用 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"中的header,数据移动了128位。需要调整(byte) (a[i] + 128).
根据这个 post (
到目前为止,这仅在使用模拟器时影响我,但我知道它无法在某些设备上运行,因此这可能是个大问题。
Cisco 在 https://github.com/cisco/openh264 上提供了他们的 H.264 软件解码器,我想知道是否有办法使用它或其他方式以可行的方式安装软件 H.264在没有硬件解码的设备上使用 WebRTC。
此外,我似乎无法在设备上找到 H.264 硬件解码的支持矩阵。
可以使用 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"中的header,数据移动了128位。需要调整(byte) (a[i] + 128).