【问题标题】:Read webm video from blob on firefox从 Firefox 上的 blob 中读取 webm 视频
【发布时间】:2014-11-23 17:17:40
【问题描述】:

我正在测试 WebRTC API。更准确地说是网络摄像头部分。

所以我阅读了 W3C 草案并在 Firefox 中使用它从网页中记录自己。它有效(不如预期的那么好,但确实有效)。我的意思是我可以下载我的计算机可以读取的 webm 格式的视频。

我想在将视频发送到服务器之前对其进行预可视化。所以我做了这个代码:

var url = URL.createObjectURL(e.data);
video.innerHTML = '<source src="' + url + '" type="video/webm"></source>';
video.play();

这根本不起作用。我的网页上只有一个空白元素...

有什么建议可以让它发挥作用吗?

【问题讨论】:

    标签: html firefox video blob webrtc


    【解决方案1】:

    问题是 Firefox 的问题。使用 e.data 我们得到一个 blob,但我们必须重新定义一个新的 blob 才能使其工作:

    var new_blob = new Blob([e.data], { type: e.data.type });
    

    请注意,目前(2014 年 9 月 30 日)firefox 不支持官方视频编码,并且规范处于草案中,未经 W3C 验证。

    【讨论】:

    • 今天这个bug仍未解决。您的解决方案在 FF 42.0a2 中适用于我。谢谢
    【解决方案2】:

    问题是我不明白你在 e.data 中得到的对象是什么,你也可以检查 mime 是否正确console.log(e.data);;console.log(e.data.type);,这些输出是什么,

    你也试过这个,firefox webm capture,他们会显示视频的预览。

    【讨论】:

    • mime 类型没问题(按照你的建议,我在 e.data.type 的 blob 上有它)。谢谢你的剧本,我去看看他怎么样了。
    猜你喜欢
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多