gpt4 book ai didi

javascript - 如何从视频文件创建 MediaStream?

转载 作者:数据小太阳 更新时间:2023-10-29 05:10:22 26 4
gpt4 key购买 nike

大多数 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”是请求的帧速率。

现在您可以使用 RTCPeerConnection API 共享生成的流或使用 MediaRecorder API 进行记录。

请检查类似的答案:https://stackoverflow.com/a/42929613/552182


两种的可能性:

1) captureStreamUntilEnded/Demo

仅在 Firefox 上支持“mozCaptureStreamUntilEnded”。

2) 媒体源 API Demo

Chrome 和 Firefox 均支持 MediaSource API;但是,它不是实时媒体流。

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


请记住,Chromium 和 Gecko 上的 WebRTC 实现目前都支持单一但“实时”的媒体源;这意味着您不能使用从预先录制的媒体中捕获的流作为实时媒体源。此外,您不能使用伪造的 WebAudio 流作为 LIVE 媒体源。

以下代码不能在 Firefox 上运行:

preRecordedMediaStream = preRecordedMedia.mozCaptureStreamUntilEnded();
peer.addStream(preRecordedMediaStream);

您可以测试一个演示 here .


更新时间:2014 年 7 月 27 日星期日下午 1:06(UTC)

您可以使用 FileReader/WebAudio API 捕获预先录制的 mp3/ogg 文件,并将其作为实时音频源共享到 WebRTC 对等连接,与我在 this demo 中所做的一样/source code .

关于javascript - 如何从视频文件创建 MediaStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21225187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com