Commit Graph

32 Commits (200e0063930709b54bd6ec4963f41eeabbbaf115)

Author SHA1 Message Date
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 bce56313ae app lal: 接收 USER1 USER2 信号,优雅退出 5 years ago
q191201771 07a6e6702e 整理代码 5 years ago
q191201771 49668ea9b5 prev commit patch 5 years ago
q191201771 af4a30fd36 package rtmp: 1). pack.go 重命名为 message_packer.go 2). 增加 amf0.WriteNull 和 amf0.WriteBoolean 3). WriteObject 中增加 bool 类型 4). bugfix: ReadString 当长度不足时返回 ErrAMFTooShort 而不是 ErrAMFInvalidType 5). pkg/rtmp/amf0_test.go 增加一些 case 5 years ago
q191201771 da1bca5a10 更新 nezha 版本,使用其中的 MockWriter 5 years ago
q191201771 062c25c016 package rtmp: pack_test.go 测试覆盖率上升至 100% 注意,方法 writeMessageHeader 有不兼容修改 5 years ago
q191201771 982ad1e9f4 增加 pkg/rtmp/pack_test.go 5 years ago
q191201771 5135067a73 只对 /pkg 做单元测试 5 years ago
q191201771 8741d6b3dc 1). rtmp.ServerSession bugfix: 做 group 匹配时使用去除 url 参数的 streamName 2). rtmp.Group 增加 UniqueKey 5 years ago
q191201771 8830ef6db6 1). app/flvfile2rtmppush 优化平稳推流 2). app/modflvfile 使用 log.FatalIfErrorNotNil 3). rtmp.ClientSession bugfix 信令中的 streamName 携带 url 参数,匹配 group 时不携带 4). rtmp.ServerSession 中处理 typeidAck 5 years ago
q191201771 1394663101 1). flvfile2rtmppush 增加 bininfo 2). flvfile2rtmppush error 时 panic -> log & os exit 3). build_linux.sh 直接调用 build.sh 5 years ago
q191201771 0f5d5ab395 新增 go.mod 和 go.sum 文件 5 years ago
q191201771 8136c5b620 1. httpflv 抽象出 readTag 函数 2. rtmp.ClientSession 读取 typeidAck 5 years ago
q191201771 994d9d2e14 1. bugfix: 打rtmp chunk时,如果时间戳超过3字节,数组越界了,没有预留扩展时间戳的位置 2. rtmp.ClientSession 增加更多的超时方式 5 years ago
q191201771 eeb47bbd92 1. 所有时间戳类型 int -> uint32 2. app/flvfile2rtmppush 循环推送音视频数据 5 years ago
q191201771 89af181710 1. stream.msgLen -> stream.header.MsgLen 2. rtmp stream name with url raw query 3. 5 years ago
q191201771 750e7adce0 rtmp.ClientSession: ModWriteBufSize 6 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 8dc82bf27a 兼容srs-bench, rtmp message中的非首个 chunk 使用fmt3 而非 fmt0 6 years ago
q191201771 472b299124 log 6 years ago
q191201771 b770eeb48b 增加 /app/httpflvpull , http-flv拉流客户端 6 years ago
q191201771 1be33f77f5 修改内容如下:
- 去除对第三方日志库seelog的依赖,自己实现了一个简单的日志模块 /pkg/util/log
- 去除对 github.com/pkg/errors 的依赖,至此,lal不依赖任何第三方库
- 从flv文件中抽取aac数据写成aac es流格式文件
- 增加 app/rtmppull,一个rtmp拉流客户端
6 years ago
q191201771 8ae5a84133 COMMIT MSG:
* 增加 /app/modflvfile 用于修改flv文件
* 解决ffmpeg推rtmp时,时间戳过大fmt为3,依然有ext ts字段的问题
* 去除 /pkg/rtmp 下的 server_pub_session.go 和 server_sub_session.go,都
聚合在 server_session.go 中
6 years ago
q191201771 c737f95fa0 添加app/flvfile2rtmppush,可读取一个flv文件,使用rtmp协议推送出去 6 years ago
q191201771 79ebdbe8c8 commit messages:
* rtmp.ServerSession 使用channel发送数据,增加Dispose方法
* rtmp.Group 缓存avc header,aac header
6 years ago
q191201771 ca27679b9d commit messages:
* 加入编译时信息bininfo
* 将rtmp.PubSession的数据转发给rtmp.SubSession,目前先sub再pub可以播放了
* 将lal.Group的功能拆分成httpflv.Group和rtmp.Group两部分
* 整理pkg和/pkg/util包
6 years ago
q191201771 27d12599a2 add func Message2Chunks 6 years ago
q191201771 9950b1484f 整理目录,源码放入app/和pkg/下 6 years ago