Commit Graph

150 Commits

Author SHA1 Message Date
langhuihui
3668db0eb6 chore: add more log 2023-10-19 14:30:58 +08:00
langhuihui
afabc2777b feat: add track ReaderCount prop 2023-10-17 20:10:48 +08:00
langhuihui
fba10d93eb feat: add actionChan size 2023-10-12 16:45:38 +08:00
langhuihui
d822e502a0 feat: add SendInviteTrack 2023-10-12 13:49:08 +08:00
langhuihui
fb8eb106d6 chore: puller already exists log add streamState 2023-10-09 06:02:47 +08:00
langhuihui
8f7ff8d270 feat: add a state 2023-09-22 08:41:35 +08:00
langhuihui
7ff64a914e feat: update aurora to v4 2023-09-20 14:28:10 +08:00
langhuihui
ff6d3a7bfc fix: stream close process 2023-09-14 09:53:36 +08:00
langhuihui
934d3cf9d4 fix: fetch summary timeout 2023-09-06 13:36:19 +08:00
langhuihui
6c29e525e5 feat: api can return json fomart now
feat: pull on subscribe event use InvitePublish to instead *Stream
fix: pull remote stream publish cause bugs
fix: Concurrency MarshalJSON Tracks

desc:
- API 现在可以返回{"data":xx,"code":0,"msg":"ok"}格式
- 按需拉流的事件的类型从*Stream修改为InvitePublish
- 远程拉流频繁重连后导致多路远程流同时写入同一个track
- 在并发序列化Tracks时导致错误,通过加lock解决
2023-08-12 19:22:03 +08:00
langhuihui
7605485e69 fix: data track push data panic 2023-07-07 14:51:28 +08:00
langhuihui
6a4610df1d feat: Prevent concurrent read and write issues when publishers catch up with subscribers after blocking them
desc: 防止订阅者阻塞后,发布者追上订阅者产生并发读写问题
2023-06-30 10:22:13 +08:00
langhuihui
700aef98c5 fix: sei insert to H265 track 2023-06-17 21:56:34 +08:00
langhuihui
b87416b78e feat: add insert sei
feat: add engine init done event
refactor: remove ring_lock
fix: retry connect to console
fix: h265 sps parse error
fix: concurrent publish

