q191201771
|
8b509a0dc0
|
unit test for prev commit
|
6 months ago |
q191201771
|
e5a582bff1
|
[chore] 提交git时忽略._*.go文件,make clean时清除这些文件
|
9 months ago |
q191201771
|
e305a76ffb
|
doc
|
10 months ago |
q191201771
|
ff751407d4
|
gitignore
|
2 years ago |
q191201771
|
c698bf1b61
|
[fix] 增强兼容性,rtmp转mpegts时,使用nalu中的sps和pps
|
3 years ago |
q191201771
|
6084827c00
|
[chore] 单元测试结束后清理垃圾文件
|
3 years ago |
q191201771
|
d5c7047295
|
patch
|
3 years ago |
q191201771
|
2c913f41e3
|
[feat] 为rtmp pub推流添加静音AAC音频(可动态检测是否需要添加;配置文件中可开启或关闭这个功能) (#56)
|
3 years ago |
q191201771
|
2fc5c3194a
|
[chore] 增强易用性:修改配置文件中的默认配置:hls、flv、mpegts的文件输出地址由绝对路径/tmp修改为相对路径./lal_record
|
3 years ago |
q191201771
|
6d2bf2556d
|
[feat] 优化和统一所有client类型session的使用方式:session由于内部或对端原因导致关闭,外部不再需要显式调用Dispose函数释放资源
|
4 years ago |
q191201771
|
cfabc9043c
|
[feat] 新增demo pullrtmp2pushrtsp
|
4 years ago |
q191201771
|
e386cfee9f
|
(#83) [feat] rtp aac打包
|
4 years ago |
q191201771
|
7d8883f1db
|
messages:
- [feat] package rtprtcp: 增加RtpPacker用于打包RtpPacket;RtpPackerPayloadAvc支持多种输入形式
- [feat] package aac: 增加adts,asc,seqheader间的转换代码;重构了整个包
|
4 years ago |
q191201771
|
0cf8660d17
|
messages:
- #77 [feat] lalserver: httpflv,httpts,hls的url pattern路由路径可以在配置文件中配置
- #64 [feat] hls默认提供两种播放url地址
- #77 [refactor] package hls: 将http url路径格式,文件存储路径格式,文件命名格式,映射关系抽象出来,业务方可在外层实现IPathSolver接口做定制
|
4 years ago |
q191201771
|
761b203060
|
patch
|
4 years ago |
q191201771
|
eec848f98c
|
gitignore
|
4 years ago |
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 |