如何在iOS(iPhone和iPad)上播放带有HTML5视频标签的mp4视频文件?

如何在iOS(iPhone和iPad)上播放带有HTML5视频标签的mp4视频文件?,第1张

概述我想使用视频标记向用户显示 HTML5视频.对于Firefox,Chrome和Opera WEBM按预期工作.在Windows和Mac上的Safari中,我的MP4版本也可以使用.我遇到的唯一问题是它不会在iPad和iPhone上播放(当然是Safari). 制作视频 MP4(h.264 acc-lc)是这样转换的(带有配置文件:基线和3.0级以实现与iOS的最大兼容性): >流#0:0(eng) 我想使用视频标记向用户显示 HTML5视频.对于firefox,Chrome和Opera WEBM按预期工作.在windows和Mac上的Safari中,我的MP4版本也可以使用.我遇到的唯一问题是它不会在iPad和iPhone上播放(当然是Safari).

制作视频

MP4(h.264 acc-lc)是这样转换的(带有配置文件:基线和3.0级以实现与iOS的最大兼容性):

>流#0:0(eng):视频:h264(约束基线)(avc1 / 0x31637661),yuv420p,640×352,198 kb / s,17 fps,17 tbr,17408 tbn,34 tbc(默认)
>流#0:1(eng):音频:aac(LC)(mp4a / 0x6134706D),48000 Hz,立体声,fltp,56 kb / s(默认)

编辑:整个ffprobe输出(比特率略有变化等,如上所述):

Metadata:major_brand     : isomminor_version   : 512compatible_brands: isomiso2avc1mp41encoder         : Lavf56.30.100Duration: 00:01:00.05,start: 0.046440,bitrate: 289 kb/sStream #0:0(eng): VIDeo: h264 (Constrained Baseline) (avc1 /0x31637661),640x352,198 kb/s,25 fps,25 tbr,12800 tbn,50 tbc (default)Metadata:  handler_name    : VIDeoHandlerStream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D),44100 Hz,stereo,85 kb/s (default)Metadata:  handler_name    : SoundHandler

我发现了iOS设备的各种要求,如this和this,以及转换时添加yuv420p像素格式的someone.

事实上,ffmpeg cmd看起来像这样:

ffmpeg -i __inputfile__ -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -level 3.0 -b:v 200K -r 17 -bt 800K -c:a libfdk_aac -b:a 85k -ar 44100 -y __outputfile_lowversion__.mp4

显示视频

使用Modernizr,我会检测哪种格式是“支持的”并将其添加到src或视频标记中.最后一件事是添加正确的MIME类型.对于mp4,我添加type =“vIDeo / mp4”.视频代码的完整代码是:

<vIDeo  preload="auto" autoplay="" type="vIDeo/mp4" src="http://full.url/to/vIDeo_low.mp4"/>

我尝试了各种方法:自己实现自己的界面,控件和来自浏览器供应商和vIDeo.Js的东西,只是为了检查我是否太喜欢这个.除了iPhone和iPad之外,所有工作都在上面列出的环境中工作.

我在Video on the web上阅读了这篇文章,特别是this part,并且只提供了“右”类型的“正确”文件而没有后期属性集.

我的Apache有

AddType vIDeo/mp4                      mp4 m4v f4v f4pAddType vIDeo/ogg                      ogvAddType vIDeo/webm                     webm

并且启用了字节范围.这是从服务器获取部分内容所必需的.

有谁知道那里发生了什么?提前致谢!

编辑:Safari和Chrome都在iPad上抛出MEDIA_ERR_SRC_NOT_SUPPORTED错误.编码必定存在问题.

解决方法 尝试切换’controls’属性 – 或者以不同方式定义src.

<vIDeo src="http://example.com/path/mymovIE.mov"         controls         height=340 wIDth=640         poster="http://example.com/path/poster.jpg">  </vIDeo>

Check out this article ‘About HTML5 Audio and Video for Safari’ (developers guide)

此外,对HTML5< vIDeo>的良好稳定帮助. iPad / iPhone的标签是JW player.
(适用于它)

jwplayer('vIDeo').setup({     flashplayer: '/Scripts/jwplayer/player.swf',file: 'seanpenn.mp4',autostart: false,controlbar: 'over',image: 'spicoli.jpg',wIDth: 295,height: 214,skin: '/Scripts/jwplayer/glow.xml',stretching: 'exactfit' });
总结

以上是内存溢出为你收集整理的如何在iOS(iPhone和iPad)上播放带有HTML5视频标签的mp4视频文件?全部内容,希望文章能够帮你解决如何在iOS(iPhone和iPad)上播放带有HTML5视频标签的mp4视频文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1082971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存