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播放视频文件的问题相关推荐

  1. ffmpeg和opencv 播放视频文件和显示器

    ffmpeg它是基于最新版本,在官网下载http://ffmpeg.zeranoe.com/builds/.编译时VS2010配置相关头文件及库的路径就可以.opencv的搭建參考上一个博客. 首先简 ...

  2. H5 播放视频常见bug及解决方案

    H5 播放视频常见bug及解决方案 参考文章: (1)H5 播放视频常见bug及解决方案 (2)https://www.cnblogs.com/beiz/p/7088881.html 备忘一下.

  3. C#(Winform)程序无法使用Windows Media Player 组件播放视频文件

    如果你的C#(Winform)程序无法使用Windows Media Player 组件播放视频文件(一旦点击播放立马程序闪退,但可以播放音频文件),请按照下面图例设置) 1.桌面右击鼠标找到 独立显 ...

  4. ffmpeg和opencv 播放视频文件并显示

    ffmpeg是基于最新版本,在官网下载http://ffmpeg.zeranoe.com/builds/.编译时VS2010配置相关头文件及库的路径即可.opencv的搭建参考上一个博客. 首先简单介 ...

  5. LabVIEW播放视频文件的方法与例程

    LabVIEW播放视频文件的方法与例程 用LabVIEW播放视频,有不同的方法. 比如,可以用Vision工具包里的vi来实现,这里播放只是基本的功能,更多用途是用来做视频图像分析处理的.这里仅以视频 ...

  6. OpenCV python 播放视频文件(.avi)

    OpenCV python 播放视频文件(.avi) 同文件夹存放文件[test.avi] import cv2def main():# 1.初始化读取视频对象cap = cv2.VideoCaptu ...

  7. 用GooglePlayer在线播放视频文件

    把视频文件转换为FLV文件使用MEncoder  mencoder input . avi -o output . flv -of lavf /     -oac mp3lame -lameopts  ...

  8. QT使用QMediaPlayer + QVideoWidget播放视频文件

    QT使用QMediaPlayer + QVideoWidget播放视频文件 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 目录 文章 ...

  9. FFmpeg播放视频文件流程

    一.FFmpeg解码播放主要流程,如图1-1所示: 使用播放一个媒体文件时,通常需要经过以下几个步骤: 图1-1    FFmpeg 播放视频文件流程 1.解封装(Demuxing):就是将输入的封装 ...

最新文章

  1. 在Sun Enterprise Server上配置SCSI磁带机
  2. 优化自定义函数_10分钟教你手写8个常用的自定义hooks
  3. linux rsync 原理,rsync 同步原理和类别
  4. java字符串的用法_Java字符串的重要方法的使用实例
  5. 【机器学习入门】图解超经典的KNN算法
  6. 如何判断某ABAP系统的Netweaver后台是否支持AMDP
  7. nodejs+express整合kindEditor实现图片上传 - 木子丰咪咕晶 - 开源中国
  8. java定位线程阻塞_Arthas - 定位 Java 性能问题原来这么简单
  9. 操作类名-对象语法//操作类名-数组语法
  10. thikphp 控制器
  11. 如何给AWARD BIOS刷L5420微码?
  12. 「HenCoder Plus」Android 高级培养计划 FAQ
  13. conime.exe 文件的秘密
  14. 网络流模型与技巧总结
  15. 程序员工资多高才算高?
  16. 如何对U盘文件数据加密,U盘加密方法教程分享
  17. 大学——留德的路01
  18. codeforces 961 D. Pair Of Lines (几何,向量叉乘,三点共线)
  19. 通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号
  20. PTA 计算谱半径 —— 简单题

热门文章

  1. ObjectMapper的objectNode、ArrayNode各种转换使用
  2. 大数据平台监控指南(附技术选型、监控指标)
  3. java连连看算法_用 JAVA 开发游戏连连看(之三)将算法与界面结合起来
  4. 怎样微信扫描二维码跳转页面,H5页面在微信中下载APP的实现方式
  5. 从底层分区开始做一个干净的Windows10
  6. 2012年9月14日部分反编译一个被混淆过的 .net 程序的笔记
  7. 如何保存php网页到桌面,如何将网页保存到电脑桌面上
  8. 人脸识别行业热点频频背后蕴藏巨大商机
  9. java图片管理系统_基于Java的图片管理信息系统的设计与实现
  10. USB 2.0_ser!或者U232-P9 型USB转串Win7 32位或64位驱动 以及 USB转串串口序号查看和设置