q191201771
|
6d2bf2556d
|
[feat] 优化和统一所有client类型session的使用方式:session由于内部或对端原因导致关闭,外部不再需要显式调用Dispose函数释放资源
|
4 years ago |
q191201771
|
0e409102a0
|
(#83) [feat] package rtprtcp: 支持h265 rtp打包
|
4 years ago |
q191201771
|
731bed099a
|
(#87) [refactor] 重构lal整个项目的命名规则
|
4 years ago |
q191201771
|
e4df7af23b
|
[refactor] package rtmp: rtmp.ClientSession支持配置选择简单握手或者复杂握手, 默认使用简单握手 (#68)
|
4 years ago |
q191201771
|
3df6ee4027
|
1. [refactor] 使用新的unique id生成器,提高性能 2. [refactor] 统一各Session接口
|
4 years ago |
q191201771
|
942b5da52d
|
messages:
- [feat] rtsp,pull支持interleaved(over tcp)模式。demo/pullrtsp2pushrtmp和demo/pullrtsp可通过运行参数选择是否使用over tcp模式
- [feat] rtsp,pull支持auth digest验证
- [feat] rtsp,pull支持定时发送GET_PARAMETER rtsp message进行保活(对端支持的情况下)
- [fix] rtsp,输入流音频不是AAC格式时,保证视频流可正常remux成其他封装协议
- [fix] rtsp,pull开始时发送dummy rtp/rtcp数据,保证对端能成功发送数据至本地
- [fix] rtsp,将以下包返回给上层:rtsp pub h265, single rtp packet, VPS, SPS, PPS, SEI
- [fix] rtsp,修改rtsp.AVPacketQueue的行为:当音频或者视频数量队列满了后,直接出队而不是丢弃
- [fix] sdp,修复解析及使用sdp错误的一些case
- [refactor] rtmp/httpflv/rtsp,统一所有PullSession:超时形式;Pull和Wait函数
- [fix] avc,尝试解析scaling matrix
|
4 years ago |
q191201771
|
89f0442ee1
|
commit messages:
- 增加demo程序:`/app/demo/pullrtsp2pushrtmp`,可拉取rtsp流,并使用rtmp转推出去
- 所有session实现ISessionURLContext接口,用于获取流url相关的信息
- 所有session实现ISessionStat接口,用于计算、获取bitrate等流相关的信息
- 重构所有client session解析url的地方
|
4 years ago |
q191201771
|
34bd5cf004
|
commit messages:
- `/app/demo/dispatch`处理`on_update`事件回调
- HTTP Notify增加新事件回调`/on_server_start`
- HTTP API `/api/stat/lal_info` 中增加`server_id`字段
- 增加`gen_tag.sh`,用于打tag
|
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
|
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
|
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
|
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
|
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
|
994d9d2e14
|
1. bugfix: 打rtmp chunk时,如果时间戳超过3字节,数组越界了,没有预留扩展时间戳的位置 2. rtmp.ClientSession 增加更多的超时方式
|
6 years ago |
q191201771
|
89af181710
|
1. stream.msgLen -> stream.header.MsgLen 2. rtmp stream name with url raw query 3.
|
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 |