desc:
- 增加插入SEI帧的功能
- 增加engine初始化完成事件
- 删除ring_lock,DataTrack和MediaTrack共用一个ring
- 修复console无限重连导致远程服务器崩溃问题
- 修复h265 sps解析错误问题
- 修复并发发布导致的问题
2023-06-16 22:27:34 +08:00
langhuihui
28a51b9b60 feat: add pause and resume 2023-06-06 19:25:51 +08:00
langhuihui
f4fb7881f7 增加Stream NeverTimeout属性,用于纯数据轨道的流保持不关闭
消除一处魔法数字
将TCP监听增加TLS支持
2023-06-04 11:02:45 +08:00
langhuihui
d3b26d69fc refactor: change Streams to sync.Map 2023-05-23 20:57:26 +08:00
langhuihui
e21f8f765a fix: change tracks to sync.Map to void dead lock 2023-05-21 14:27:57 +08:00
langhuihui
528180b1dc feat: change data track to custom track 2023-05-16 22:49:00 +08:00
langhuihui
4f0e0b4de7 feat: remove ps to ps plugin,add idletimeout
decs: 将ps处理逻辑移入ps插件重,增加idletimeout配置,用于首次发布空闲超时断开连接,增加对订阅者消费过慢的处理,增加dataTrack中元素的回收
2023-05-14 15:27:24 +08:00
langhuihui
379e658e24 feat: support EnhancedRTMP 2023-05-04 09:40:18 +08:00
langhuihui
da92a2238f 修复内置鉴权,音频轨道因IDR锁环并发问题,增加Internal配置,mp4重放能力 2023-04-29 21:57:40 +08:00
langhuihui
2eea5c3706 1、增加内置鉴权机制(同腾讯云)
2、增加trace级别日志功能
3、消除rtp包的padding
4、自动创建BytesPool
5、StreamName修改为除去app后的部分
2023-04-24 13:43:50 +08:00
langhuihui
e9177794cb 新增环境变量覆盖配置功能
兼容偶尔时间戳不对的情况 2023-04-23 10:18:40 +08:00
langhuihui
9dd9fe6cea 修复日志打印序列化报错问题 2023-04-15 08:37:22 +08:00
langhuihui
187a7d86d3 1、支持enhanced-rtmp
2、优化ts解析的pes拼接逻辑
3、增加订阅者写入缓存配置
4、增加对流的主流程耗时过多时的告警
2023-04-12 13:40:34 +08:00
dexter
e2f792b670 修复热更新api导致的崩溃问题
兼容ts中streamID不在标准中定义的情况
修复按需拉流中无音频时订阅者等待的问题
2023-04-09 11:06:09 +08:00
dexter
bfde37db72 支持多语言日志,增加心跳事件广播,兼容一开始缺少 vps 的流 2023-04-04 20:10:49 +08:00
dexter
5086fba6a3 修复续推,修复跳帧前限速,实现只有视频轨道时订阅者不再无效等待 2023-03-28 19:23:19 +08:00
dexter
25a8add7a7 事件上报 2023-03-28 13:26:54 +08:00
dexter
6e874008e4 Stream增加一个GetType方法用于获取发布者类型
增加了一个获取本地ip的util方法
pushPS采用rtp v1版
2023-03-13 13:07:04 +08:00
dexter
e92fd1edfd 修复订阅时如果无音频时首个视频帧没有被订阅的bug
引入v3版的ps解包逻辑
修复非rtmp系的首个绝对时间戳初始化
2023-03-09 18:56:01 +08:00
dexter
d6797d34a7 修复WritePESPacket功能,AddTrack增加Promise 2023-02-14 20:53:09 +08:00
dexter
323ac7204e 1、当发布者离线时没有订阅者时,流的超时时间从1s改为10ms。
2、Track增加离线状态,当发布者离线时,Track状态改为离线状态,当发布者重新上线时,Track状态改为在线状态。
3、Track在恢复在线后,记录时间戳的差值,保持后续时间戳和之前的连续。
4、进一步优化订阅者读取音视频同步逻辑。
2023-02-06 07:58:56 +08:00
dexter
4d9c1350d1 1、增加SErepublish事件表示再次发布成功事件,使得SEPublish事件表示第一次发布成功。
2、修复push时ReConnectCount没有计数增加。
3、使用github.com/quic-go/quic-go v0.32.0版本。
4、修复订阅模式>1时没有从IDR帧开始的问题。
2023-02-03 21:28:30 +08:00
dexter
092719a61d 对配置中的时间进行统一处理 2023-01-29 15:05:19 +08:00
dexter
a5602c5afc 实现无锁内存池 2023-01-25 20:31:10 +08:00
dexter
b0dcecdebc 重构Track写入架构,增加sub配置项可配置指定track订阅的参数名
修复首次写入AbsTime的值
2023-01-18 20:54:14 +08:00
dexter
fcf4b36c07 增加对SubVideoTracks的实现 2023-01-02 21:00:49 +08:00
dexter
688d7e8b51 调整拉流配置文件的格式,将两个bool值改为map 2022-12-31 21:13:48 +08:00
dexter
95fff02162 重构订阅者集合,减少轨道等待 2022-12-29 17:51:59 +08:00
dexter
99126c44f3 fix: delayclosetimeout被5秒覆盖问题 2022-12-20 09:44:42 +08:00
dexter
1e1a86cd4b 引擎中增加对订阅者下线的及时响应 2022-12-18 14:27:38 +08:00
dexter
7a588b2543 优化Pull和Push,增加日志输出 2022-12-16 17:10:40 +08:00
dexter
f11738b624 fix: Stream引入StateEvent后导致json循环引用问题 2022-12-15 11:25:39 +08:00
dexter
a4c3c28fb4 refactor:
1、增加鉴权机制
2、去除IO类型的泛型
3、对停止拉流条件修正:当按需订阅造成流停止的情况纳入停止条件。
4、修复TS格式写入PMT的PID值
5、对于存在多PPS的情况进行兼容
2022-12-15 08:40:05 +08:00
dexter
7b23195e84 增加鉴权机制 2022-12-13 10:46:49 +08:00
langhuihui
15e2c272c0 fix: 无订阅断流判断错误 2022-12-11 15:37:03 +08:00
dexter
a090919b39 fix: 等待track的时候,由于没有使用指针导致修改状态没有生效 2022-12-11 15:12:13 +08:00
dexter
7a23da59c6 👌 IMPROVE: 消除decconfig结构中的flv格式,优化重连后的republish逻辑 2022-11-27 17:37:45 +08:00