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
|
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 |
q191201771
|
994d9d2e14
|
1. bugfix: 打rtmp chunk时,如果时间戳超过3字节,数组越界了,没有预留扩展时间戳的位置 2. rtmp.ClientSession 增加更多的超时方式
|
5 years ago |
q191201771
|
89af181710
|
1. stream.msgLen -> stream.header.MsgLen 2. rtmp stream name with url raw query 3.
|
5 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 |