q191201771
|
1c359086fa
|
v0.27.1 -> version.go
|
3 years ago |
q191201771
|
66aaf07216
|
[chore] release包中包含https的签名文件
|
3 years ago |
q191201771
|
0548c2d287
|
v0.27.0 -> version.go
|
3 years ago |
q191201771
|
5e5e96f73a
|
[test] innertest增加m3u8文件检测
|
3 years ago |
q191201771
|
1b5493ef9b
|
[refactor] 通过配置文件控制group调试日志
|
3 years ago |
q191201771
|
b1e0eac902
|
[fix] 修复simple auth模块里hls无法关闭鉴权的问题
|
3 years ago |
q191201771
|
1106c33b2f
|
prev commit patch
|
3 years ago |
q191201771
|
f16b1f8d4f
|
- [feat] simple auth增加支持rtsp,httpts,hls协议 - [feat] simple auth鉴权可配置后门鉴权参数 - [opt] simple auth鉴权参数的md5值兼容大小写
|
3 years ago |
q191201771
|
20d5d56690
|
[fix] 增强兼容性,当收到的rtmp message中aac seq header payload长度为0时忽略,避免崩溃 #116
|
3 years ago |
q191201771
|
57ad766d34
|
[feat] 新增simple auth鉴权功能,rtmp,httpflv支持md5鉴权
|
3 years ago |
q191201771
|
c81a840e4a
|
[opt] avc: 增强兼容性,分隔avcc格式的nal时,如果存在长度为0的nal则忽略
|
3 years ago |
q191201771
|
8154e40069
|
[test] innertest http api
|
3 years ago |
q191201771
|
ca3797c822
|
[refactor] prev pr patch
|
3 years ago |
joestarzxh
|
ca4faccfcc
|
[fix]rtmp_t修改未提交
|
3 years ago |
joestarzxh
|
db2950ac69
|
[fix] rtmp 解决未处理PingRequest 回应
|
3 years ago |
q191201771
|
03ccfa0e5f
|
1. rtmp.PushSession和PullSession可配置WriteBuf和ReadBuf大小,以及WriteChanSize 2. 整理完所有error返回值 3. 提高测试覆盖率
|
3 years ago |
q191201771
|
83aa44eebe
|
[refactor] error信息更友好
|
3 years ago |
q191201771
|
ad547d0010
|
[test] 提高测试覆盖
|
3 years ago |
q191201771
|
3b0465b5fc
|
[refactor] 增强兼容性: https服务初始化失败时打印错误日志而不是退出程序
|
3 years ago |
q191201771
|
9e74f5f036
|
[test] 修复base/url_test.go中的测试用例
|
3 years ago |
q191201771
|
cce165b16c
|
[fix] 增强兼容性,当收到的rtmp message中的payload长度为0时,则忽略 #112
|
3 years ago |
q191201771
|
b0bc51c239
|
[feat] httpflv.PullSession支持https,支持302跳转
|
3 years ago |
q191201771
|
505cf2e834
|
[chore] 修复go vet对于signal unbound channel的警告
|
3 years ago |
q191201771
|
99a2331935
|
update naza
|
3 years ago |
q191201771
|
170e1d24e1
|
[log] rtsp client信令增加错误日志
|
3 years ago |
q191201771
|
875569edb3
|
[refactor] 把base.Buffer移到naza库中
|
3 years ago |
q191201771
|
d5c7047295
|
patch
|
3 years ago |
q191201771
|
451299a3df
|
[fix] 增强兼容性: sdp中fmtp内发生换行时做兼容性处理
|
3 years ago |
q191201771
|
dacfa3d041
|
[fix] 修复logic.Option.NotifyHandler首字母小写外部无法设置的问题
|
3 years ago |
q191201771
|
a3ae15543f
|
[refactor] 将logic包中的DummyAudioFilter, GopCache, LazyRtmpChunkDivider, LazyRtmpMsg2FlvTag移入remux中
|
3 years ago |
q191201771
|
39ccc1b911
|
[refactor] rtmp: 使用base.Buffer
|
3 years ago |
q191201771
|
ffdb1c7c08
|
[fix] 修复httpflv多级路径下无法播放的问题
|
3 years ago |
q191201771
|
eb742feb8d
|
测试各session的ISessionUrlContext接口
|
3 years ago |
q191201771
|
efcc4ebed4
|
[fix] windows build
|
3 years ago |
q191201771
|
5a57212fd4
|
v0.26.0 -> version.go
|
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
|
7d6c38a66b
|
[feat] package rtmp: ServerSession增加Writev函数
|
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
|
3aa7f91b2a
|
[log] 输入的rtp包格式错误
|
3 years ago |
q191201771
|
d6f7db9d8b
|
[log] 输入的rtmp包格式错误
|
3 years ago |
q191201771
|
d17ef10d25
|
[feat] 兼容两个不太标准的sdp格式(a=fmtp的前面或后面有多余的分号)
|
3 years ago |
q191201771
|
151db29064
|
[test] 去掉单元测试时不必要的错误日志
|
3 years ago |
q191201771
|
11659e10cc
|
[refactor] logic: 新增GroupManager,管理所有Group
|
3 years ago |
q191201771
|
2d77d7cbd7
|
[log] aac解析失败日志
|
3 years ago |
q191201771
|
2b8e11e900
|
[doc] base.HttpServerManager增加日志
|
3 years ago |
q191201771
|
f7664d8eb9
|
[log] hls中分割nalu增加日志
|
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
|
812cfd8a55
|
[chore] 增强健壮性:package rtmp: 对端协议错误时,主动关闭对端连接而不是主动panic
|
4 years ago |
q191201771
|
5abe86b687
|
[refactor] package avc: 重新实现sps的解析
|
4 years ago |
q191201771
|
abb92c9074
|
Merge branch 'master' of github.com:q191201771/lal
|
4 years ago |
q191201771
|
6d2bf2556d
|
[feat] 优化和统一所有client类型session的使用方式:session由于内部或对端原因导致关闭,外部不再需要显式调用Dispose函数释放资源
|
4 years ago |
Evrins Hu
|
3c10c27b47
|
[feat] fallback to MD5 auth algorithm if missing auth algorithm
海康某一款摄像头返回的认证信息中不包含 algorithm 信息,但是可以使用 md5 来进行认证
Digest realm="IP Camera(F5390)", nonce="21485f706d35a19f62245161867144d6", stale="FALSE"
|
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
|
149f62249b
|
[fix] rtsp信令打包中部分字段缺少空格
|
4 years ago |
q191201771
|
375d53fca6
|
v0.24.0 -> version.go
|
4 years ago |
q191201771
|
41e364a016
|
comment
|
4 years ago |
q191201771
|
37dc49ec51
|
[fix] 修复rtsp sub session没有正常释放导致协程泄漏的问题
|
4 years ago |
q191201771
|
bf9c621d60
|
(#102) [test] rtmp amf object中包含null类型的单元测试
|
4 years ago |
ShiBen
|
5e3bba6aed
|
Merge branch 'master' of https://github.com/BenLocal/lal
|
4 years ago |
ShiBen
|
aeb2455c23
|
Merge branch 'q191201771:master' into master
|
4 years ago |
ShiBen
|
ac70d57bac
|
fix#102
|
4 years ago |
ShiBen
|
4f7560fbee
|
fix#102
|
4 years ago |
q191201771
|
ef8b3d592e
|
(#101) [fix] hls.Muxer没有设置回调导致崩溃
|
4 years ago |
q191201771
|
4cea1b8cf5
|
[fix] 确保rtsp sub拉流从关键帧开始发送数据,避免因此引起的花屏
|
4 years ago |
q191201771
|
d11074958d
|
(#97) [feat] lalserver支持用rtsp协议拉取rtmp的推流
|
4 years ago |
q191201771
|
cf489cf16d
|
prev commit patch
|
4 years ago |
q191201771
|
1db76a4e46
|
[fix] rtmp信令打包参考本地chunk size
|
4 years ago |
q191201771
|
1f97f1ef50
|
[fix] rtmp client session兼容对端回复两次publish或play信令的情况
|
4 years ago |
q191201771
|
7281e62195
|
(#83) [fix] aac rtp打包
|
4 years ago |
joestarzxh
|
b7e7d42f8a
|
[feat]rtsp补充存在两种论证时的测试
|
4 years ago |
q191201771
|
cfabc9043c
|
[feat] 新增demo pullrtmp2pushrtsp
|
4 years ago |
q191201771
|
77c624ab03
|
[fix] aac rtp打包
|
4 years ago |
q191201771
|
68470dea1f
|
[fix] rtsp兼容,有的摄像头sdp中包含aac,但是没有config字段(后续也没有aac rtp包),导致连接失败
|
4 years ago |
q191201771
|
44443c1c1d
|
prev commit patch
|
4 years ago |
joestarzxh
|
34d33ac026
|
[feat]FeedWwwAuthenticate中传递string切片,rtsp论证逻辑有此函数处理
|
4 years ago |
joestarzxh
|
264a53f667
|
[feat]使用官方 http.Header 替换原来http的头
|
4 years ago |
joestarzxh
|
a224057363
|
[fix]rtsp论证只取第一个wwwAuthenticate
|
4 years ago |
joestarzxh
|
94218d5221
|
[fix] 修正rtsp论证同时存在Digest,Basic时优先Digest论证
|
4 years ago |
q191201771
|
e386cfee9f
|
(#83) [feat] rtp aac打包
|
4 years ago |
q191201771
|
32f5465ec9
|
(#82) [feat] sdp打包
|
4 years ago |
q191201771
|
0e409102a0
|
(#83) [feat] package rtprtcp: 支持h265 rtp打包
|
4 years ago |
q191201771
|
6c6999d7f1
|
[refator] package httpflv: 新增FlvFilePump,可循环匀速读取flv文件
|
4 years ago |
q191201771
|
293fd4d607
|
[refactor] export aac.AdtsHeaderLength
|
4 years ago |
q191201771
|
1bc140717c
|
[test] sdp test case
|
4 years ago |
q191201771
|
e8bba061cb
|
(#58) [fix] http服务全部配置为不使用,启动lalserver时指针缺少判空导致崩溃
|
4 years ago |
q191201771
|
7459a1812a
|
(#83) [fix] 修复rtp h264打包nal type重复的问题
|
4 years ago |
q191201771
|
7d8883f1db
|
messages:
- [feat] package rtprtcp: 增加RtpPacker用于打包RtpPacket;RtpPackerPayloadAvc支持多种输入形式
- [feat] package aac: 增加adts,asc,seqheader间的转换代码;重构了整个包
|
4 years ago |
q191201771
|
b11db88259
|
[refactor] avc.ParseSpsPpsFromSeqHeader, avc.ParseSpsPpsFromSeqHeaderWithoutMalloc, hevc.ParseVpsSpsPpsFromSeqHeader, hevc.ParseVpsSpsPpsFromSeqHeaderWithoutMalloc
|
4 years ago |
q191201771
|
731bed099a
|
(#87) [refactor] 重构lal整个项目的命名规则
|
4 years ago |
q191201771
|
d70848d092
|
[patch] AVPacket2RTMPRemuxer中sps的空值判断
|
4 years ago |
q191201771
|
24e8887ef8
|
#74 #85 [feat] 支持海康威视NVR,大华海康IDC的RTSP流(SDP不包含SPS、PPS等数据,而是通过RTP包发送)
|
4 years ago |
q191201771
|
48a8d8da7b
|
#79 [refactor] package avc: func SplitNALU***, IterateNALU***
|
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
|
9d61f04b62
|
[feat] package rtprtcp: 增加RTPPackerAVC,用于将h264 Nalu包切割成RTP包
|
4 years ago |
q191201771
|
1fb817e74b
|
Merge branch 'master' of https://github.com/q191201771/lal
|
4 years ago |
q191201771
|
5333a97b32
|
[refactor] package avc: add func IterateNALUStartCode, IterateNALUAnnexB, IterateNALUAVCC #79
|
4 years ago |
joestarzxh
|
ec83e0260e
|
[fix]修正HTTP升级为WebSocket时不需要包含包体
|
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
|
c0d600ea1b
|
v0.22.0 -> version.go
|
4 years ago |
q191201771
|
8bf0331b24
|
messages:
- [feat] h265新增支持: hls拉流,hls录制;http-ts拉流,mpegts录制。h265支持列表见: https://pengrl.com/lal/#/LALServer (#65)
|
4 years ago |
q191201771
|
7167d41fb5
|
[refactor] rtprtcp: 暴露RTPPacketList的属性 (#70)
|
4 years ago |
q191201771
|
e4df7af23b
|
[refactor] package rtmp: rtmp.ClientSession支持配置选择简单握手或者复杂握手, 默认使用简单握手 (#68)
|
4 years ago |
q191201771
|
d5d67a51a2
|
[feat] 支持录制flv和ts文件 #14
|
4 years ago |
q191201771
|
2e0615b496
|
patch
|
4 years ago |
q191201771
|
f26092b890
|
patch
|
4 years ago |
q191201771
|
158811d0e8
|
[fix] rtmp ClientSession握手,c2的发送时机,由收到s0s1s2改为收到s0s1就发送,解决握手失败的case #42
|
4 years ago |
joestarzxh
|
dece388f71
|
[style]websocket相关代码调整
|
4 years ago |
joestarzxh
|
ec225fd012
|
[style]websocket单元变量名称修改一下
|
4 years ago |
joestarzxh
|
3c1d94eb56
|
[feat]支持ws-flv,ws-ts
|
4 years ago |
q191201771
|
6b6f227858
|
[fix] 修复使用ffmpeg向lalserver推送rtsp h265流时报错 #55
|
4 years ago |
q191201771
|
291ceda116
|
[feat] hls支持内存切片 #50
|
4 years ago |
joestarzxh
|
5250b1a0d0
|
[fix]rtsp转rtmp腾讯X5播放器无法播放H265
|
4 years ago |
joestarzxh
|
cb7f681bae
|
[fix] rtsp中关键数据解析错误时不返回错误,使rtsp能够正常转发
|
4 years ago |
joestarzxh
|
b412473a5a
|
[fix] 解决h265 rtsp转rtmp无法解析出关键帧导致腾讯x5无法播放
|
4 years ago |
q191201771
|
d352a8bc1a
|
v0.21.0 -> version.go
|
4 years ago |
q191201771
|
b180363f76
|
patch
|
4 years ago |
q191201771
|
736eb0c1b4
|
Merge branch 'master' of https://github.com/q191201771/lal
|
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 |
q191201771
|
ad4f458899
|
prev commit patch: fix aggregate message
|
4 years ago |
q191201771
|
f3078efc3c
|
prev commit patch: fix aggregate stream
|
4 years ago |
q191201771
|
7ce0ad4f35
|
prev commit patch: fix aggregate timestamp
|
4 years ago |
q191201771
|
f4c5b91794
|
[refactor] rtmp aggregate message
|
4 years ago |
joestarzxh
|
3fa57acfc7
|
[fix]修正RTMP aggregate 时间戳问题
|
4 years ago |
joestarzxh
|
efdd0eaa6b
|
[fix]忘记的文件,rtmp 支持Aggregate Message
|
4 years ago |
joestarzxh
|
55a690a989
|
[feat]rtmp 支持Aggregate Message
|
4 years ago |
joestarzxh
|
748e1ee09a
|
[fix]解决rtsp sub无响应的问题
|
4 years ago |
q191201771
|
8c0da36846
|
fmt
|
4 years ago |
q191201771
|
15af15fb13
|
[refactor] package rtprtcp: 重构一些函数名
|
4 years ago |
q191201771
|
8aea2a98ae
|
[fix] rtsp推流时,rtp包时间戳翻转导致的错误(比如hls一直强制切片)
|
4 years ago |
q191201771
|
9bb3dac3d1
|
[fix] 修复lalserver中(rtsp.BaseInSession以及logic.Group)的一些竞态读写,https://github.com/q191201771/lal/issues/47
|
4 years ago |
q191201771
|
a25b5e4ad0
|
v0.20.0 -> version.go
|
4 years ago |
q191201771
|
3df6ee4027
|
1. [refactor] 使用新的unique id生成器,提高性能 2. [refactor] 统一各Session接口
|
4 years ago |
q191201771
|
c5f756a51d
|
[fix] 修复32位arm环境使用rtsp崩溃
|
4 years ago |
q191201771
|
4a48518f5a
|
1. [feat] 新增app/demo/calcrtmpdelay,可用于测量rtmp服务器的转发延时 2. [refactor] 重构app/demo/pullrtmp2pushrtmp的对象管理逻辑
|
4 years ago |
q191201771
|
fd0f71f9af
|
[feat] app/demo/pushrtmp 做压测时,修改为完全并行的模式
|
4 years ago |
q191201771
|
9971c9867a
|
Merge branch 'fix-lack_of_unlock_group'
|
4 years ago |
q191201771
|
42b7c97e0b
|
v0.19.1 -> version.go
|
4 years ago |
q191201771
|
98e63a62a2
|
[fix] 获取group中播放者数量时锁没有释放,导致后续无法转发数据
|
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
|
68e3557684
|
v0.19.0 -> version.go
|
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 |
joestarzxh
|
3af1816e46
|
[fix] RTSP支持Basic方式auth
|
4 years ago |
q191201771
|
766573741e
|
messages:
- [feat] rtsp,实现PushSession
- [feat] demo,新增app/demo/pullrtsp2pushrtsp,可拉取rtsp流,并使用rtsp转推出去
- [refactor] rtsp,重构部分逻辑,聚合至sdp.LogicContext中
|
4 years ago |
q191201771
|
7dcd4a6b73
|
[fix] rtsp,输入流只有单路音频或视频时,接收对象设置错误导致崩溃
|
4 years ago |
q191201771
|
1a0232f779
|
[fix] rtsp,只有输入流中的音频和视频格式都支持时才使用queue,避免只有音频或视频时造成延迟增加
|
4 years ago |
q191201771
|
156cfff22c
|
v0.18.0 -> version.go
|
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 |
xianghan228@qq.com
|
013a26af71
|
跳出循环,让conect 关闭,释放资源
|
4 years ago |
xianghan228@qq.com
|
6f76c0f6cf
|
Update server.go
#bug RTP视频通道设置不正错
|
4 years ago |
xianghan228@126.com
|
219b9fd931
|
support rtsp over tcp to push stream
|
4 years ago |
q191201771
|
0935c58a0d
|
[patch] prev commit patch
|
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
|
08287e7b8b
|
[patch] http notify v0.0.3
|
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 |
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
|
61e0c78f89
|
v0.16.0 version
|
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
|
bb9cbb9481
|
[feat] 解析hevc的vps, sps, pps,使用vpsspspps构造seq header
|
4 years ago |
q191201771
|
5be88179e9
|
prev pr patch
|
4 years ago |
joestarzxh
|
31f092cbb3
|
[fix] 支持srs.player.js
|
4 years ago |
q191201771
|
ed5471e745
|
v0.15.1
|
4 years ago |
q191201771
|
63843ad377
|
[fix] 配置文件没有开启HTTPS-FLV时,错误使用nil对象导致崩溃
|
4 years ago |
q191201771
|
1aa40271fa
|
build v0.15.0
|
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
|
5f4ec663da
|
messages:
- [feat] httpflv, httpts, hls支持跨域请求播放
- [feat] 新增package alpha/stun,学习stun协议
|
4 years ago |
q191201771
|
0f94f8d4b2
|
1. [feat] 支持HTTP-TS长连接拉流 2. [feat] 在hls直播基础上,同时支持hls录制回放功能
|
5 years ago |
q191201771
|
23f3b5e636
|
[log] off hls debug log
|
5 years ago |
q191201771
|
86c53800b4
|
[fix] Go1.9 undefined: strings.ReplaceAll
|
5 years ago |
q191201771
|
2b67df6d12
|
messages:
- [refactor] 新增package mpegts,将部分package hls中代码抽离出来
- [feat] 在各协议的标准字段中写入lal版本信息
- [log] 整理所有session的日志
|
5 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
|
0509ec5fdd
|
messages:
- [fix] rtsp: rtp和rtcp使用两个连续的端口
- [feat] 增加rtsp.AVPacketQueue,用于处理时间戳问题
- [feat] 处理发送者报告SR,并生成接收者报告RR回复
- [refactor] 整理rtsp.Server代码
- [refactor] 使用nazanet.AvailUDPConnPool和nazanet.UDPConnection
- [feat] rtsp.PubSession资源释放
|
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 |
Ilya Galimyanov
|
61a266d2ef
|
HLS: close playlist after Muxer.Dispose
Put #EXT-X-ENDLIST
|
5 years ago |
q191201771
|
374c3e4655
|
[doc] comment about func logic::Group::Dispose
|
5 years ago |
q191201771
|
c3785f33b2
|
[fix] group Dispose主动释放所有内部资源,与中继转推回调回来的消息,做同步处理,避免崩溃
|
5 years ago |
q191201771
|
3e8c71f607
|
messages:
- [feat] rtsp server,将推流上来的h264和aac的rtp数据转换成es流,基本跑通了
- [refactor] package aac,相当于重写了
- [refactor] app/demo下的flvfile2rtmppush,rtmppull,httpflvpull重命名为pushrtmp,pullrtmp,pullhttpflv
|
5 years ago |
q191201771
|
7e4e3816ac
|
messages:
- [feat] package avc: 提供一些AVCC转AnnexB相关的代码。学习解析SPS、PPS内部的字段
- [refactor] package hls: 使用package avc
- [feat] package rtsp: 部分解析SDP的代码。从SDP中解析sps,pps
- [feat] package rtsp: 将AVC类型的RTP包合成帧数据。未完成
|
5 years ago |
q191201771
|
a11723bde7
|
1. [feat] package rtsp: 开始处理收到的rtp数据 2. [style] Nalu更改为NALU
|
5 years ago |
q191201771
|
5576b6659d
|
[fix] rtmp打包时的扩展时间戳
|
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
|
f9b9ec8231
|
ljy test
|
5 years ago |
ljy
|
ef7db542a1
|
ljy add note for hls,add clearTS
|
5 years ago |
ljy
|
de26ec7973
|
modify getOrCreateGroup
|
5 years ago |
ljy
|
e2e4d19cf9
|
modify WriteFrame
|
5 years ago |
q191201771
|
23f386fce7
|
[feat] 部分rtsp代码
|
5 years ago |
q191201771
|
d0ff67ffb9
|
[feat] httpflv pull拉流时,携带url参数
|
5 years ago |
q191201771
|
6d2368f4c6
|
[fix] hls写ts视频数据时,流中没有spspps导致崩溃
|
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
|
c7f89b0ad3
|
[fix] package hls: 检查输入的rtmp message是否完整,避免非法数据造成崩溃
|
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
|
99ab8df79a
|
[fix] package rtmp: 接收rtmp数据时,同一个message的多个chunk混合使用fmt1,2时,可能出现时间戳多加的情况
|
5 years ago |
yoko
|
9e80735f1a
|
Merge pull request #1 from ShimmerGuest/master
[fix] simple handshake:数据包s2发送完整的c1包内容,避免mac上4.2.2版本ffmpeg推流时警告签名不匹配
|
5 years ago |
q191201771
|
da29f9866c
|
[feat] HLS: RTMP格式的视频数据转换成TS格式基本完成
|
5 years ago |
liquanqing
|
706c907911
|
[fix]simple handshake:数据包s2发送完整的c1包内容,避免mac上4.2.2版本ffmpeg推流时警告签名不匹配
|
5 years ago |
q191201771
|
a6d68e8ca0
|
[feat] 部分rtmp video message转成mpegts的代码,还没有完成
|
5 years ago |
q191201771
|
bde11a9524
|
[refactor] use nazabits
|
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
|
054fcc935b
|
[feat] 把 httpflv pull session 的接收 buff 缓存大小调小了,这个地方后续还要修改
|
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 |
q191201771
|
823ff165fa
|
nezha -> v0.2.0
|
5 years ago |