我想让WebRTC编码并播放h264(NAL)流(本地文件)。在WebRTC教程中,getUserMedia用于获取本地摄像机连接到系统,我不知道getUserMedia函数是否支持捕获本地流文件,如h264流。
如果它不能这样工作,也许我应该修改WebRTC源代码(我正在研究)。问题是,如果我更改WebRTC代码,如何将新代码集成到浏览器中?把它变成插件了?
发布于 2015-01-28 06:19:21
火狐支持对<video>
元素的扩展,您可以使用它来完成这个任务。
首先,设置视频元素的源:
v1.src = "file:///...";
然后,您可以调用(当前为前缀的) mozCaptureStream
或mozCaptureStreamUntilEnded
函数来获得MediaStream
。
stream = v1.mozCaptureStream();
拟议规格。
但是,请注意,您需要确保该文件与页面的来源相同。file:///
的相同原产地规则可能会引起问题。否则,您的MediaStream
将无法访问您。确保这一点的一种方法不是直接设置位置,而是使用<input type="file">
元素加载文件。
正如其他答案所指出的,Firefox目前只支持H.264的基线配置文件。
发布于 2015-01-14 14:37:12
发布于 2015-01-15 06:23:01
您是否试图让getUserMedia返回h.264编码流?
这是我能想到的客户端的唯一选择。在服务器端,您可以使用任何您想要的代码,包括janus,kurento,powermedia,licode/lynkia,.
注意:使用其他方法(如Datachannel或WebSocket )可以传输文件,但会大大减少用户体验,因为SRTP、DTLS中不包含所有附加的恢复(和安全)机制,也不会有webRTC中特定的不正确的媒体增强,如抖动、缓冲区、netQ等.
https://stackoverflow.com/questions/27937513
复制相似问题