Commit Graph

349 Commits

Author SHA1 Message Date
xia-chu
88b422db08 优化pauseRtpCheck接口,新增pause_seconds参数
Some checks are pending
Android / build (push) Waiting to run
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
Docker / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows / build (push) Waiting to run
2025-09-09 23:11:48 +08:00
xia-chu
5686027fc2 修复MediaSource::close线程安全问题
主动或无人观看关闭流可能会由于线程安全问题导致崩溃
2025-09-09 22:02:20 +08:00
ShineSea
c89caf560a
优化WebApi ListRtpServer接口实现 (#4436)
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-09-08 19:00:45 +08:00
yingxiaodong
2faa04da30
bug-fix: rtpserver死锁 (#4421)
Some checks are pending
Android / build (push) Waiting to run
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
Docker / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows / build (push) Waiting to run
1、RtpServer对应的socket在读取数据后,会加锁后进行数据处理
  a) LOCK_GUARD(_mtx_event);
  b) _on_multi_read
当_on_multi_read处理中出现问题,会通过回调,调用 s_rtp_server.erase(key); ,
这里锁的调用顺序为:_mtx_event -> s_rtp_server._mtx
2、当外部调用api关闭RtpServer时,会先调用 s_rtp_server.erase(key);
,释放RtpServer对象时,会调用Socket的 setOnRead(nullptr),这里会调用Socket的 _mtx_event。
这里的锁调用顺序为:s_rtp_server._mtx -> _mtx_event
以上两种情况,存在 交叉调用两把锁的问题,会出现死锁。
2025-09-01 11:35:50 +08:00
xia-chu
652ac9fe82 新增获取poller监听fd个数方法 2025-08-10 12:15:56 +08:00
xia-chu
5d9ced2cf3 startSendRtp相关接口新增enable_origin_recv_limit参数控制是否开启源端限流
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
多倍速rtp转发时,在tcp模式下,如果转发速度跟不上接收速度将导致转发失败,通过开启该参数,可以确保历史视频多倍速下载成功
2025-08-02 21:14:42 +08:00
xia-chu
c9a0025620 新增startRecordTask接口,支持录制事件视频
用户可以录制当前时间前后一定时间内的视频,配置文件gop_cache设置较大时历史视频才能录全
2025-08-02 21:00:30 +08:00
xia-chu
b1e1a0f174 新增deleteSnapDirectory删除截图接口 2025-08-02 21:00:30 +08:00
PioLing
7b1f8fedac
Add network traffic statistics (#4239)
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Co-authored-by: xiongguangjie <xiong_panda@163.com>
Co-authored-by: xia-chu <771730766@qq.com>
2025-05-02 16:23:25 +08:00
PioLing
ab14adb94d
Add loadMP4File respond "durations" (#4262 #4260)
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-04-26 19:58:48 +08:00
PioLing
beff8c0527
修复编译失败的问题 (#4249) #4252
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-04-15 09:48:00 +08:00
xia-chu
41bdfa0755 addStreamProxy、addStreamPusherProxy接口确保线程负载均衡
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-04-13 19:42:30 +08:00
custompal
f0204ea3b3
播放器(reader)setGetInfoCB时统一使用Session对象 (#4195)
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Co-authored-by: custompal <chenrengen@gosuncn.com>
2025-03-21 15:22:48 +08:00
ziyuexiachu
52ca731392 修复http api可能导致死锁的bug
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-02-26 11:34:53 +08:00
PioLing
a8507d9ecc
Optimize the code related to decoding and screenshot (#4106)
Co-authored-by: xia-chu <771730766@qq.com>
2025-01-19 20:18:32 +08:00
baigao-X
1c8ed1c55a
Add srt caller mode and stream encryption support. (#4088)
Add srt caller mode and stream encryption support.
1. Support srt caller mode, realize srt proxy pull stream proxy push
stream;
url parameter format such as: srt://127.0.0.1:9000?streamid=#!
::r=live/test11
2. Support srt stream encrypted transmission in caller and listener
mode.

---------

Co-authored-by: xiongguangjie <xiong_panda@163.com>
2024-12-28 20:21:29 +08:00
xia-chu
87b42ab492 优化代码
除1024改成右移10位
2024-11-29 23:51:34 +08:00
xia-chu
ef11c66fb8 新增语音对讲接口(startSendRtpTalk) 2024-11-09 19:29:04 +08:00
mtdxc
901c381300
新增获取推流推流代理列表和ffmpeg源列表接口 (#3992) 2024-11-01 10:47:18 +08:00
alex
4152dcd409
AI automatically translates all comments in the code into English (#3917) 2024-09-19 14:53:50 +08:00
PioLing
ab22cac85b
新增兼容whip接口http头的 Authorization 的Bearer令牌 (#3849)
新增兼容whip接口http头的 Authorization 的Bearer令牌 转成 webhook 的 params的参数 ,
即也支持rtc应用业务层回调推流 Authorization Bearer鉴权
2024-08-29 10:58:51 +08:00
waken
df9dd3d17a
修复startSendRtp接口开启收流时vhost设置错误的问题 (#3848) 2024-08-28 12:28:01 +08:00
wEnchanters
bd40c24745
startSendRtp接口支持指定接收流的app和vhost参数 (#3841) 2024-08-22 19:50:29 +08:00
u7ko4
e3cad7f8fa
支持绑定到指定网卡 (#3760) 2024-08-01 11:03:26 +08:00
xia-chu
81aef25583 整理startSendRtp相关接口,新增支持udp被动模式
startSendPassive接口指定is_udp为1时则为开启udp被动模式, 被动模式下需要对方先发数据给zlmediakit,然后才能回复rtp数据;
同时在被动模式指定src_port时,不再等待对方连接成功后再返回(而是直接返回成功和端口号,失败通知请监听on_send_rtp_stopped hook)。
2024-07-28 23:37:13 +08:00
mtdxc
d735aa1797
Media tuple refactor (#3715)
Co-authored-by: cqm <cqm@97kid.com>
2024-07-14 09:32:41 +08:00
autoantwort
f24802d0e4
WebAPI: Fix build if ENABLE_MP4=false (#3699)
The class `MP4Reader` is only defined if the macro is ON
2024-07-09 10:43:34 +08:00
zhang2349
c72e576420
rtp server新增支持自定义vhost和app名称 (#3693)
代码来自https://github.com/ZLMediaKit/ZLMediaKit/pull/3446 , 增加了vhost
2024-07-09 10:42:10 +08:00
KkemChen
2f6723f602
perf: 调整VideoStack相关代码 (#3642)
1. 修复编译宏不生效问题
2. 新增reset接口,用于不断流的情况下变更拼接参数
2024-06-19 14:06:02 +08:00
xiongziliang
77d2df1695 移除RtpSelector相关逻辑,优化代码结构 2024-06-09 10:52:10 +08:00
waken
8dad1983a0
ServiceController增加size方法 (#3587) 2024-06-01 18:14:52 +08:00
waken
f83e287c77
修复C++17新库std::variant导致的编译出错 (#3567) 2024-05-23 17:36:56 +08:00
admin
65c2abb0b5 修复无法删除mp4录像文件的bug 2024-05-15 14:31:36 +08:00
xia-chu
2eed284e61 feat: Close the connection after authentication failed in HTTP API
Improve the safety of HTTP API
2024-05-09 18:07:08 +08:00
xia-chu
664d0b67bc Add the listRtpSender http api 2024-04-21 11:31:43 +08:00
xia-chu
e4de454d5d Charset default to UTF-8 on Windows 2024-04-20 22:25:21 +08:00
renlu
c341f8ebf6 startSendRtp不指定use_ps时,发送的为裸包,不兼容之前的旧版本。 2024-04-14 11:35:31 +00:00
Aven
3dcd0ed463
Enable video stack individually (#3469) 2024-04-13 20:35:59 +08:00
ljx0305
24689fefd1
Fix compilation error (#3432) 2024-04-01 17:31:04 +08:00
xia-chu
af3ef996b0 Avoid build warnings in the main code 2024-03-30 14:59:28 +08:00
xia-chu
0602cc0c0b Add 'params' field to MediaSource tuple information 2024-03-30 14:46:39 +08:00
ljx0305
861be27ef8
Fix compilation error issues (#3412) 2024-03-26 15:05:14 +08:00
Jacob Su
208f57e2cd
Fix macOS compile error by rename version.h -> ZLMVersion.h (#3411 #3410) 2024-03-24 17:18:18 +08:00
xiongziliang
d8893877b2 Delete invalid code 2024-03-23 22:56:12 +08:00
johzzy
029813402d
feat: update negotiateSdp and WebRtcArgs (#3371)
- update negotiateSdp
- update HttpAllArgs and alias
- update onRtcConfigure
- define setWebRtcArgs, handle set_webrtc_cands and setLocalIp

---------

Co-authored-by: xiongziliang <771730766@qq.com>
Co-authored-by: KkemChen <kkemchen@qq.com>
2024-03-23 22:46:30 +08:00
KkemChen
2e2823d4cf
VideoStack: move sws execution to WorkThread and optimization interface (#3407)
VideoStack: move sws execution to WorkThread and optimization interface
2024-03-23 20:47:38 +08:00
xia-chu
cfac61e55b BugFix: prevent the player's configuration from being overridden in addStreamProxy 2024-03-22 20:50:07 +08:00
KkemChen
437ae778c0
feat: VideoStack (#3373) 2024-03-16 22:56:32 +08:00
xia-chu
69738ad24e BugFix: configuration of downloadRoot cannot use absolute paths
Fix for http api `/index/api/downloadFile`
2024-03-16 21:53:30 +08:00
johzzy
2f50344e7b
Add ServiceController to manage PlayerProxy/PusherProxy/FFmpegSource/RtpServer services (#3337) 2024-03-10 16:31:20 +08:00