Commit Graph

15 Commits (7167d41fb5e002c99d605bc381e4a9b77668536c)

Author SHA1 Message Date
q191201771 353f837c8e messages:
- [feat] lalserver增加回源功能
- [fix] rtmp.AMF0.ReadObject函数内部,增加解析子类型EcmaArray。避免向某些rtmp服务器推流时,触发断言错误
- [fix] 解析rtmp metadata时,兼容Object和Array两种外层格式
- [refactor] 重写了lalserver的中继转推的代码
5 years ago
q191201771 b3024c8a4e messages:
- [feat] lalserver增加中继转推(relay push)功能,可将接收到的推流(pub)转推(push)到其他rtmp类型的服务器,支持1对n的转推
  - [feat] package rtmp: 新增函数amf0::ReadArray,用于解析amf array数据
  - [refactor] `rtmp/client_push_session`增加当前会话连接状态
  - [fix] demo/analyseflv: 修复解析metadata的bug
  - [perf] httpflv协议关闭时,不做httpflv的GOP缓存
  - [refactor] logic中的配置变更为全局变量
  - [refactor] lal/demo移动到lal/app/demo
  - [refactor] 日志整理
5 years ago
q191201771 3986683396 - 测试推送 n 路流至 lals,再从 lals 拉取这 n 路流的性能消耗
- rtmp.AVMsg 增加判断包中音视频数据是否为 seq header 等函数
- app/httpflvpull 使用 naza/bitrate 来统计音频和视频的带宽
- logic config 的部分配置移动至 app/lals 中
- logic 增加 LazyChunkDivider 组织代码
- gop cache 写了一点,没完成
5 years ago
q191201771 24f56530e9 - package logic: 将 rtmp pub session 的音视频转发给httpflv sub session
- package httpflv: ServerSubSession 使用 naza connection
- package logic: 增加 `example_test`,加载flv文件后使用rtmp推流至服务器,然后分别使用rtmp和httpflv将流拉取下来,存成文件,判断和输入文件是否相等
5 years ago
q191201771 17a053c3c2 - [代码] 默认的rtmp地址
- [代码] naza 更新为 0.4.3
- [架构调整] lal 中的服务器更名为 lals
- [其他] 从远端下载 flv 测试文件,跑单元测试
- [其他] 所有源码文件添加 MIT 许可证
- [其他] test.sh 中加入更多 go tool
5 years ago
q191201771 083d05a771 1. 从远端下载flv文件做单元测试 2. 添加微信图片 3. 所有源码文件头部添加MIT许可证 5 years ago
q191201771 747a529124 修改内容:
- 适配 naza,读取配置文件时,部分未配置的字段设置初始值
- build.sh 中 git信息单引号替换成双引号
- test.sh 中 加入 gofmt 检查
5 years ago
q191201771 84fdaa84f5 修改内容:
- package logic: 增加 func FlvTag2RTMPMsg
- package rtmp:
    - 增加 `example_test.go` 开启了一个 Server,一个 PushSession,一个 PullSession,用于测试整个 rtmp 包的流程
    - ClientSession 和 ServerSession 使用 nezha 中的 connection
    - 增加 struct ChunkDivider
    - 调整一些接口
- package httpflv:
    - 删除了 group, gop 相关的代码,后续会放入 package logic 中
- 更新 nezha -> 0.3.0
5 years ago
q191201771 7f1a48ce9b 修改内容如下:
- [结构调整] 将 app/lal 的部分代码抽离到 pkg/logic 中,使得其他 app 可以使用
- [结构调整] 将协议层 rtmp.Group 和 应用层 app/lal 中的 GroupManager 合并为 逻辑层 pkg/logic 的 Group,以后只在逻辑层维护一个 Group,用于处理各种具体协议的输入输出流的挂载
- [功能] pkg/logic 中新增 trans.go: RTMPMsg2FlvTag
- [功能] PubSession 退出时,清空缓存的 meta、avc header、aac header
- [功能] PubSession 已经存在时,后续再连接的 Pub 直接关闭掉
- [功能] app/rtmppull 存储为flv文件
- [优化] chunk divider: calcHeader 在原地计算
- [其他] rtmp 中所有 typeid 相关的类型 int -> uint8,msgLen 相关的类型 int -> uint32
- [其他] 更新 nezha,新版本的日志库
- [其他] 整理日志
- [其他] pprof web 地址放入配置文件中
- [测试] 使用一些开源工具对 app/lal 做推流、拉流测试
5 years ago
q191201771 25523bcf6c -) 增加 rtmp.HandshakeClientComplex 复杂握手模式 -) 整理一些 struct 的 Dispose 方法 -) 整理日志 -) 增加一些单元测试和 benchmark -) 整理 lal 项目的 roadmap -) 更新 nezha 版本至 0.1.0 5 years ago
q191201771 49668ea9b5 prev commit patch 5 years ago
q191201771 e14a18e4a3 删除 /pkg/util ,这部分内容移入至另一个仓库 github.com/q191201771/nezha 6 years ago
q191201771 60c2d11f78 assert.Equal 的 msg 参数可选是否填入 6 years ago
q191201771 0437993a24 提交信息:
* rtmp音频直接转发,不等待视频
* 新增 /pkg/util/assert 用于替换单元测试中的 stretchr/testify/assert
* 补充一些单元测试
6 years ago
q191201771 9950b1484f 整理目录,源码放入app/和pkg/下 6 years ago