知道思科将其H.264编解码器作为开源的事实,我想将其添加到Android WebRTC SDK中。我尝试使用WEBRTC API创建自定义VideoEncoder
,但发现编解码器的选择是由其名称进行的。SoftwareVideoEncoderFactory
类返回一个基于VideoCodecInfo
名称的特定编解码器的类:链接。就我而言,我这样做了:
VideoCodecInfo codecInfo = new VideoCodecInfo("H264", getDefaultH264Params(false));
SoftwareVideoEncoderFactory softwareVideoEncoderFactory = new SoftwareVideoEncoderFactory();
softwareVideoEncoderFactory.createEncoder(codecInfo);
然后将其添加到我的PeerConnectionFactory中。不幸的是,正如我认为WebRTC库不知道带有开放h264的二进制文件的位置。
问题是:我需要创建自己的类,该类将支持Open H.264,然后重建WebRTC库?如果情况不会这样,并且API可以选择这一点,那将是很棒的,但我找不到。
webrtc(https://webrtc.googlesource.com/src)使用OpenH264支持H264。但是它需要为目标平台构建。因为Android已建立在铬或铬中,但不在Android SDK上。因此,您不能使用Android SDK拥有OpenH264。您需要自己为Android构建WEBRTC,然后添加包装器类以调用本机API。您可以在Web应用程序上使用WEBRTC JS API。