html5 – Google Chrome不想使用mediaelement.js播放mp4

我在我的网站上使用最新的mediaelement.js播放 html5视频.
Google Chrome中有一些奇怪的东西.
他播放一个视频,但不想播放mp4格式的其他视频,也不想回到webm.
两个视频都使用ffmpeg转换为这个参数:
ffmpeg -i input.mov -acodec libfaac -ab 96k -vcodec libx264 -vpre slower -vpre main -level 21 -refs 2 -b 345k -bt 345k -threads 0 -s 640x360 output.mp4

此外,第一个视频正常播放,不使用mp4格式的mediaelement.js库,第二个视频转为webm格式.

来自http://random.net.ua/video_test/的示例页面

> http://random.net.ua/video_test/video1.html(ok)
> http://random.net.ua/video_test/video2.html(ok)
> http://random.net.ua/video_test/video1-mediaelement.html(ok)
> http://random.net.ua/video_test/video2-mediaelement.html(失败)

解决方法

如果您尝试在控制台中执行$(“video”).get(0).currentSrc或同等程序,您将看到非mediaelement.js版本正在播放Webm视频,Chrome可以正常播放,但如果您在mediaelement.js版本中看同样的东西它试图播放MP4.

然后,如果你看一下$(“video”).get(0).error你会看到你有一个MediaError.检查一下,你看它有“代码4”.根据规范,即MEDIA_ERR_SRC_NOT_SUPPORTED.

现在,尝试$(“video”).get(0).canPlayType(“video / mp4”) – 它返回“maybe”.

这是猜测现在,但也许Chrome报告“可能”,因为它可以播放MP4的一些配置文件,但不能播放其他配置文件.不管是什么原因,我个人更喜欢将Mediaelement.js视为“不”,如果没有其他源类型可以原生播放的话,请继续启动Flash后备.这很容易修补它.我已经完成了我刚刚制作的叉子 – 看看https://github.com/tremby/mediaelement/tree/maybe-to-no

希望有所帮助.让我知道它是否适合你 – 我希望它会放弃MP4并在你的情况下尝试使用Webm.在我自己的项目中(调试让我想到这个问题)我只有一个MP4文件,Flash后备很乐意取而代之.

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码