音视频流媒体开发-目录
iOS知识点-目录
Android-目录
Flutter-目录
数据结构与算法-目录
uni-pp-目录
![](https://img.haomeiwen.com/i2229471/3e7bfacd10b7cfbd.png)
1. HLS播放整体框架分析(hls.c)
http://111.229.231.225:8081/live/livestream.m3u8 ff_hls_demux
xx.ts的时候 ff_mpegts_demuxer(mpegts.c)
http://111.229.231.225:8081/live/livestream 222.ts
数据源http协议 ff_http_protocol
(1)下载m3u8文件,通过AVInputFormat的read_probe分析到我们该使用ff_hls_demuxer
(2)在确定使用哪个demuxer后,就该调用该demuxer对数据进行分析hls_read_header
2.怎么m3u8 (hls.c)
parse_playlist这 个函数会间隔时间(targetduration或targetduration/2)调用
第一次调用: avformat_open_input的时候
playlist结构体 - m3u8解析出来的内容做对应,描述m3u8文件解析出来的结果
主要看hls.c
![](https://img.haomeiwen.com/i2229471/72ad0f29c47a0d45.png)
3.选择起始播放序列
#EXTINF:8.949, no desc 可以设置从哪个开始播放
livestream-423.ts 0
#EXTINF:9.141, no desc
livestream-424.ts 1
#EXTINF:8.869, no desc
livestream-425. ts 2
![](https://img.haomeiwen.com/i2229471/12f0ca2e99cb1811.png)
![](https://img.haomeiwen.com/i2229471/d4d36dcd5abe506d.png)
4.打开sub demux
![](https://img.haomeiwen.com/i2229471/e8aa877c1cafcb4d.png)
网友评论