q191201771
|
353f837c8e
|
messages:
- [feat] lalserver增加回源功能
- [fix] rtmp.AMF0.ReadObject函数内部,增加解析子类型EcmaArray。避免向某些rtmp服务器推流时,触发断言错误
- [fix] 解析rtmp metadata时,兼容Object和Array两种外层格式
- [refactor] 重写了lalserver的中继转推的代码
|
5 years ago |
q191201771
|
9af3b44753
|
Changes:
- [refactor] app/lals重命名为app/lalserver,避免描述时容易和lal造成混淆
- [refactor] 将app/lalserver的大部分逻辑代码移入pkg/logic中
- [test] 将所有package的Server、Session等内容的实例测试收缩至package innertest中,多个package都可以共用它做单元测试
- [refactor] lalserver配置中增加显式enable字段,用于开启关闭特定协议
- [refactor] 各package的Server对象增加独立的Listen函数,使得绑定监听端口失败时上层可以第一时间感知
- [feat] demo/analyseflv,增加I帧间隔检查,增加metadata分析
- [fix] package avc: 修复函数CalcSliceType解析I、P、B帧类型的bug
- [refactor] package aac: 函数ADTS::PutAACSequenceHeader检查输入切片长度
- [reafactor] package aac: 删除函数CaptureAAC
- [feat] 增加demo/learnrtsp,pkg/rtsp,开始学习rtsp
|
5 years ago |
q191201771
|
41cdddbe2f
|
1. [feat] 完成package hls的基础功能,并做了小范围重构 2. [feat] lals服务接入hls功能 3. [refactor] 将app目录下除lals的其他应用移入demo目录下 4. [feat] 新增两个demo:analyseflv和analysehls,分别用于拉取HTTP-FLV和HLS的流,并进行分析v0.12.3 -> CHANGELOG.md
|
5 years ago |
q191201771
|
d7e77299b2
|
[feat] HLS: rtmp音视频数据转换成m3u8+ts格式并落盘部分基本完成了
|
5 years ago |
q191201771
|
a6d68e8ca0
|
[feat] 部分rtmp video message转成mpegts的代码,还没有完成
|
5 years ago |
q191201771
|
4336627955
|
[feat] 新package hevc [doc] package aac增加一些注释 [fix] windows平台缺少USER1信号 [fix] gop缓存时,不以I帧开始的流会崩溃 [chore] 提供各平台二进制可执行文件的压缩包 [refactor] 使用naza 0.10.0[refactor] naza 0.10.0
|
5 years ago |
q191201771
|
e1f6ebdc14
|
1. [feat] RTMP和HTTP-FLV支持H265 2. [feat] logic支持GOP缓存
|
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
|
17a053c3c2
|
- [代码] 默认的rtmp地址
- [代码] naza 更新为 0.4.3
- [架构调整] lal 中的服务器更名为 lals
- [其他] 从远端下载 flv 测试文件,跑单元测试
- [其他] 所有源码文件添加 MIT 许可证
- [其他] test.sh 中加入更多 go tool
|
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
|
2de67da06a
|
1). errors.PanicIfErrorOccur -> log.FatalIfErrorNotNil 2). 新增 pkg/aac/aac_test.go
|
5 years ago |
q191201771
|
7ec3b9c0e1
|
pkg/httpflv/client_pull_session.go 更新 nezha 中的 connection
|
6 years ago |
q191201771
|
0437993a24
|
提交信息:
* rtmp音频直接转发,不等待视频
* 新增 /pkg/util/assert 用于替换单元测试中的 stretchr/testify/assert
* 补充一些单元测试
|
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
|
03208d5a55
|
添加 app/flvfile2es 用于从flv文件中抽取h264 es流并写入文件
|
6 years ago |
q191201771
|
3630b7568d
|
rm coverage.txt, add build_linux.sh
|
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
|
41f0317cd0
|
rm bin/lal
|
6 years ago |
q191201771
|
f52241d795
|
fix cannot use test profile flag with multiple packages
|
6 years ago |
q191201771
|
763cc241a6
|
mod:
* 部分rtmp回源代码
* 部分rtmp server代码
* 部分rtmp服务端握手代码
|
6 years ago |
q191201771
|
209c32d0cb
|
* 优化http-flv gop存储方式。
* 优化http-flv拉流时buffer拷贝。
* 写了一部分rtmp客户端拉流功能。
* 简单的压力测试,在腾讯云两核云主机上,拉300路http-flv流,带宽360Mb,占单核CPU 55%左右。
* 添加日志不初始化时,默认输出控制台。
|
6 years ago |
q191201771
|
bf6b9502df
|
* PullSession和SubSession的主动关闭、被动关闭
* 引入日志库seelog,添加一些日志
* 缓存gop
* 部分解析avc seq header
|
6 years ago |
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
* 支持对端关闭
* 支持配置,多长时间无数据发送,主动关闭连接
|
6 years ago |