HLS开发小知识点

HLS协议拉流流程:

首先发送Get命令,获取M3U8文件内容,包括当前服务器所有的TS切片文件目录。

发送Get命令获取TS文件内容,每次获取,HTTP响应请求TS文件的所有内容。

请求TS文件播放完成,再次发送HTTP Get请求,获取下一个Ts文件,每次请求都是短连接,无状态。

怎么从hls抓包中获取ts文件内容?

1. 过滤出ts文件

HLS开发小知识点_第1张图片

2.选中TS流文件,导出TS文件

HLS开发小知识点_第2张图片 3.保存文件

HLS开发小知识点_第3张图片

HLS开发小知识点_第4张图片

chrome中怎么保存m3u8和ts切片文件

hls播放器每次播放视频流,就是不断的向HTTP服务器发送GET请求,第一次请求m3u8,后面不断的请求TS文件。可以打开chrome的network查看保存文件。

1.浏览器中输入播放器地址

2.F12打开开发者工具,network选择http请求标签XHR,点击感兴趣的文件即可保存。

HLS开发小知识点_第5张图片

FFMPEG如何进行HLS的TS切片

 1.segment模块点播切片

ffmpeg -i rtmp://10.1.130.201:11935/hls/32010500001320000001_32010500001320000001 -c copy -f segment -segment_time 10 -segment_format mpegts -segment_list test.m3u8 test_%d.ts

利用ffmpeg里面的segment进行切片处理,可以把实时流或者本地文件切割成N个TS文件,同时生产M3U8文件,切割结束可以通过ffplay直接播放M3U8文件。

ffplay.exe -x XXX -y XXX test.m3u8

2.segment模块直播切片

ffmpeg -i rtmp://10.1.130.201:11935/hls/32010500001320000001_32010500001320000001 -c copy -map 0 -f ssegment -segment_format mpegts -segment_list test.m3u8 -segment_list_flags +live -segment_list_size 6 -segment_time 10 out%03d.ts

实时的获取RTMP流,做切片处理,-segment_list_flags +live表示实时流,-segment_list_size 6表示M3U8里面循环的切换TS文件,最多保存6个文件。这个方式特点是,TS文件会一直保存在系统中,不会删除。如果想循环删除文件,可以采用ffmpeg hls模式。

3.hls模块直播切片

ffmpeg -i rtmp://10.1.130.201:11935/hls/32010500001320000001_32010500001320000001 -c copy  -map 0 -f hls -hls_list_size 6 -hls_wrap 10 -hls_time 10 playlist.m3u8

4.本地文件切片

ffmpeg -re -i test.mp4 -c copy -f segment -segment_time 10 -segment_format mpegts -segment_list test.m3u8 test_%d.ts

-re表示按照mp4文件的播放速度进行获取视频流做切片。

HLS播放器(LivePlayer)使用及简单的HLS直播点播服务搭建

1.前面讲过RTMP基础之NGINX流媒体转发环境搭建,参考搭建方法搭建windows环境下的nginx服务器

2.下载liveplayer hls播放器,把element放入html文件夹

3.运用前面的切片命令,在html目录下运行命令把TS文件保存在html目录下

4.修改liveplayer里的播放地址video-url="http://XXXXX:XX/XX.m3u8"

5.启动nginx后,浏览器输入地址:http://IP地址:端口/element/index.html,即可打开播放器

播放器下载地址:liveplayer

 

 

 

你可能感兴趣的:(HLS,Wireshark,TS)