Firefox HTML5视频口吃/运行不流畅/缓冲和预加载

Firefox HTML5视频口吃/运行不流畅/缓冲和预加载,firefox,cross-browser,html5-video,buffer,opera,Firefox,Cross Browser,Html5 Video,Buffer,Opera,我的主页上播放了一段视频。我的html如下所示: <video id="player" style="display: inline;"> <source id="src1" type="video/webm" src="uploads/tx_frmovieportfolio/film_05.webm"> <source id="src2" type="video/ogg" src="uploads/tx_frmovieportfolio/film_05

我的主页上播放了一段视频。我的html如下所示:

<video id="player" style="display: inline;">
   <source id="src1" type="video/webm" src="uploads/tx_frmovieportfolio/film_05.webm">
   <source id="src2" type="video/ogg" src="uploads/tx_frmovieportfolio/film_05.ogv">
   <source id="src3" type="video/mp4" src="uploads/tx_frmovieportfolio/film_05.mp4">
   Your Browser does not support HTML5 video.
</video>

您的浏览器不支持HTML5视频。
我正在通过点击链接通过jquery更改来源。我还构建了自己的控制栏。一切都和它一起工作。但是:

在Chrome中,视频加载速度非常快,播放效果非常好,没有任何问题。 在Firefox 24和Opera 12.16中,视频加载速度较慢,并且一直处于暂停状态。我认为它正在加载新的帧。这需要很多时间。我用autobuffer和preload=“true”也试过了,即使第二个也过时了。但这并没有改变任何事情

有没有什么解决办法,我能做些什么让它在所有实际浏览器中快速工作?否则,使用视频标签是没有意义的

如果能得到一些想法或者一个完美的解决方案,那就太好了


福尔克

在你提出问题七年后,我遇到了同样的问题。目前的问题是,您的浏览器试图缓冲非常大的视频文件,有些浏览器比其他浏览器处理得更好。最重要的是,他们的互联网连接速度和可用内存决定了你的命运

解决方案是将视频转换成格式。从2020年开始,它的工作原理是将视频分割成短的H.264/H.265编码剪辑,每个剪辑的持续时间仅为几秒钟,并存储为单个文件。将生成一个清单(.m3u8),该清单用作视频播放器读取的索引,以便仅下载所需的片段

以下是如何使用FFMPEG将MPEG2视频转换为HLS VOD格式的示例:

ffmpeg -i InputVideo.mpg -vf scale=w=352:h=240:force_original_aspect_ratio=decrease -c:a aac -ar 44100 -b:a 64k -c:v h264 -profile:v main -crf 20 -g 48 -keyint_min 48 -sc_threshold 0 -b:v 700k -maxrate 900k -bufsize 1400k -hls_time 4 -hls_playlist_type vod -hls_segment_filename hls/%03d.ts hls/OutputVideo.m3u8

通过Chrome Android>v70、Android浏览器和Safari>=6,对HLS的原始浏览器支持越来越好,所有这些浏览器都以本机方式支持HLS。您可以通过使用或替代HTML5视频对象来实现近乎通用的兼容性。

试试preload=“auto”。还可以尝试更改webm和ogg源链接的顺序。视频有什么维度(wxh)?我尝试了预加载自动和true,还更改了源的顺序。问题还是一样。视频的尺寸为1280x720px。但它是在一个约400x230px的容器中播放的。播放器的大小设置为最大100%。所以视频看起来更小。现在我试着让视频以原始大小播放。但这也不能解决我的问题。有时它会冻结近1分钟。如果您将视频文件直接从文件系统拖放到Opera/Firefox的空选项卡中,视频格式是否可以正常播放?如果他们玩得很好,你可以发布更多的HTML(和JS,如果与视频相关的话)吗?现在好多了。我所做的:1)预加载属性出错。我真的看不出来,但问号不是正确的。他们看起来有点不一样,浏览器解释错了2.)我再次更改了源的顺序。现在我首先有了firefox的ogv,然后是opera的mp4,然后是webm,我忘了。这是最好的订单,几乎没有免费的。Chrome一点问题都没有。另一个都是。我不知道它在IE中是如何工作的,我没有使用这个浏览器。我以后要查一下。谢谢你的想法。我同意HLS是一个不错的选择,但是你确实需要一个基于JavaScript的播放器,这个回复中列出的浏览器支持是不正确的。只有Safari本机支持HLS。(参考)谢谢,我已经更新了支持的浏览器列表。Safari并不是唯一支持HLS的浏览器,但是许多最常见的移动浏览器都支持它,包括Chrome Android。可悲的是,根据[bug tracker]中的一篇帖子,Chrome桌面似乎永远不会支持HLS。