Go语言流媒体开源我的项目 LAL 明天公布了v0.33.0版本。
LAL 我的项目地址:https://github.com/q191201771...
老规矩,先挑三个批改简略介绍一下:
▌ 一,反对抓取流数据回放调试
这个性能能够大幅提高lal用户反馈问题、定位问题的效率,从而进步lal的兼容性。
详情我独自写了一篇文档: 《debug dump抓取lal流调试》
▌ 二,HTTP-API和HTTP-Notify回调为HLS协定提供更丰盛的信息
咱们都晓得,HLS是客户端持续性发动一个又一个HTTP申请,每次获取一个TS流片段文件的形式来播放的。
这种短连贯的办法导致服务端不好辨别不同的播放者,也不好判断播放者开始播放、完结播放的工夫点。
此次,咱们通过减少302跳转,给m3u8 url减少一个带用户惟一ID的参数,并且给一个用户的多个TS都减少上该ID,从而反对:
- 获取hls播放者数量、码率等信息
- 获取hls开始播放、完结播放的事件告诉
这个性能在配置文件有两个相干的配置,具体见 hls/sub_session_timeout_ms 和 hls/sub_session_hash_key
如果你不喜爱m3u8 302跳转带来的开销,你也不关怀hls的统计与告诉的信息,那么你就能够通过配置文件将该性能敞开。
相干文档:
《lalserver HTTP API接口》
《lalserver HTTP Notify(Callback/Webhook)事件回调》
▌ 三,解析rtp extension扩大头
减少了解析rtp扩大头的逻辑,使得能够更好的反对rtsp流。
▌ 更多批改
还有一些批改不一一介绍了,大抵如下:
- [chore] docker同时反对amd和arm架构
- [feat] demo: analyseflv反对http flv流或flv文件作为输出
- [feat] 插件化例子:减少读取flv文件再通过CustomPubSession将数据输出lalserver的例子
- [opt] rtmp: 放大打chunk时预调配的内存大小
- [opt] 插件化:Cutsomize Pub反对AvPacket、RtmpMsg两种输出数据的形式
- [opt] Gop缓冲性能反对配置单个Gop内的最大缓冲帧数量
- [fix] 修复hls获取app name失败的问题
- [fix] flv: 修复ReadAllTagsFromFlvFile中没有敞开文件的bug
- [fix] rtmp: 接管buff解析前无效长度查看
以上内容摘取自 《lal CHANGELOG版本日志》 ,你能够通过源文档获取更具体的内容。
进一步理解lal
- github
- 官网文档
- 分割作者
本文完,祝你明天开心。