我正在使用 kurento 的主 git 来制作 WebRTC 到 RTP 的桥接器。
MediaPipeline pipeline = kurento.createMediaPipeline();
WebRtcEndpoint webRtcEndpoint = new WebRtcEndpoint.Builder(pipeline).build();
HttpGetEndpoint httpEndpoint=new HttpGetEndpoint.Builder(pipeline).build();
org.kurento.client.Fraction fr= new org.kurento.client.Fraction(1, 30);
VideoCaps vc= new VideoCaps(VideoCodec.H264,fr);
httpEndpoint.setVideoFormat(vc);
AudioCaps ac= new AudioCaps(AudioCodec.PCMU, 65536);
httpEndpoint.setAudioFormat(ac);
webRtcEndpoint.connect(httpEndpoint);
尽管如此,输出视频播放仍被编码为 webm 。我也尝试过各种其他方法(使用 RTP ENdpoint、使用 Gstream 过滤器、使用 VLC HTTP 到 RTP 流媒体)。但是没有方法给我一个可以在 safari 和 IE 上播放的视频,即 H264 编码。请求媒体开发者和kurento团队帮助。
Safari 和 IE 不支持 RTP/H.264。从您的代码中,我了解到您正在尝试创建一个 WebRTC 来标记桥。在这种情况下,HttpGetEndpoint 将通过 HTTP 伪流提供媒体。然而,Kurento 仅提供 WebM 格式的实时 HTTP 伪流类型。据我所知,Safari 和 IE 都不支持 WebM,因此您想要做的事情不会独立于您强制 HttpGetEndpoint 的上限。您只能看到它在 Chrome、Fireforx 或其他支持 WebM 的浏览器上运行。
唯一的解决方案可能是 HttpGetEndpoint 提供 MP4 格式(或 IE 和 Safari 支持的任何其他格式)的媒体,但以该格式创建实时流非常棘手,我们(Kurento 团队)没有时间实现该功能并不在我们的短期路线图中。
然而,我们有许多用户使用 RTMP 将 WebRTC 与 IE 和 Safari 集成。在这种情况下,您需要将 Kurento 与支持 RTMP 的媒体服务器集成(这可以通过不同的方式完成),然后让 RTMP 媒体服务器向浏览器提供媒体服务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)