VideoJS:在IOS上无法正常工作

3

我使用了videojs,它在所有浏览器(包括IE)和安卓设备上都可以正常工作。但是,在iOS设备(iPhone和iPad iOS版本6)上无法正常工作。

这是我用来添加视频到页面的代码:

<video id="video1" class="video-js vjs-default-skin" width="276" height="153" controls="" preload="auto" data-setup="{}">
<source src=myvideo.mp4 type="video/m4v" >
</video>    

我花了很长时间都找不到解决方案。我正在使用video.js 3.2.0版本,但一直出现加载旋转图标。我尝试使用版本4,但只有黑屏。

请问有什么帮助吗?


1
你确认该文件可以在iOS上播放吗? - tastybytes
虽然这不是特定问题的情况,但如果有其他人遇到这个问题,iOS 不支持自动播放: http://help.videojs.com/discussions/questions/922-autoplay-on-ipad-does-not-work-without-controls - Wtower
4个回答

7
首先,在源src属性周围加上双引号,然后尝试。如果这样做无法解决问题,那么问题可能出在mp4本身,很可能是由于编码方式或文件大小过大所致。尝试使用videojs的默认电影(http://vjs.zencdn.net/v/oceans.mp4),看看是否有效。如果有效,你就知道问题出现在电影文件本身。

但它在所有设备/所有浏览器中都可以正常工作,但不适用于IE9。 - f_nosh
是的,当前版本的videojs似乎存在一些小问题。请查看我的教程,它会让videojs在移动设备上更加友好 = http://www.andy-howard.com/recreate-bbc-iplayer/index.html该教程使用略旧的videojs版本(大约1个月前),但能够在所有浏览器和智能手机上正常运行。 - Andrew Howard
对于任何未来的人,我将FLV转换为MP4(不确定编解码器),但我无法在iPad上使用VideoJS播放它,但我可以在VideoJS的主页上播放MP4。显然是编解码器问题。 - Michael J. Calkins

4

您的网络服务器应支持字节范围请求,请检查网络服务器是否支持206响应。如果您正在使用nginx,请添加mp4模块。


我没有确切地尝试过这个,但是通过将视频托管在AWS S3上而不是我的自己的服务器上,视频开始在iOS设备上工作。毫无疑问,服务器配置会影响视频是否播放。 - Brian DiCasa

3

我使用HandBrake解决了大部分的mp4编码问题。


手刹很棒。 - mtyson

0

尝试将 type="video/m4v" 更改为 "video/mp4"。

<video class="video-js">
  <source src="//vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
  <source src="//vjs.zencdn.net/v/oceans.webm" type="video/webm">
</video>

官方文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接