q191201771
|
ffdb1c7c08
|
[fix] 修复httpflv多级路径下无法播放的问题
|
3 years ago |
q191201771
|
e3578157f4
|
mod messages:
- [perf] rtmp合并发送功能使用writev实现
- [refactor] 可定制性: logic: 抽象出ILalServer接口;业务方可在自身逻辑中创建server,选择是否获取notify通知,以及使用api控制server
- [refactor] 兼容性: 再增加一个配置文件默认搜索地址
- [refactor] 可读性: logic: ServerManager和Config不再作为全局变量使用;去除entry.go中间层;iface_impl.go移入innertest中;signal_xxx.go移入base中
|
3 years ago |
q191201771
|
61687aaf8a
|
patch
|
3 years ago |
q191201771
|
ccc94c9860
|
[refactor] logic中流媒体服务于http notify再增加一层中间层notify,便于业务方定制自己的业务逻辑
|
3 years ago |
q191201771
|
422e03cfdb
|
patch
|
3 years ago |
q191201771
|
e40167d506
|
[feat] 检查所有配置项是否存在
|
3 years ago |
q191201771
|
8aa2318465
|
[test] 增加group manager的单元测试
|
3 years ago |
q191201771
|
a21c3760b4
|
[feat] lalserver logic: 实现ComplexGroupManager
|
3 years ago |
q191201771
|
11659e10cc
|
[refactor] logic: 新增GroupManager,管理所有Group
|
3 years ago |
q191201771
|
4f4a566a3a
|
[doc] 文件头增加许可证声明
|
3 years ago |
q191201771
|
674b051cf4
|
prev commit patch
|
3 years ago |
q191201771
|
2c913f41e3
|
[feat] 为rtmp pub推流添加静音AAC音频(可动态检测是否需要添加;配置文件中可开启或关闭这个功能) (#56)
|
3 years ago |
q191201771
|
03c459a024
|
[refactor] httpflv.Sub和httpts.Sub显式调用base.HttpSubSession的函数
|
3 years ago |
q191201771
|
6d2bf2556d
|
[feat] 优化和统一所有client类型session的使用方式:session由于内部或对端原因导致关闭,外部不再需要显式调用Dispose函数释放资源
|
4 years ago |
q191201771
|
528444e582
|
messages:
- [refactor] 使用httpflv.Tag.Payload()
- [refactor] 新增函数remux.FlvTag2RtmpChunks()
|
4 years ago |
q191201771
|
7cf1e03707
|
[refactor] 整理logic/group的代码
|
4 years ago |
q191201771
|
4cea1b8cf5
|
[fix] 确保rtsp sub拉流从关键帧开始发送数据,避免因此引起的花屏
|
4 years ago |
q191201771
|
d11074958d
|
(#97) [feat] lalserver支持用rtsp协议拉取rtmp的推流
|
4 years ago |
q191201771
|
e8bba061cb
|
(#58) [fix] http服务全部配置为不使用,启动lalserver时指针缺少判空导致崩溃
|
4 years ago |
q191201771
|
731bed099a
|
(#87) [refactor] 重构lal整个项目的命名规则
|
4 years ago |
q191201771
|
24e8887ef8
|
#74 #85 [feat] 支持海康威视NVR,大华海康IDC的RTSP流(SDP不包含SPS、PPS等数据,而是通过RTP包发送)
|
4 years ago |
q191201771
|
a41dc6d8ee
|
messages:
1. #86 [fix] gop缓存设置为0时,可能花屏
2. #84 [fix] rtmp merge write开启时,可能给新加入的sub session发送错误的数据
|
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
|
229b55936d
|
#84 [feat] 合并发送
|
4 years ago |
q191201771
|
344a2c82b1
|
messages:
- [feat] HTTP端口复用:HTTP-FLV, HTTP-TS, HLS可使用相同的监听端口。HTTPS类似 #64
- [feat] HTTPS:支持HTTPS-TS, HLS over HTTPS(之前已支持HTTPS-FLV) #66
- [feat] WebSocket:支持WebSocket[s]-TS(之前已支持WebSocket[s]-FLV)#66
- [feat] 配置灵活。增加`default_http`。HTTP-FLV,HTTP-TS,HLS可以独立配置监听地址相关的项,也可以使用公共的`default_http`
- [refactor] 重构httpflv.SubSession和httpts.SubSession的重复代码
|
4 years ago |
q191201771
|
8bf0331b24
|
messages:
- [feat] h265新增支持: hls拉流,hls录制;http-ts拉流,mpegts录制。h265支持列表见: https://pengrl.com/lal/#/LALServer (#65)
|
4 years ago |
q191201771
|
d5d67a51a2
|
[feat] 支持录制flv和ts文件 #14
|
4 years ago |
q191201771
|
2e0615b496
|
patch
|
4 years ago |
q191201771
|
291ceda116
|
[feat] hls支持内存切片 #50
|
4 years ago |
q191201771
|
b180363f76
|
patch
|
4 years ago |
q191201771
|
2c5bb92601
|
messages:
- [fix] package rtsp: 修复rtsp aac可能出现崩溃。支持aac fragment格式(一个音频帧被拆分成多个rtp包)
- [feat] lalserver: 新增配置项hls.cleanup_mode,支持三种清理hls文件的模式,具体说明见 https://pengrl.com/lal/#/ConfigBrief
- [doc] 启用英文版本README.md作为github首页文档展示
- [refactor] package rtprtcp: 重构rtp unpacker,业务方可以使用默认的container,protocol策略,也可以自己实现特定的协议解析组包策略
- [refactor] lalserver: 整理配置文件加载与日志初始化部分的代码
- [doc] lalserver: 新增配置项conf_version,用于表示配置文件的版本号
- [doc] lalserver: 启动时日志中增加lal logo
- [doc] 新增文章《rtmp中的各种ID》,见 https://pengrl.com/lal/#/RTMPID
- [doc] 新增文章《rtmp handshake握手之简单模式和复杂模式》,见 https://pengrl.com/lal/#/RTMPHandshake
|
4 years ago |
joestarzxh
|
748e1ee09a
|
[fix]解决rtsp sub无响应的问题
|
4 years ago |
q191201771
|
8c0da36846
|
fmt
|
4 years ago |
q191201771
|
9bb3dac3d1
|
[fix] 修复lalserver中(rtsp.BaseInSession以及logic.Group)的一些竞态读写,https://github.com/q191201771/lal/issues/47
|
4 years ago |
q191201771
|
3df6ee4027
|
1. [refactor] 使用新的unique id生成器,提高性能 2. [refactor] 统一各Session接口
|
4 years ago |
q191201771
|
fd0f71f9af
|
[feat] app/demo/pushrtmp 做压测时,修改为完全并行的模式
|
4 years ago |
q191201771
|
5993af7456
|
[fix] 获取group中播放者数量时锁没有释放,导致后续无法转发数据
|
4 years ago |
q191201771
|
e1b89c7eff
|
messages:
- [feat] http notify,session增加完整url字段
- [feat] http notify,补全所有session类型
- [refactor] 重构/app/demo/pullrtmp2pushrtmp
|
4 years ago |
q191201771
|
37d8d1738d
|
messages:
- [doc] 启动lal官方文档页: https://pengrl.com/lal
- [doc] 新增文档《rtmp url,以及vhost》: http://pengrl.com/lal/#/RTMPURLVhost
- [feat] demo,新增/app/demo/pullrtmp2pushrtmp,从远端服务器拉取RTMP流,并使用RTMP转推出去,支持1对n转推
- [fix] rtsp,setup信令header中的transport字段区分record和play,record时添加mode=record
|
4 years ago |
q191201771
|
1224afe201
|
messages:
- [fix] rtsp,client session的所有信令都处理401 auth
- [fix] rtsp,in session使用rtp over tcp时,收到sr回复rr
- [fix] avc,整体解析sps数据失败时,只解析最基础部分
- [feat] windows平台下,执行程序缺少运行参数时,等待用户键入回车再退出程序,避免用户双击打开程序时程序闪退,看不到提示信息
- [chore] Go最低版本要求从1.9上升到1.13
|
4 years ago |
q191201771
|
33fe194d40
|
messages:
- [feat] rtsp,PushSession支持auth,interleaved
- [refactor] rtsp,新增ClientCommandSession,将PushSession和PullSession中共用的信令部分抽离出来
- [refactor] rtsp,新增BaseOutSession,将PushSession和SubSession中共用的发送数据部分抽离出来
- [refactor] rtsp,整理所有session,包含生命周期,ISessionStat、IURLContext、Interleaved收发等函数,整理debug日志
|
4 years ago |
q191201771
|
766573741e
|
messages:
- [feat] rtsp,实现PushSession
- [feat] demo,新增app/demo/pullrtsp2pushrtsp,可拉取rtsp流,并使用rtsp转推出去
- [refactor] rtsp,重构部分逻辑,聚合至sdp.LogicContext中
|
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
|
5df6f4b94e
|
commit messages:
- [feat] 新增rtsp pull拉流客户端,`/app/demo/pullrtsp`
- [feat] 实现rtsp pull session
- [feat] rtsp sub支持interleaved模式
- [feat] 新增package remux
- [refactor] 整体重构package rtsp
- [fix] 正确处理大于2字节的AudioSpecificConfig
|
4 years ago |
q191201771
|
fa6599deff
|
messages:
- [feat] rtsp pub -> rtsp sub
- [refactor] 整体重构package rtsp,未完成
- [feat] rtsp pub -> relay rtmp push
|
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
|
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 |