java后台 移动端 h5 播放m3u8

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014624241/article/details/82182207

1.知识点 m3u8

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 的封装,然后自己完成合流的工作。

WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前以 HLS 为主(HLS存在延迟性问题,也可以借助 video.js 采用RTMP),PC端则以 RTMP 为主实时性较好
移动端 iOS 和 Android 都天然支持HLS协议,做好视频采集端、视频流推流服务之后,便可以直接在H5页面配置 video 标签播放直播视频, HLS 在 PC 端仅支持safari浏览器,类似chrome浏览器使用HTML5 video标签无法播放 m3u8 格式,可直接采用网上一些比较成熟的方案
移动端可直接通过 标签来播放 .m3u8 格式的视频:

优先推荐 video.js 的方案,因为它支持多个播放核心,而且插件非常多,你只需要使用videojs/videojs-contrib-hls(点击查看github) 就可以了。
思路2:H5视频播放之m3u8
用ffmpeg 把mp4文件转为ts文件并生成m3u8列表

2.问题

上传时,各种文件转成m3u8;
上传时,限制,只允许上传m3u8,自己用格式工厂传一下;
java后台,将各种格式的视频文件,转成m3u8,以便下载播放;

3.技术方案

参考文章:

java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二)

java 实现视频转换通用工具类:视频相互转换-Ffmpeg(三)

4.测试链接

调试m3u8的时候需要测试地址 找了几个,备用一下

安徽卫视 http://stream2.ahtv.cn/ahws/cd/live.m3u8
经济生活 http://stream2.ahtv.cn/jjsh/cd/live.m3u8
影视频道 http://stream2.ahtv.cn/yspd/fd/live.m3u8
公共频道 http://stream2.ahtv.cn/ahgg/cd/live.m3u8
综艺频道 http://stream2.ahtv.cn/zypd/cd/live.m3u8
科教频道 http://stream2.ahtv.cn/kjpd/cd/live.m3u8
人物频道 http://stream2.ahtv.cn/rwpd/cd/live.m3u8
国际频道 http://stream2.ahtv.cn/ahgj/fd/live.m3u8

香港卫视 rtmp://live.hkstv.hk.lxdns.com/live/hks
香港卫视 http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8

猜你喜欢

转载自blog.csdn.net/u014624241/article/details/82182207
今日推荐