乐趣区

关于rtmp:LAL-v0330发布支持抓取流数据回放调试

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
  • 官网文档
  • 分割作者

本文完,祝你明天开心。

退出移动版