HLS-m3u8播放列表和ts切片(2)

前言:就像Richy研究新技术一样,由于技术发展迅速,通过各大搜索引擎搜出的可供参考的资料也是五花八门,有的还比较陈旧。这些外在的因素,无疑也滞后了Richy和大家前进的速度。经过不懈努力,历经坎坷,Richy现将成果再次记录且与大家分享,以达到共同进步的目的。【给予大于索取】

PS:本文的主要目的在于:加以个人理解,对研究新技术的记录。如果文中有出入的地方,还请见谅,且请各位大虾指正,不胜感激,已内牛满面...

闲话不多说,正题coming...

01.实现效果展示

实现总述:

通过ffmpeg将本地的xxx.mp4进行切片处理,生成m3u8播放列表(索引文件)和N多个 .ts文件,并将其(m3u8、N个ts)放置在本地搭建好的webServer服务器的指定目录下,我就可以得到一个可实时播放的URL(类似于:http://localhost/xxx/xxx.m3u8),最终将该URL运用于之前简易封装的AVPlayer和VLC播放器中测试播放,得到了如上图的结果。

主要步骤:

1、安装Homebrew;2、安装ffmpeg;3、mp4->m3u8切片处理;4、WebServer提供m3u8播放索引;5、播放测试。

1、打开终端,输入命令,安装Homebrew

1.1 先检查是否安装了Homebrew,在终端输入命令:brew help。如图说明安装了,并且你也可以查看它的其他常用命令:

02.Homebrew帮助命令

1.2 如果未安装,则在终端输入安装命令:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2、安装FFmpeg(音视频流化处理且可跨平台)工具

在终端输入命令:

brew install ffmpeg

下图可清晰看到ffmpeg共47M(要耐心等待哦~),以及安装在本地的路径(usr/local/Cellar/ffmpeg/3.0.2)。

03.ffmpeg安装

3、mp4->m3u8切片处理

通过刚刚安装的ffmpeg,在终端输入命令(灵活变化):

ffmpeg -i XXX.mp4 -c:v libx264 -c:a copy -f hls XXX.m3u8

其中,XXX.mp4为本地视频文件,XXX.m3u8为最终生成的播放索引列表,与此同时还有N多个ts文件。

4、WebServer提供m3u8播放索引 

首先在本地启用Apache搭建好WebServer(这里不做介绍了),然后将<步骤3>中的 XXX.m3u8 放置于该服务器下的共享目录下,由此可得到m3u8的播放URL(http://localhost/richyleo/m3u8/war3.m3u8),Richy的真实切片命令共大家参考替换:

ffmpeg -i /Users/richyleo/Downloads/warcraft.mp4 -c:v libx264 -c:a copy -f hls /Library/WebServer/Documents/RichyLeo/m3u8/war3.m3u8

5、播放测试

打开Safari浏览器,或者在App中载入播放视频功能,传入播放地址即可完成。

最后

欢迎大家关注我们团队微信公众号,以及博客地址,在这里我们会实时与大家分享优质的技术文章。大家也可以加入我们的技术交流群(QQ群:343640780),共同探讨,共同进步。

团队博客地址:http://www.52learn.wang

团队GitHub:https://github.com/wu2LearnTeam

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 提问: day01:1、何为直播?何为点播?2、简述推流、拉流的工作流程?3、常见的直播协议有哪些?之间有什么区别...
    小苗晓雪阅读 1,029评论 0 10
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,547评论 9 467
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,224评论 4 61
  • 在浩瀚的宇宙中,地球上的每一个人就像茫茫大海中的一粒沙, 每一个新生命诞生,直到死去都是一个不停循环的过程。就像春...
    桔猫阅读 233评论 0 0
  • 01 我叫松子,在一条叫荒川的河边租了间公寓。为什么要租这个公寓呢?因为,这条叫荒川的河像极了故乡那条名叫筑后川的...
    英语学了没阅读 662评论 3 3