M3U8直播,视频切片 AES加密,多码流自适应

FFMPEG

切片命令:

复制代码
ffmpeg -i 1.mp4 -fflags flush_packets -max_delay 2 -flags -global_header -hls_time 5 -hls_list_size 0 -vcodec libx264 -acodec aac -r 30 -g 60 -y index.m3u8

播放m3u8文件,必须依靠web服务器

在服务器上,流媒体文件被切割成一个个小分片,有相同的长度,没一个小分片是一个ts文件,同时生成一个索引文件m3u8,索引里放了ts文件的URL,

客户端请求,有两种方式,一种是点播vod(Video on demand),一种是直播live

以上命令是把本地文件生成m3u8,index.m3u8中的内容:

复制代码
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.000000,
index0.ts
#EXTINF:4.000000,
index1.ts
#EXTINF:6.000000,
index2.ts
#EXTINF:4.000000,
index3.ts
#EXTINF:6.000000,
index4.ts
#EXTINF:4.000000,
index5.ts
#EXTINF:6.000000,
index6.ts
#EXTINF:4.000000,
index7.ts
#EXTINF:5.966667,
index8.ts
#EXTINF:6.000000,
index9.ts
#EXTINF:2.066667,
index10.ts
#EXT-X-ENDLIST

最后一句是#EXT-X-ENDLIST,表示结束,但是在直播的时候,就没有这句了,并且里面的切片内容是时时更新的

直播的原理就是动态更新这个索引文件,用户,无论什么时候打开这个文件,都是最新的

索引文件是可以嵌套的,一般嵌套一级索引,二级索引,比如分成高清,标清,超清

优点:跨平台、易分发,CND接入完善

SRS支持HLS主要是作为输出的分发协议,直播以RTMP+HLS分发,满足各种场景,点播以HLS为主


HLS提供一个m3u8地址,Apple的Safari浏览器可以直接打开m3u8地址,比如:http://demo.srs.com/live/livestream.m3u8,Android不能直接打开,要使用html的video标签,

html 复制代码
<video width="640" height="360"
    autoplay controls autobuffer
    src="http://demo.srs.com/live/livestream.m3u8"
    type="application/vnd.apple.mpegurl">
</video>
相关推荐
肖爱Kun18 分钟前
SRT协议封装MPEG-TS 流的视频和音频PES头结构
音视频
reasonsummer1 小时前
【教学类-160-02】20260409 AI视频培训-练习2“豆包AI视频《小班-抢玩具》+豆包图片风格:手办”
python·音视频·ai视频·豆包·通义万相
肖爱Kun2 小时前
SRT协议封装MPEG-TS 流的视频和音频TS头结构
网络·音视频
Cxiaomu2 小时前
Flutter 录制视频+大文件上传 MinIO + NodeJS落库
flutter·音视频·文件上传
李宏伟~2 小时前
大文件分片案例html + nodejs + 视频上传案例
javascript·html·音视频
VOOHU-沃虎3 小时前
沃虎电子:音频变压器在信号隔离与音频接口中的选型与应用解析
算法·音视频
Likeadust3 小时前
智能会议管理系统EasyDSS构建企业视频全场景解决方案
人工智能·音视频
墨染倾城殇3 小时前
FSC-BW5028MV适配车载多场景方案:WiFi7+蓝牙5.4 让音频与数据并发稳定输出
网络·音视频·wifi 7·蓝牙5.4·车载蓝牙模块
电子科技圈1 天前
赋能高端音频功能促进多样化设备创新——XMOS USB Audio平台实现四大功能升级
人工智能·mcu·音视频·智能家居·边缘计算·语音识别·智能硬件
EasyDSS1 天前
视频高清直播点播/云点播/云直播EasyDSS:一站式视频云平台全链路整合,重塑企业视频应用新生态
音视频