Skip to content
On this page

v4 发布日志

从V3升级到V4主要变化

  • 对核心结构体进行泛型重构
  • RingBuffer中元素存放的是完整的一帧,以确保构建RTP包时可以准确添加marker
  • 去除GOP延迟追帧逻辑,改为跳帧同步最新关键帧技术
  • 缓存形式从[]byte变为net.Buffers,使得可利用writev提高性能
  • 缓存中预构建avcc、flv、rtp三种格式,并且复用内存
  • 支持动态码率、动态分辨率
  • Stream拥有4种状态,从而支持按需拉流,断线重连等复杂场景
  • 去除Track等待逻辑,改为通过事件通知的方式
  • 原有Hook机制修改为事件总线模型,简化了代码逻辑
  • 新增http回调设置
  • 插件安装API更新,更简单
  • 插件通过反射自动注册Web API,并提供中间件机制
  • 自带跨域CORS配置以及基本身份认证功能
  • 插件在订阅发布流的API更新,采用一种统一的可扩展的事件模型
  • 采用zap作为日志库
  • 配置文件格式改为yaml
  • 实现无配置文件也可以启动(采用默认配置)
  • 配置文件中需要显式关闭插件才会使得插件不启用
  • 配置文件中对于订阅、发布、推、拉四种配置包含全局、插件级、流级三级优先级覆盖机制
  • 实现了对远程服务器推拉的基本底层架构,方便插件实现client端逻辑
  • 实现h265的完全支持
  • 新增debug插件用于调试
  • 去除Gateway插件以及summary插件,并入引擎中
  • record插件现支持fmp4格式录制
  • 新增webtransport插件提供WebTransport协议拉流
  • rtsp插件实现h265的拉流播放、实现aac、g711音频流处理
  • rtsp协议转发将不再重新解包和封包——透传
  • rtmp协议实现client端逻辑——可以从远程rtmp服务器推拉流

Changelog

v4.1.0

  • d05bd7b 📦 NEW: 新增edge插件,提供简单级联功能

v4.0.13

  • 6f9fe7c 🐛 FIX: rtmp插件与srs服务器互通的问题

v4.0.12

  • 96d886c 🐛 FIX: hook插件读取配置文件错误

v4.0.11

  • ca2f695 🐛 FIX: gb拉流信令拼接错误

v4.0.10

  • 0fd608a 🐛 FIX: engine中订阅关键帧被覆盖问题,gb的ptzcmd中发送的deviceID值问题,acc的rtp包超过一个mtu时的解析问题

v4.0.9

  • d5e6a51 🐛 FIX: dts在无B帧情况下的生成机制修正,gb插件增加设备信息持久化重启实例后可快速恢复

v4.0.8

  • e035cf0 👌 IMPROVE: 增加rtsp拉流报错信息,gb插件增加ps流dump功能方便排查错误

v4.0.7

  • f82c423 🚀 RELEASE: 修复远端拉流保存并发问题,修复gb拉流PS包解析bug,导出部分插件

v4.0.6

  • 87f0806 API增加获取远端导入的流以及向远端推流的信息

v4.0.5

  • da69aae 修复gb插件中的pts和dts覆盖bug,兼容rtsp协议sdp中无sps和pps问题

v4.0.4

  • 6e8081a 1、增加配置日志级别;2、发布者增加可以配置断线延迟退出时间配置

v4.0.3

  • 70b5c55 修复数据轨道释放导致读取错误,以及写入annexb格式时的dts生成问题

v4.0.2

  • 4486c61 对rtmp协议写入数据增加判空逻辑

v4.0.1

  • 29f574a 增加10s的fps和bps历史统计,rtsp插件增加拉流时强制指定协议的配置,修复若干bug

v4.0.0

  • d12052e 修复gb28181插件ssrc取值以及ip获取的兼容性

v4.0.0

  • 9234c10 修复gb28181插件ssrc取值以及ip获取的兼容性

v4.0.0-beta9

  • 7a0964b Merge branch 'v4' of github.com:langhuihui/monibuca into v4
v4 发布日志 has loaded