关于H5播放视频文件的问题
m3u8文件是指UTF-8编码格式的M3U文件。M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的路径进行播放。
简单说,播放器通过m3u8文件可以找到要播的具体音视频。
格式如下是ts流文件
#EXTM3U #EXT-X-VERSION:3 #EXT-X-ALLOW-CACHE:NO #EXT-X-MEDIA-SEQUENCE:9350 #EXT-X-TARGETDURATION:10 #EXTINF:9.870 4cef7672d1-9350.ts #EXTINF:9.875 4cef7672d1-9351.ts
安卓播放需要用video标签封装一下(现在大多安卓系统可以直接播放m3u8文件),ios播放可以直接播.m3u8文件!
Web上视频至今还没有统一的标准,目前大多是采用插件如flash,但是插件也没有统一标准。H5提供一种通过video标签来播放视频的标准,官方给出支持格式如下:(此处引用W3C详见W3C官网教程)
当前,video 元素支持三种视频格式:
格式 | IE | Firefox | Opera | Chrome | Safari |
---|---|---|---|---|---|
Ogg | No | 3.5+ | 10.5+ | 5.0+ | No |
MPEG 4 | 9.0+ | No | No | 5.0+ | 3.0+ |
WebM | No | 4.0+ | 10.6+ | 6.0+ | No |
Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件
MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件
当然,经过个人实践,用video封装其它格式如MP4 也可以在某些浏览器上播放,官方给出三种支持格式可能是考虑兼容性问题。比如谷歌360都能直接播放H5封装的mp4(H264编码),单某些火狐版本却不支持。
但是在PC端,H5封装文件如大多直播流采用的.m3u8格式基本所有浏览器都不支持播放(自己编解码除外),所以H5的直播视频播放常用于手机端。
在这里顺便说一下H5对手机端的支持问题,封装mp4和封装.m3u8对手机型号及qq、微信、浏览器中播放等兼容性也有不同情况。
1.播放器播放按钮有些手机会出现、有些手机不显示;
2.自动播放有些手机不支持、设置autoPlay也要手动去点击才能触发播放;(ios:手动点击过一次后下次可以自动触发)
3.iphone上视频格式必须为mp4,直播为.m3u8,不支持flv,不支持rtmp协议(flash常用)的播放;
4.有些手机必须点击全屏才能触发播放;(低版本手机)
5.H5不能把多个视频合成一个视频播放,切片.m3u8除外;
6.小米4、小米4c、noto等系列,H5封装m3u8时,标签兼容性需要处理好,不能自动触发播放,需要js写一个点击触发H5播放器播放的函数去触发播放,否则播放不了,其它手机暂时未发现;
7.微信播放、qq播放虽然都是腾讯产品,播放也会有差别,微信兼容性需要特别注意,有些时候因为标签问题显示黑框无法播放;
8.各中手机自带浏览器播放样式会有很大区别,不建议使用过多标签控制样式;
9.横竖屏触发事件:windo.onoriertationchange在不同手机上有时会出现失灵现象,横竖屏后的操作可能未执行。
关于H5播放视频文件的问题相关推荐
- ffmpeg和opencv 播放视频文件和显示器
ffmpeg它是基于最新版本,在官网下载http://ffmpeg.zeranoe.com/builds/.编译时VS2010配置相关头文件及库的路径就可以.opencv的搭建參考上一个博客. 首先简 ...
- H5 播放视频常见bug及解决方案
H5 播放视频常见bug及解决方案 参考文章: (1)H5 播放视频常见bug及解决方案 (2)https://www.cnblogs.com/beiz/p/7088881.html 备忘一下.
- C#(Winform)程序无法使用Windows Media Player 组件播放视频文件
如果你的C#(Winform)程序无法使用Windows Media Player 组件播放视频文件(一旦点击播放立马程序闪退,但可以播放音频文件),请按照下面图例设置) 1.桌面右击鼠标找到 独立显 ...
- ffmpeg和opencv 播放视频文件并显示
ffmpeg是基于最新版本,在官网下载http://ffmpeg.zeranoe.com/builds/.编译时VS2010配置相关头文件及库的路径即可.opencv的搭建参考上一个博客. 首先简单介 ...
- LabVIEW播放视频文件的方法与例程
LabVIEW播放视频文件的方法与例程 用LabVIEW播放视频,有不同的方法. 比如,可以用Vision工具包里的vi来实现,这里播放只是基本的功能,更多用途是用来做视频图像分析处理的.这里仅以视频 ...
- OpenCV python 播放视频文件(.avi)
OpenCV python 播放视频文件(.avi) 同文件夹存放文件[test.avi] import cv2def main():# 1.初始化读取视频对象cap = cv2.VideoCaptu ...
- 用GooglePlayer在线播放视频文件
把视频文件转换为FLV文件使用MEncoder mencoder input . avi -o output . flv -of lavf / -oac mp3lame -lameopts ...
- QT使用QMediaPlayer + QVideoWidget播放视频文件
QT使用QMediaPlayer + QVideoWidget播放视频文件 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 目录 文章 ...
- FFmpeg播放视频文件流程
一.FFmpeg解码播放主要流程,如图1-1所示: 使用播放一个媒体文件时,通常需要经过以下几个步骤: 图1-1 FFmpeg 播放视频文件流程 1.解封装(Demuxing):就是将输入的封装 ...
最新文章
- 在Sun Enterprise Server上配置SCSI磁带机
- 优化自定义函数_10分钟教你手写8个常用的自定义hooks
- linux rsync 原理,rsync 同步原理和类别
- java字符串的用法_Java字符串的重要方法的使用实例
- 【机器学习入门】图解超经典的KNN算法
- 如何判断某ABAP系统的Netweaver后台是否支持AMDP
- nodejs+express整合kindEditor实现图片上传 - 木子丰咪咕晶 - 开源中国
- java定位线程阻塞_Arthas - 定位 Java 性能问题原来这么简单
- 操作类名-对象语法//操作类名-数组语法
- thikphp 控制器
- 如何给AWARD BIOS刷L5420微码?
- 「HenCoder Plus」Android 高级培养计划 FAQ
- conime.exe 文件的秘密
- 网络流模型与技巧总结
- 程序员工资多高才算高?
- 如何对U盘文件数据加密,U盘加密方法教程分享
- 大学——留德的路01
- codeforces 961 D. Pair Of Lines (几何,向量叉乘,三点共线)
- 通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号
- PTA 计算谱半径 —— 简单题
热门文章
- ObjectMapper的objectNode、ArrayNode各种转换使用
- 大数据平台监控指南(附技术选型、监控指标)
- java连连看算法_用 JAVA 开发游戏连连看(之三)将算法与界面结合起来
- 怎样微信扫描二维码跳转页面,H5页面在微信中下载APP的实现方式
- 从底层分区开始做一个干净的Windows10
- 2012年9月14日部分反编译一个被混淆过的 .net 程序的笔记
- 如何保存php网页到桌面,如何将网页保存到电脑桌面上
- 人脸识别行业热点频频背后蕴藏巨大商机
- java图片管理系统_基于Java的图片管理信息系统的设计与实现
- USB 2.0_ser!或者U232-P9 型USB转串Win7 32位或64位驱动 以及 USB转串串口序号查看和设置