Commit Graph

53 Commits (994d9d2e14ac328701e57d42ba3ef210c110c09b)
 

Author SHA1 Message Date
q191201771 994d9d2e14 1. bugfix: 打rtmp chunk时,如果时间戳超过3字节,数组越界了,没有预留扩展时间戳的位置 2. rtmp.ClientSession 增加更多的超时方式
q191201771 eeb47bbd92 1. 所有时间戳类型 int -> uint32 2. app/flvfile2rtmppush 循环推送音视频数据
q191201771 89af181710 1. stream.msgLen -> stream.header.MsgLen 2. rtmp stream name with url raw query 3.
q191201771 750e7adce0 rtmp.ClientSession: ModWriteBufSize
q191201771 7ec3b9c0e1 pkg/httpflv/client_pull_session.go 更新 nezha 中的 connection
q191201771 5648cab5e4 增加 httpflv.PullSessionConfig
q191201771 1e7b3d81b9 mod lal.conf.json
q191201771 97b5a05973 整理 pkg/httpflv/client_pull_session.go
q191201771 5dc559c371 -v 打印信息时去除多余的换行
q191201771 ea29c1f2f3 build.sh: add GitStatus
q191201771 99a776106a httpflv.PullSession 中使用 nezha/connection 做 net.Conn 的管理
q191201771 808c026f7c build.sh
q191201771 e14a18e4a3 删除 /pkg/util ,这部分内容移入至另一个仓库 github.com/q191201771/nezha
q191201771 60c2d11f78 assert.Equal 的 msg 参数可选是否填入
q191201771 0437993a24 提交信息:
* rtmp音频直接转发,不等待视频
* 新增 /pkg/util/assert 用于替换单元测试中的 stretchr/testify/assert
* 补充一些单元测试
q191201771 8dc82bf27a 兼容srs-bench, rtmp message中的非首个 chunk 使用fmt3 而非 fmt0
q191201771 472b299124 log
q191201771 eecc4097c3 README
q191201771 b770eeb48b 增加 /app/httpflvpull , http-flv拉流客户端
q191201771 3a12daab80 日志按大小翻滚
q191201771 843dfda280 README
q191201771 31aac592fd README
q191201771 1be33f77f5 修改内容如下:
- 去除对第三方日志库seelog的依赖,自己实现了一个简单的日志模块 /pkg/util/log
- 去除对 github.com/pkg/errors 的依赖,至此,lal不依赖任何第三方库
- 从flv文件中抽取aac数据写成aac es流格式文件
- 增加 app/rtmppull,一个rtmp拉流客户端
q191201771 03208d5a55 添加 app/flvfile2es 用于从flv文件中抽取h264 es流并写入文件
q191201771 2f6d036083 README
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 中
q191201771 c737f95fa0 添加app/flvfile2rtmppush,可读取一个flv文件,使用rtmp协议推送出去
q191201771 79ebdbe8c8 commit messages:
* rtmp.ServerSession 使用channel发送数据,增加Dispose方法
* rtmp.Group 缓存avc header,aac header
q191201771 3630b7568d rm coverage.txt, add build_linux.sh
q191201771 fda375ab60 fix ut
q191201771 ca27679b9d commit messages:
* 加入编译时信息bininfo
* 将rtmp.PubSession的数据转发给rtmp.SubSession,目前先sub再pub可以播放了
* 将lal.Group的功能拆分成httpflv.Group和rtmp.Group两部分
* 整理pkg和/pkg/util包
q191201771 27d12599a2 add func Message2Chunks
q191201771 e1f81de2c2 add unique_test.go
q191201771 41f0317cd0 rm bin/lal
q191201771 9950b1484f 整理目录,源码放入app/和pkg/下
q191201771 97a393fb03 badges
q191201771 3b8d54111c badges
q191201771 c56230930c badges
q191201771 6450dabde9 README
q191201771 b361a057f6 README
q191201771 c7d14cce1b build badge and codecov badge
q191201771 f52241d795 fix cannot use test profile flag with multiple packages
q191201771 ca7433e0c3 test subdir
q191201771 ed684204be codecov
q191201771 8f52174fbd *) 新增 rtmp.PubSession 和 rtmp.SubSession *) 新增 rtmp/handshake_test.go *) 新增 rtmp/chunkdivider.go。用于将业务层的message切割成rtmp chunk
q191201771 d9d752ce52 *) 部分rtmp.ServerSession与上层代码的交互 *) 增加amf0_test.go
q191201771 1703aa7e82 commit messages:
* rtmp.HandshakeS,完成了服务端rtmp简单握手和复杂握手两种模式
* 增加rtmp.Composer,将读入的rtmp协议数据组织成chunk再合并成上层的message
* rtmp.ServerSession,完成从收到握手到publish或play信令的处理
* 补全bele_test
q191201771 763cc241a6 mod:
* 部分rtmp回源代码
* 部分rtmp server代码
* 部分rtmp服务端握手代码
q191201771 c6c4c9e28a commit msgs:
* 增加rtmp.PushSession,作为rtmp推流客户端使用
* 将rtmp.PushSession和rtmp.PullSession的大部分重复代码抽离放入rtmp.ClientSession中
* 更多的rtmp pull/push的基础功能,目前pull已可以从远端拉取到音视频数据,push还差发送音视频数据的接口与实现
* 将httpflv中的Manager和Group放入更高层lal下,为以后httpflv和rtmp转换以及管理做准备
* 增加util.ConnStat用于统计和判断长连接收发数据是否超时
* 更多的AMF0格式读写,rtmp pack的读写
* 重新组织了配置文件
* httpflv.Server接收SubSession使用回调取代channel的方式
* 统一变量命名,缩写全大写
* 做了简单的压力测试
q191201771 209c32d0cb * 优化http-flv gop存储方式。
* 优化http-flv拉流时buffer拷贝。
* 写了一部分rtmp客户端拉流功能。
* 简单的压力测试,在腾讯云两核云主机上,拉300路http-flv流,带宽360Mb,占单核CPU 55%左右。
* 添加日志不初始化时,默认输出控制台。