Commit Graph

6 Commits (0661b35def190b2fe86a16951bf10fd594bd53be)

Author SHA1 Message Date
q191201771 e89ff9992b - package rtmp: 结构体的属性重命名 AVMsg.Message -> AVMsg.Payload
- app/flvfile2rtmppush: 支持推送多路 rtmp 流,相当于一个压测工具
- app/rtmppull: 支持对特定的一路流并发拉取多份,相当于一个压测工具
- README 中补充性能测试结果
5 years ago
q191201771 5ec728359c - package rtmp:
- 增加结构体 ClientSessionOption,PushSessionOption,PullSessionOption
    - 增加结构体 AVMsg
    - ClientSession 作为 PushSession 和 PullSession 的私有成员
    - 将绝对时间戳移入到 Header 结构体中
    - PullSession::Pull OnReadAVMsg with AVMsg
    - AVMsgObserver::ReadRTMPAVMsgCB -> OnReadRTMPAVMsg
- package httpflv:
    - PullSessionOption
    - OnReadFLVTag
    - some func use Tag instead of *Tag
    - 整个包的代码做了一次整理
    - FlvFileReader 在 ReadTag 中懒读取 flv header
- package logic:
    - 使用 rtmp.AVMsg
    - 增加两个函数 MakeDefaultRTMPHeader,FLVTagHeader2RTMPHeader
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 083d05a771 1. 从远端下载flv文件做单元测试 2. 添加微信图片 3. 所有源码文件头部添加MIT许可证 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