2014-02-21 23 views
6

我已经实现了从MJPEG文件中提取JPEG格式帧的MJPEG/AVI1分析器。我可以使用JavaScript做一些实时媒体解码吗?

我可以在DOM上使用提取的JPEG文件绘制图像,<canvas>元素,我也可以使用context.getImageData从其中导出图像像素数据。

我可以制作某种视频流并实时添加这些提取的数据,以便用户可以播放它没有很长的延迟?我知道我可以手动进行的<视频>般的UI与<帆布>元素,但我发现,媒体来源扩展目前允许本地<视频>标签接收编码的字节流格式。我很好奇,如果我能用原始像素数据做到这一点。

回答

2

这是一个有趣的想法。

所以首先,你需要创建到mp4初始化段。从那里你可以将解码后的jpg YUV帧转换为h.264帧。然后从帧中创建一个MSE片段。但是,您不需要对h.264进行“编码”,您可以使用原始切片,如本文所述。

http://www.cardinalpeak.com/blog/worlds-smallest-h-264-encoder/

这应该都是在javascript可行的,在浏览器中,具有足够的工作。

+0

这是......太棒了!我不知道H.264可以是无损的。一般的实时解码框架可能是可行的,如果它真的有效。有没有类似的音频文件解决方案?也许它可以(最后)在Internet Explorer中添加一个类似本机的WAV支持。感谢您的信息。 –

+0

我不认为原始的PCM工程在碎片ISO容器内工作。但它是否支持.mov,并且mp4/iso是派生格式。所以浏览器可以支持它(但我很怀疑它)。如果它是非实时解决方案,mkv将支持PCM。 – szatmary

相关问题