Commit Graph

589 Commits

Author SHA1 Message Date
xia-chu
0ead9b6945 优化cookie登录逻辑
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
Linux_Python / build (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS_Python / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows_Python / build (push) Has been cancelled
2026-02-25 12:01:49 +08:00
xia-chu
3514376a97 修复videostack开启后编译失败问题
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
Linux_Python / build (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS_Python / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows_Python / build (push) Has been cancelled
2026-02-22 18:45:16 +08:00
xia-chu
3a35144243 新增cookie登录鉴权模式,避免secret硬编码鉴权安全缺陷
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
Linux_Python / build (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS_Python / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows_Python / build (push) Has been cancelled
2026-02-19 23:09:37 +08:00
liangjianhua
8ca4b4d92a Add optional subnet_prefix parameter to searchOnvifDevice interface 2026-02-13 23:11:37 +08:00
夏楚
6d520ea6a3
新增支持Python混合编程模式 (#4579)
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
Linux_Python / build (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS_Python / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows_Python / build (push) Has been cancelled
2026-02-10 13:28:42 +08:00
xia-chu
9cc4563fae getAllSession接口返回链接类型 2026-01-09 11:34:40 +08:00
张传峰
1191f15132
fix: windows下通过mingw编译报错 (#4617)
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
2026-01-03 23:11:45 +08:00
xia-chu
adb844032d 初步添加onvif客户端
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-11-22 08:40:25 +08:00
xia-chu
68cc757708 修复getMediaList接口线程安全问题 (#4526)
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-10-30 11:20:04 +08:00
xia-chu
5c58f39046 优化getMediaList接口,新增返回currentStamp字段,获取单个流时确保返回loss字段 (#4260)
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-10-18 13:00:54 +08:00
xia-chu
6d01aa6389 loadMP4File接口新增支持seek_ms与speed参数 (#4261) 2025-10-18 12:36:46 +08:00
xia-chu
046bdecd1e 修复release编译产出文件过大的问题
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-10-11 18:58:10 +08:00
baigao-X
3fb43c5fef
feat: 增加webrtc代理拉流 (#4389)
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
- 增加客户端模式,支持主动拉流、推流:
   - addStreamProxy接口新增支持whep主动拉流,拉流地址目前只兼容zlm的whep url。
   - addStreamPusherProxy接口新增支持whip主动推流,推流地址目前只兼容zlm的whip url。
   - 以上推流url格式为webrtc[s]://server_host:server_port/app/stream_id?key=value, 内部会自动转换为http[s]://server_host:server_port/index/api/[whip/whep]?app=app&stream=stream_id&key=value。

- 增加WebRtc p2p 模式:
  - 增加 ICE FULL模式。
  - 增加STUN/TURN 服务器。
  - 增加websocket 信令。
  - 增加P2P代理拉流。

---------

Co-authored-by: xia-chu <771730766@qq.com>
Co-authored-by: mtdxc <mtdxc@126.com>
Co-authored-by: cqm <cqm@97kid.com>
2025-09-20 16:23:30 +08:00
xia-chu
97d2a1fb08 修复溯源url模板带参数时溯源失败的问题
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-12 21:50:30 +08:00
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
41a71f7994 ffmpeg命令行支持shell语法
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-08-23 11:54:58 +08:00
xia-chu
f524a0ebbd 配置文件auto_close开启后也触发无人观看hook(不处理回复)
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-08-23 10:43:32 +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
ljx0305
1ead079af4
修正判断Json::Value::find函数返回值 (#4347)
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
修正Json::Value::find函数返回值并非iterator而是Value指针
2025-07-10 14:15:52 +08:00
PioLing
47fd8e9fc3
Add exception handling for FFmpeg cmd checked. (#4343) 2025-07-10 14:14:57 +08:00
xia-chu
38821b295a 优化http参数获取逻辑 2025-06-29 17:48:23 +08:00
baigao-X
7d7320f0b7
feat: generating debug files during linux release builds (#4308)
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
linux release构建时生成与MediaServer 匹配的debug文件。
生产环境依然使用小尺寸的MediaServer,在需要gdb调试或者查看coredump文件时可以结合debug文件查看调用栈。
2025-06-07 15:01:42 +08:00
PioLing
2bbd177d5a
Add win32 core dump (#4291)
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
单元测试代码
int main() {
    System::systemSetup();
    int *p = nullptr;
    *p = 1; // 强制崩溃
    return 0;
}

崩溃后直接用 vs2019(2022) 打开 dmp 文件。
菜单选择 File → Open → File...,选择你的 .dmp 文件。
提示你“选择符号和源码”,若有源码和 pdb/symbol 文件能看到更详细的堆栈。
2025-05-31 11:26:00 +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
xia-chu
dd1e8ef430 web hook 忽略返回值为null的值 2025-04-20 14:50:56 +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
xiongguangjie
026e74d624
修复addFFmpegSource接口线程检测失败相关bug (#4225 #4233) 2025-04-09 21:33:12 +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
KkemChen
fd89e0d801
feat: VideoStack支持等比缩放 (#4191)
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
feat: VideoStack支持等比缩放 (目前以宏VIDEOSTACK_KEEP_ASPECT_RATIO
方式控制开启,后续考虑是否添加到配置文件中来控制)
2025-03-19 09:42:57 +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
xiongguangjie
2a85dffdf9
on_play/on_publish hook 新增protocol字段 (#4133 #4143)
对于webhook  涉及到media info的相关信息,增加protocol 的字段,表明是基于什么协议传输的
2025-02-13 15:18:47 +08:00
PioLing
5160769112
Improve the getSnap code (#4128) 2025-01-20 14:32:11 +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
PioLing
9863f9c160
Add logo and version information to exe on windows (#4093) 2025-01-03 11:33:35 +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
sbkyy
5c80c75ed9
修复video stack相关功能bug
/index/api/stack/reset 在相同url和通分辨率多次调用channel析构没画面的问题
是在 VideoStackManager::parseParams 函数里 多次 (*params)[i * cols + j] =
nullptr; 导致 channel 计数器为0,析构没画面。

同时修复cpu占用过高问题。
2024-10-26 09:20:24 +08:00
xia-chu
aca39bbfaa Support hot-reload of SSL certificates (#2835) 2024-09-22 18:38:53 +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