如何播放所有主流浏览器的mp4视频?

时间:2015-07-27 05:07:58

标签: javascript video video.js

有没有办法让.mp4视频在所有主流浏览器中都有效?我听说videojs可以帮助我,但我不确定。如果浏览器不支持视频格式,此库是否会自动将闪存设置为回调?有没有用过它?请帮忙。

2 个答案:

答案 0 :(得分:5)

在某个级别,您可能会说mp4已经在大多数主流浏览器中运行,但不幸的是,事情并非那么简单。

mp4是一个容器'其中的视频和音频可以使用各种编解码器进行编码,您需要检查浏览器支持(大多数支持h.264),甚至使用不同设置的相同编解码器(例如基线与主线配置文件)。

还有一些技术可以将元数据移动到mp4文件的开头,以便在整个文件下载之前立即流式传输 - 如果没有这种情况,可能会显示您的视频无法播放(或者甚至无法播放)。请参阅:http://multimedia.cx/eggs/improving-qt-faststart/

事实上,可能会创建一个无法在任何主流浏览器中播放的mp4。

正如Keizom所说,目前最好的做法是以已知适用于当前主流浏览器的格式提供多个视频源。

随着浏览器和视频格式的发展,游戏领域不断发生变化也毫无价值 - 例如,不久之前使用或退回Silverlight的视频播放器现在将不再适用于某些最受欢迎的浏览器,因为它们不再支持Silverlight。

要查看当前图片,您需要检查一些根据浏览器更改定期更新的网站。两个很好的例子是:

您仍然可以实现这一点,同时允许您的用户只上传一种格式(这是流行的视频托管网站所做的)。您只需将上传的视频转换为支持您想要访问的浏览器集所需的最小格式集。

请注意,如果您担心不同设备和不同网络条件下的播放质量,那么您实际上可能必须提供每种视频格式的多个比特率版本(因此客户端可以在网络条件发生变化时切换比特率)

当然,这会使您的服务器端变得更加复杂并且还使用相当大的计算能力,因此您需要确定您的用例是否能证明这笔投资/努力。

答案 1 :(得分:3)

.mp4是否会"工作"是否取决于OS&浏览器。通过提供多个源来实现跨OS /浏览器支持。

<video>
    <source src="foobar.mp4" type="video/mp4" />
    <!-- some other alternative sources -->
    <source src="foobar.ogv" type="video/ogv" />
</video>