我需要从浏览器动态播放MPEG-1文件。将它们上传到YouTube或转换视频不是一个选项。
我如何才能做到这一点?我已经看到了这一点,但答案不适用于MPEG-1。有办法在HTML5中播放mpeg视频吗?
在Chrome浏览器中,视频标签对文件不起作用。
<video class="fullscreen" autoplay>
<source src="video/test2.mpeg">
</video>
它只是显示一个黑框和结巴的噪音。我可以确认视频没有损坏,因为我可以用VLC播放它。我只需要在一个特定的浏览器上工作(不一定要交叉兼容)。插件也可以,只要我不需要转换视频。虽然我宁愿避免使用它们。
一些浏览器不支持旧格式的 <video>
故意限制网络上蹩脚的、传统的和可能不安全的视频格式的数量。
唯一的组合,有一个体面的工作机会是 H.264 (MP4) 和 WebM (或Ogg Theora),所以你 必须 转换视频,为了获得良好的浏览器支持,你至少要生成这两种格式。
好消息是,现代编解码器比MPEG-1更有效,所以你会得到更小的文件。
其他的选择可能是。
给用户一个直接链接到视频,这样他们就可以下载它,并在外部播放器中播放,比如VLC。
使用oldschool嵌入视频 <object>
元素,并希望一些浏览器仍然有可以播放视频的传统插件(但例如Chrome最近已经取消了对所有插件的支持,除了几个专门为Chrome自己的API编写的插件)。
使用Emscripten(asm.js)将MPEG-1解码器编译成JavaScript,自己将视频解码成 <canvas>
. 现在的JS已经足够快了,可以做到这一点(虽然会很快耗尽移动设备的电池,而且一个糟糕的视频编解码器加上额外下载的JS解码器会大量浪费带宽)。
你可以使用JSMPEG播放MPEG-1视频。https:/jsmpeg.com
示例代码在这里。https:/github.comphoboslabjsmpegblobmasterview-stream.html。