Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从视频文件创建媒体流?_Javascript_Video_Streaming_Webrtc_Mediastreamsource - Fatal编程技术网

Javascript 如何从视频文件创建媒体流?

Javascript 如何从视频文件创建媒体流?,javascript,video,streaming,webrtc,mediastreamsource,Javascript,Video,Streaming,Webrtc,Mediastreamsource,大多数Mediastream示例都是通过webCam-stream进行解释的。但我需要从本地视频文件(.webm或mp4)创建Mediastream。请告诉我。于2017年5月4日更新。:captureStreamAPI现在在Chrome和Firefox上都受支持 var stream_from_WebM_or_Mp4_File = videoTag.captureStream(); var stream_from_Canvas2D = canvasTag.captureStre

大多数Mediastream示例都是通过webCam-stream进行解释的。但我需要从本地视频文件(.webm或mp4)创建Mediastream。请告诉我。

于2017年5月4日更新。
captureStream
API现在在Chrome和Firefox上都受支持

var stream_from_WebM_or_Mp4_File = videoTag.captureStream();
var stream_from_Canvas2D         = canvasTag.captureStream(25);
参数“25”是请求的帧速率

现在,您可以使用RTPeerConnection API或使用MediaRecorder API共享结果流

请检查类似的答案:


有两种可能性:

1)CaptureStreamUntellend

它仅在Firefox上作为“
MozCaptureStreamUntellend
”支持

2)MediaSource API

chrome和firefox都支持MediaSource API;但是,它不是实时媒体流

您可以做的是读取文件块;使用任何传输网关(如WebSocket、socket.io或WebRTC数据通道)与其他用户共享它们;然后使用MediaSourceAPI尽快播放这些区块,而不是等待整个文件共享


记住,chromium和gecko上的WebRTC实现目前都支持单一但“实时”的媒体源;这意味着您不能使用从预录制媒体捕获的流作为实时媒体源。此外,您不能使用假冒的WebAudio流作为实时媒体源

以下代码在Firefox上不起作用:

preRecordedMediaStream = preRecordedMedia.mozCaptureStreamUntilEnded();
peer.addStream(preRecordedMediaStream);
您可以测试演示


更新时间:2014年7月27日(UTC)星期日下午1:06
您可以使用FileReader/WebAudio API捕获预先录制的mp3/ogg文件,并作为实时音频源共享到WebRTC对等连接,就像我在/

中所做的一样,谢谢!!现在,我正在阅读您的URL页面。我还没有读完,但它会解决我的问题。阿里加托!!您可以说,MozCaptureStreamUntellend在Firefox中无法传输预录制的文件。在演示中如何使用它:为什么?我刚刚试过这个演示,显然它真的不起作用。这仅仅是为未来的Firefox版本做的一个例子吗?我有一个问题是另一个问题。如果我得到一个从captureStream()创建并源于html元素的MediaStream。如何将此媒体流输出到本地mp4文件?