在网页上播放大型mp4

Playing Large MP4s on Webpage

本文关键字:放大型 mp4 播放 网页      更新时间:2023-09-26

我有几个MP4视频,我想在我的网站上播放,使用CloudFront播放,文件在S3中。然而,文件很大!我们说的是35G的尺寸。当然,这在标准播放中是行不通的。

我用的是这样的:

<video id="my_video" width="700" height="550" poster="images/bunny.jpg" loop>
    <source id="src_mp4" src="largefile.mp4" type="video/mp4" />
</video>

我有什么选项可以使这个工作,使它看起来像流媒体?文件格式为MP4和AVI。

我不认为有任何方法可以使它"看起来"像流媒体,我也不认为有任何东西可以通过HTML5实现媒体文件的流。

可以做的几件事:

  • 降低视频的图像/音频质量
  • 将视频转换为Webm格式,并在浏览器可以播放的情况下提供它们(编解码器检测可能有bug,所以您可能不想这样做)
  • 让用户等待一定的时间(可能是30秒),祈祷视频可以播放到结束,而不需要缓冲。

如果你不想做以上任何一件事,这个问题可能会有所帮助。

你可以在HTML5中使用DASH提供HTTP自适应比特率流。看看dash.js和播放器的例子,它工作得很好,但浏览器支持仍然有限。

你可以提供35 GB的mp4 url到HTML5视频标签,只要你的web服务器托管mp4文件是正确配置的,但通常你会被建议考虑流式下载而不是渐进式下载大文件。有流媒体服务器(Wowza, Red5, IIS…)可以做到这一点,但这可能意味着成本和一些承诺,因为你需要维护一个流媒体服务器和一个播放器(最可能是一个混合播放器Flash + HTML5,以获得良好的浏览器覆盖率)。

在某些情况下,像Vimeo或Youtube(或其他在线视频平台)这样的平台也可能符合您的要求。