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).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后备很乐意取而代之.