有支持M3U8格式的HTML5播放器吗? - 知乎

标签: | 发表时间:2018-07-20 15:55 | 作者:
出处:https://www.zhihu.com

最近接触了这一块,简单说下吧。

m3u8 是一种基于 HTTP Live Streaming文件视频格式,它主要是存放整个视频的基本信息和分片(Segment)组成。目前 由 Apple.inc 率先提出的 HLS 协议在 Mac 的 Safari 上原生支持,你可以直接通过

        video.src = 'xxx.m3u8'

来实现。

如果你希望兼容所有的浏览器的话, 你需要知道 Chrome 和 Firefox 支持的 Media Source Extensions( 非常不理想,在IE和国内具备兼容模式的极速浏览器下) 的情况:


目前 Youtube 和 Netflix 等主流视频网站,即使 FB 的 newsfeed 里面的视频也采用了 HLS 的解决方案,大致实现流程如下:


其核心,在于对于 m3u8 的文件解析和 通过 XHR 去完成对分片内容二进制文件的获取,然后使用 MSE 的 appendBuffer 去进行 buffer 的封装,然后自己完成合流的工作。


目前国内的,bilibili 最早实现了基于 MSE 解决方案的播放器,大概为什么他们必须用 MSE 而不是 优酷 和 腾讯 的 多 video 方案,可能是钱少,视频转MP4需要大量服务器,当然 MSE 这是技术的趋势。


前面废话太多直接上推荐吧:


优先推荐 video.js 的方案,因为它支持多个播放核心,而且插件非常多,你只需要使用

videojs/videojs-contrib-hls就可以了。

再安利一个非常纯粹的方案,就是 hls.js它需要你手进行 video 的绑定。

75 Team 也开源 的一个播放器: Chimeejs/chimee


当然我们 team 也会开源一款类似 youtube 的播放核心。


https://github.com/jackzhang1204/sewise-player

功能列表:

  • 支持HTML5,Flash视频播放技术。
  • 支持多平台,PC包括Windows, MacOS, Linux等。Mobile包括Android, IOS, Windows Phone等。
  • 支持多浏览器兼容,如IE6/7/8/9/10、Google Chrome、Firefox、safari、Opera等。
  • 支持多种视频格式,如mp4、m3u8、oga、webm、theora、flv、f4v等。
  • 支持多种协议直播流,如rtmp、hls、http等。
  • 支持Flash播放m3u8文件,以及AES-128解码播放。
  • 支持PC与Mobile平台播放器自动识别功能。
  • 支持浏览器HTML5与Flash特性检测。
  • 支持HTML5不同视频格式地址Fallback兼容播放功能。
  • 支持Flash Fallback到HTML5视频播放功能。
  • 支持播放地址AMF, AJAX, JOSNP类型请求。
  • 支持自定义HTML5与Flash皮肤,让您无需了解专业的编码技术也可以制作出超烗风格的皮肤。
  • 支持前置广告(swf, 图片, 视频)。
  • 支持字幕。
  • 支持多种播放参数设定,并支持启动参数设置。
  • 支持丰富的api接口,以此可以快速打造功能强大的插件



相关 [有支 m3u8 格式] 推荐:

有支持M3U8格式的HTML5播放器吗? - 知乎

- -
HTTP Live Streaming文件视频格式,它主要是存放整个视频的基本信息和分片(Segment)组成. 目前 由 Apple.inc 率先提出的 HLS 协议在 Mac 的 Safari 上原生支持,你可以直接通过. 如果你希望兼容所有的浏览器的话, 你需要知道 Chrome 和 Firefox 支持的 Media Source Extensions( 非常不理想,在IE和国内具备兼容模式的极速浏览器下) 的情况:.

windows下一分钟配置ngnix实现HLS m3u8点播

- - 三棵杏软件工作室
下载 nginx-1.5.10 for windows 2. 修改配置文件nginx-1.5.10\conf\nginx.conf,增加以下行到最后一个"}"的前一行:. } 同时,新建子目录:nginx-1.5.10\html\hls,把生成的m3u8和切片好的ts文件或目录拷贝到hls目录下 3.

利用ffmepg把ts文件转m3u8并切片

- - 三棵杏软件工作室
网上很多垃圾文章推荐segmenter工具,但用的时候,3.5G的ts文件丢了一半的数据,于是想到了ffmpeg转. 在国外网站找到命令,一句话搞定,没报半句错: ffmpeg -i 12生肖.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 10 output%03d.ts 顺便共享给各位国内的同仁,免得深受其苦.

EPUB3,电子书新格式

- 定风波 - 爱范儿 · Beats of Bits
EPUB 是数字出版业的工业标准之一,重要性不言而喻. 2011 年,5 月 23 日 International Digital Publishing Forum(以下简称 IDPF)正式确定 EPUB3 标准. 与上一代 EPUB2 标准相比,EPUB3 带来很多非常重要的变化,这些变化会对数字出版业有怎样的影响.

别再说”pdf格式”了

- yboren - 考据癖
* 唔…就是…一种娱乐性质的较真,再次重申:较真有理,严谨无罪. * 等一下,上一行的“再次”和“重申”的“重”表达的是同一个意思,表意冗余了. * 呐呐呐,上面这种行为就是咬文嚼字了. 写这篇文章主要是想较真一个小问题,一种很常见的表达错误. 起因是今天Geek and poke的更新:. 标题里的pedantic一词本意是“迂腐”的意思,不过在我眼里这个词和geek、nerd一样毫无贬义,而且相当酷.

JAVA序列化与反序列化三种格式存取(默认格式、XML格式、JSON格式)

- - CSDN博客推荐文章
java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输、或者持久化存储到数据库或文件系统中;然后在需要的时候,可以根据字节流中的信息来重构一个相同的对象. 序列化机制在java中有着广泛的应用,EJB、RMI等技术都是以此为基础的.

Java VCF 格式解析

- - ITeye博客
  Java VCF 格式解析. vcf可以用记事本打开,格式如下:. String name = "张三";. //将字符串转换成utf-8 quoted-printable 格式. //将字符串utf-8 quoted-printable 格式 转换成正常格式. //将图片转换成base64格式字符.

BMP文件格式详解

- - 互联网 - ITeye博客
位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式. Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(device-dependent bitmap,DDB)文件格式.

HFile格式说明(转)

- - 数据库 - ITeye博客
原文地址:http://my.oschina.net/zhengyang841117/blog/188723.   在这里主要分析一下HFile V2的各个组成部分的一些细节,重点分析了HFile V2的多级索引的机制,接下去有时间的话会分析源码中对HFile的读写扫描操作. 如下图,HFile的组成分成四部分,分别是Scanned Block(数据block)、Non-Scanned block(元数据block)、Load-on-open(在hbase运行时,HFile需要加载到内存中的索引、bloom filter和文件信息)以及trailer(文件尾).

调研webp图片格式

- - 颜海镜
最近在调研为经验引入webp的可能性,下面总结一下最近的调研成果. webp是谷歌在2010年开源的一种新的图片格式,目前在谷歌浏览器(9+)和安卓(4.0+)里面都有很好的兼容性. 根据谷歌官方给出的数据,无损压缩webp图片比png图片小26%,有损压缩的webp可以比jpeg小25-34%,下面测试案例中有具体的demo,大家可以亲眼查看效果.