简体   繁体   中英

Does Google WebRTC support Cisco Open H.264?

Knowing the fact that Cisco has its h.264 codec made as open source I wanted to add it to the Android WebRTC SDK. I tried to create custom VideoEncoder using the webRTC API but I found that the choice of the codec is made by its name. The SoftwareVideoEncoderFactory class returns a class which represents the specific codec based on VideoCodecInfo name: link . In my case, I did it like that:

    VideoCodecInfo codecInfo = new VideoCodecInfo("H264", getDefaultH264Params(false));
    SoftwareVideoEncoderFactory softwareVideoEncoderFactory = new SoftwareVideoEncoderFactory();
    softwareVideoEncoderFactory.createEncoder(codecInfo);

then added it to my PeerConnectionFactory. Unfortunately, as I suppose the webRTC library doesn't know where the binary with open h264 is.

The question is: do I need to create my own class which will support Open H.264 and then re-build the webRTC library? Would be great if that won't be the case and the API would have an option to make this but I cannot find it.

WebRTC ( https://webrtc.googlesource.com/src ) supports h264 using openH264. but it needs to be build for target platform. For Android is has been build in chrome or chromium but not on the Android SDK. so you can't have openH264 using Android SDK. you need to build WebRTC for android yourself and then add the wrapper class to call the native apis. You can use WebRTC JS API on a web application thou.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM