接收视频块并在浏览器中播放

时间:2016-11-01 18:31:24

标签: javascript stream video-streaming

基本理念:我正在创建一个应用。用户在输入字段(type="file")中选择本地文件(mp4),然后将视频流式传输给其他用户。 我想在javascript中操作该文件。然后通过(datachannels webRTC)将块发送给另一个用户,然后在块的另一边块上播放它。

据我所知,我可以使用 - MediaSource API

“组装”这些块

问题:如何使用javascript将视频拆分成块?我谷歌搜索了一段时间,我似乎找不到一个图书馆(也许我谷歌搜索错误的关键词?)。

谢谢!

3 个答案:

答案 0 :(得分:2)

使用blob#slice分割视频



// simulate a file
blob = new Blob(['ab'])
chunk1 = blob.slice(0, 1)
chunk2 = blob.slice(1, 2)

console.log(blob.size)
console.log(chunk1.size)
console.log(chunk2.size)




答案 1 :(得分:1)

我认为您感兴趣的另一件事是文件流...

要从blob获得ReadableStream,您可以使用hackish为什么要做

stream = new Response(blob).body
reader = stream.getReader()
reader.read().then(chunk => spread(chunk)) 

另一个很酷的库,否则你可以用来流式传输blob是使用Screw-FileReader

答案 2 :(得分:0)

然后使用WebTorrent分享视频得到你需要的一切......使用WebRTC ...