q191201771
|
a58a2ce60c
|
1. [feat] 配置文件中支持配置是否清除过期流的HLS文件 2. [feat] 增加HTTP API接口`/api/ctrl/kick_out_session`,用于踢掉指定的session 3. [feat] HTTP Notify事件回调中的session结构体都增加session id字段
|
4 years ago |
q191201771
|
adcb4935ad
|
[fix] relay push with url param
|
4 years ago |
q191201771
|
c3aac90cc9
|
1. [feat] lalserver的session增加存活检查,10秒没有数据会主动断开连接 2. [feat] lalserver的group没有sub拉流时,停止对应的pull回源 3. [feat] HTTP Notify事件回调中,增加`on_rtmp_connect`
|
4 years ago |
q191201771
|
1e3358c80b
|
1. [feat] 增加HTTP Notify事件回调功能,见 https://pengrl.com/p/10101 2. [feat] HTTP API中,增加`/api/ctrl/start_pull`接口,可向lalserver发送命令,主动触发pull回源拉流 3. [feat] HTTP API中,group结构体中增加pull结构体,包含了回源拉流的信息 4. [fix] 通过配置文件静态relay push转推时,push rtmp url透传pub rtmp url的参数
|
4 years ago |
q191201771
|
e5788aeadd
|
[feat] 一部分rtsp sub的代码
|
4 years ago |
q191201771
|
9351c3a1d0
|
[fix] 修复rtsp pub推流时,纯视频(没有音频)流处理的问题
|
4 years ago |
q191201771
|
678dd5c8f2
|
[feat] HTTP API增加/api/list页面,展示所有接口的列表
|
4 years ago |
q191201771
|
f2fc9a741a
|
增加HTTP API接口,获取服务信息
|
4 years ago |
q191201771
|
d7df4d9623
|
[feat] 支持rtsp pub h265 (lalserver支持接收rtsp h265的推流)
|
4 years ago |
q191201771
|
e5845e2d3b
|
1. [fix] 修复rtsp pub无法接收IPv6 RTP数据的问题 2. [feat] 部分rtsp pub支持h265的代码
|
4 years ago |
q191201771
|
80e4a83067
|
[fix] windows undefined syscall.Kill, use logic.Dispose in pkg innertest directly
|
4 years ago |
q191201771
|
993cc13a44
|
messages:
- [feat] HTTP-FLV支持HTTPS播放
- [feat] demo pullrtmp2hls: 新增demo,从远端服务器拉取rtmp流,存储为本地hls文件
- [feat] package stun: 完成基础的server功能
- [feat] package hevc: 增加函数,从HVCC SeqHeader解析出VPS,SPS,PPS
- [feat] package hevc: 增加函数,将HVCC SeqHeader转换为AnnexB格式
- [fix] package hls: 修复record m3u8文件无法更新的问题
|
4 years ago |
q191201771
|
0f94f8d4b2
|
1. [feat] 支持HTTP-TS长连接拉流 2. [feat] 在hls直播基础上,同时支持hls录制回放功能
|
4 years ago |
q191201771
|
af21aabcfc
|
[fix] package logic: Group.DelRTMPPubSession中打印日志时,group.rtmpPubSession为nil时解引用崩溃的bug
|
5 years ago |
q191201771
|
ee8de29f7e
|
messages:
- [feat] package rtsp: 支持rtp h264 STAP-A格式
- [fix] package avc: 修复解析sps中PicOrderCntType为2无法解析的bug
- [fix] package sdp: 修复解析sdp fmtp中aac config长度大于4无法解析的bug
- [refactor] package logic: 重构Group,将不同类型的输入流、输出流进行抽象,逻辑统一
- [refactor] package rtprtcp: 将RTPComposer重命名为RTPUnpacker
- [test] 使用wontcry30s.flv作为单元测试用的音视频文件
- [chore] 使用Makefile管理build, test
- [chore] CI跑1.9和master两个Go版本,跑linux、macos、windows三个平台,跑build和test两个脚本
- [doc] 增加文档: https://pengrl.com/p/20080/
|
5 years ago |
q191201771
|
afb7850b87
|
messages:
- [feat] lalserver集成rtsp pub功能。支持接收rtsp(rtp/rtcp)推流,转换为rtmp,httpflv,hls格式供拉流使用
- [refactor] 新增package sdp,rtprtcp,将package rtsp中对应的内容独立出来
- [refactor] 新增package base,整理lal项目中各package的依赖关系。该工作还在进行中
- [feat] package rtmp: 增加BuildMetadata函数
|
5 years ago |
q191201771
|
374c3e4655
|
[doc] comment about func logic::Group::Dispose
|
5 years ago |
q191201771
|
c3785f33b2
|
[fix] group Dispose主动释放所有内部资源,与中继转推回调回来的消息,做同步处理,避免崩溃
|
5 years ago |
q191201771
|
a11723bde7
|
1. [feat] package rtsp: 开始处理收到的rtp数据 2. [style] Nalu更改为NALU
|
5 years ago |
bigbao9494
|
ca823864e1
|
[perf] remove msg copy,remove goroutine in getOrCreateGroup
|
5 years ago |
ljy
|
70dc566f45
|
pull with new-master.modify WriteFrame.
|
5 years ago |
ljy
|
de26ec7973
|
modify getOrCreateGroup
|
5 years ago |
q191201771
|
353f837c8e
|
messages:
- [feat] lalserver增加回源功能
- [fix] rtmp.AMF0.ReadObject函数内部,增加解析子类型EcmaArray。避免向某些rtmp服务器推流时,触发断言错误
- [fix] 解析rtmp metadata时,兼容Object和Array两种外层格式
- [refactor] 重写了lalserver的中继转推的代码
|
5 years ago |
q191201771
|
b3024c8a4e
|
messages:
- [feat] lalserver增加中继转推(relay push)功能,可将接收到的推流(pub)转推(push)到其他rtmp类型的服务器,支持1对n的转推
- [feat] package rtmp: 新增函数amf0::ReadArray,用于解析amf array数据
- [refactor] `rtmp/client_push_session`增加当前会话连接状态
- [fix] demo/analyseflv: 修复解析metadata的bug
- [perf] httpflv协议关闭时,不做httpflv的GOP缓存
- [refactor] logic中的配置变更为全局变量
- [refactor] lal/demo移动到lal/app/demo
- [refactor] 日志整理
|
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 |
lqq
|
7e804f5f9e
|
修改在feedNewGOP时先判断是否队列是否满,在添加数据
|
5 years ago |
lqq
|
69958df6b6
|
修改一个判断GOPRing是否满的bug,调整代码格式
|
5 years ago |
liquanqing
|
2fd4b858ba
|
统封装环形队列GopEmpty的逻辑
|
5 years ago |
liquanqing
|
2347363a18
|
在gop_cache中简单的对环形队列缓存进行封装
|
5 years ago |
liquanqing
|
3d8c1c3d58
|
[refactor]:将环形队列结构删除,将环形队列逻辑写在GOgop_cache中
|
5 years ago |
lqq
|
c93237e29f
|
[perf]:缓存一个GOP时复用之前的GOP对象和GOP中的帧列表
|
5 years ago |
lqq
|
950ed48529
|
[chore]:修改两个换行,对齐格式
|
5 years ago |
lqq
|
9ad87393b6
|
[fix]:将测试文件的缩进由空格修改为一个tab
|
5 years ago |
lqq
|
59871d9f6d
|
[fix]:修改计算环形队列长度计算方式
|
5 years ago |
lqq
|
b4f470a798
|
[fix]:修改发送gop时多发送了一个gop
|
5 years ago |
lqq
|
720085efaa
|
[refactor]:将gop缓存的数据结构由切片改为环形队列
|
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
|
570228f18d
|
1. [fix] package logic: 转发 rtmp metadata 时,message header 中的 len 字段可能和 body 实际长度不一致 2. [log] package rtmp: 一些错误情况下,对接收到包 dump hex 3. [dep] update naza -> v0.7.1
|
5 years ago |
q191201771
|
3986683396
|
- 测试推送 n 路流至 lals,再从 lals 拉取这 n 路流的性能消耗
- rtmp.AVMsg 增加判断包中音视频数据是否为 seq header 等函数
- app/httpflvpull 使用 naza/bitrate 来统计音频和视频的带宽
- logic config 的部分配置移动至 app/lals 中
- logic 增加 LazyChunkDivider 组织代码
- gop cache 写了一点,没完成
|
5 years ago |
q191201771
|
e89ff9992b
|
- package rtmp: 结构体的属性重命名 AVMsg.Message -> AVMsg.Payload
- app/flvfile2rtmppush: 支持推送多路 rtmp 流,相当于一个压测工具
- app/rtmppull: 支持对特定的一路流并发拉取多份,相当于一个压测工具
- README 中补充性能测试结果
|
5 years ago |
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
|
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
|
747a529124
|
修改内容:
- 适配 naza,读取配置文件时,部分未配置的字段设置初始值
- build.sh 中 git信息单引号替换成双引号
- test.sh 中 加入 gofmt 检查
|
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 |