我需要从浏览器动态播放MPEG-1文件。将它们上传到YouTube或转换视频不是一种选择。
我该怎么做? 我已经看过这个,但答案不适用于MPEG-1。 Is there a way to play mpeg videos in HTML5?
视频代码不适用于使用Chrome的文件:
<video class="fullscreen" autoplay>
<source src="video/test2.mpeg">
</video>
它只显示黑匣子和口吃的噪音/声音。我可以验证视频是否已损坏,因为我可以使用VLC播放它。我只需要在一个特定的浏览器上工作(它不必是交叉兼容的)。插件也可以,只要我不必转换视频。虽然我宁愿避开它们。
答案 0 :(得分:3)
有些浏览器不会故意在<video>
中支持较旧的格式,以限制网络上蹩脚,遗留和可能不安全的视频格式的数量。
唯一具有良好工作机会的组合是 H.264(MP4)和 WebM (或Ogg Theora),因此必须转换视频并获得良好的浏览器支持,您必须至少生成这两种格式。
好消息是现代编解码器比MPEG-1效率更高,因此您可以获得更小的文件。
其他选项可能是:
为用户提供视频的直接链接,以便他们下载并在VLC等外部播放器中播放。
使用oldschool <object>
元素嵌入视频,并希望某些浏览器仍然可以播放可播放视频的旧插件(但最近Chrome已删除对所有插件的支持,除了专门为Chrome创建的一对插件&#39;自己的API)。
使用Emscripten(asm.js)将MPEG-1解码器编译为JavaScript并自行将视频解码为<canvas>
。 JS现在的速度已经足够快了(虽然它会迅速耗尽移动设备的电量,而且一个糟糕的视频编解码器与额外的JS解码器下载相结合将大大浪费带宽)。
答案 1 :(得分:0)
您可以使用JSMPEG播放MPEG-1视频:https://jsmpeg.com/
此处的示例代码:https://github.com/phoboslab/jsmpeg/blob/master/view-stream.html