Commit Graph

171 Commits (d63f5eb695818bde5e736296bb43de9df22ff258)
 

Author SHA1 Message Date
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%左右。
* 添加日志不初始化时,默认输出控制台。
q191201771 bf6b9502df * PullSession和SubSession的主动关闭、被动关闭
* 引入日志库seelog,添加一些日志
* 缓存gop
* 部分解析avc seq header
q191201771 5a2ea4fadc 初步完成,http-flv直播流播放分发基础功能。http-flv播放,http-flv回源拉流至本地。
代码待整理。

* Group
    * 通过流名称形成群组,1对n挂载,以及广播转发数据
    * 支持配置,http-flv播放时,如果流不存在,是否从另一个节点http-flv回源拉流至本地
    * 相同的流只回源1路
    * Group内无PullSession和SubSession后释放Group
    * 支持配置,冷流超时释放时间。即无播放端时,多久后主动关闭回源的流
* PullSession - 用于回源(session作为连接主动发起端)
    * 支持配置,发起连接的超时时间
    * 连接成功后可设置tcp socket options
    * 支持对端关闭
    * 支持配置,读数据超时时间
* SubSession - 用于http-flv播放(session作为连接被动接受端)
    * 将net.conn对象传递给SubSession持有前可设置tcp socket options
    * 支持对端关闭
    * 支持配置,多长时间无数据发送,主动关闭连接
q191201771 4ae26ef808 1st