Commit Graph

4585 Commits

Author SHA1 Message Date
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
老衲不出家
3028612a0e
修复rtsp点播相关问题 (#4445)
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-11 16:52:54 +08:00
xia-chu
c19f348786 更新zltoolkit
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-10 21:58:04 +08:00
xia-chu
a8f5cedd84 rtsp/http类型播放协议支持自定义header 2025-09-10 21:51:26 +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
Nevermore
acb12d7806
bug-fix: fix urldecode in unsigned-char (#4424 #4423)
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-02 16:54: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
weishao
8bf64e0407 update
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-08-22 20:38:17 +08:00
weishao
ceb78bd54c feat: add H.265 profile parameters support for WebRTC SDP negotiation 2025-08-22 20:38:17 +08:00
weishao
6f71dd39ca fix: correct H.265 RTP mark bit handling 2025-08-22 20:38:17 +08:00
yingxiaodong
8f3c01043f
问题修正:解决loadMP4File崩溃问题时,引入的getOwnerPoller失败 (#4390)
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-11 20:35:10 +08:00
xia-chu
bbbfce9fe3 更新zltoolkit,优化负载均衡问题
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-10 12:49:02 +08:00
xia-chu
652ac9fe82 新增获取poller监听fd个数方法 2025-08-10 12:15:56 +08:00
xia-chu
654dc198dd 修复编译问题
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-08-10 01:44:37 +08:00
xia-chu
17a43e6007 更新zltoolkit,优化负载均衡问题
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-08-09 23:49:53 +08:00
yingxiaodong
98ac328318
BUG修正:多文件播放(loadMP4File)时,后续文件track_index对应错误 (#4386)
每个mp4文件的音视频的track_index不会完全一致,需要做对应处理。
2025-08-09 17:26:00 +08:00
xia-chu
57fede9508 修复编译警告
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-08-09 15:42:28 +08:00
yingxiaodong
d2e099bd23
BUG修正:loadMP4File播放文件时,无人观看触发关闭,导致程序崩溃 (#4387)
关闭文件播放的处理与文件播放动作不在一个线程,导致崩溃。
2025-08-09 14:37:54 +08:00
dsjing
87d84c47fe
修正ENABLE_RTPPROXY未启用时编译失败问题 (#4384) 2025-08-09 14:24:23 +08:00
Lidaofu
90fcad41f2
feat: C Api 增加部分函数 (#4382)
feat: C Api
增加mk_recorder_start_task(录制任务)、mk_rtp_server_create3(rtp多路复用)、mk_rtp_server_update_ssrc(更新ssrc)、mk_rtp_get_info(获取rtp信息)、mk_rtp_pause_check(暂停RTP超时检查)、mk_rtp_resume_check(恢复RTP超时检查)、mk_media_source_set_speed(回放流速度配置)等函数

---------

Co-authored-by: lidaofu <lidf@ahtelit.com>
2025-08-09 10:45:16 +08:00
PioLing
a972fa85ec
修复某些流带aud帧不兼容的问题 (#4379)
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-06 12:02:43 +08:00
二进制橙汁
ba877759da
src/Record/Recorder.h 引入 <cstdint> 头文件 (#4374)
CMake 构建编译报错,需要在 `src/Record/Recorder.h` 中引入 `<cstdint>` 头文件。
2025-08-06 12:02:02 +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
xia-chu
88ef00e429 音视频时间戳相差太大时强制同步 2025-08-02 21:00:30 +08:00
xia-chu
32ab752263 Revert "优化SEI/AUD帧处理逻辑" (#4361)
This reverts commit a35444f27e.
2025-08-02 21:00:30 +08:00
Say_Bryan
5a10db5f1b
修改RtpServer.cpp中的注释错误 (#4372) 2025-08-02 20:32:30 +08:00
Lidaofu
94be50e50a
c sdk unix编译增加额外调试信息 (#4364)
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-07-26 15:45:00 +08:00
sbkyy
6ccbd3aafb
rtp级联网络慢时默认不限制源端接收网速 (#4359) 2025-07-26 15:44:29 +08:00
baigao-X
9d18015e32
fix: SrtCaller and SrtSession crash (#4328)
1.修改SrtCaller 多线程发送造成的crash
2.修改SrtCaller 接收的期望外的控制包可能造成的空指针引用
3.修改异常的streamid ext可能造成的crash
2025-07-26 15:43:36 +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
PioLing
fb2a3f5179
修复无人观看关闭流相关bug (#4334)
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-07-02 14:58:12 +08:00
肖锋
fd34b5526b
feature:添加http head请求的支持 (#4321)
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
添加http head请求的支持
2025-06-30 20:46:18 +08:00
老衲不出家
48fd240817
修复mp4切片时间可能不准的bug (#4332) 2025-06-30 20:46:04 +08:00
xia-chu
f0bc7a75aa 确保断连续推功能开启后流能正常强制关闭 (#4287)
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-06-29 18:10:00 +08:00
xia-chu
a35444f27e 优化SEI/AUD帧处理逻辑 2025-06-29 18:00:47 +08:00
xia-chu
9a7cca1ad9 paced_sender逻辑新增音视频包排序功能
用于矫正音视频包时间戳交织性
2025-06-29 18:00:04 +08:00
xia-chu
0b21ece801 优化rtp异常处理逻辑 2025-06-29 17:56:48 +08:00
xia-chu
c98137e505 优化线程安全问题 2025-06-29 17:56:10 +08:00
xia-chu
18ca4cf48f 优化音视频时间戳同步逻辑 2025-06-29 17:55:17 +08:00
xia-chu
38821b295a 优化http参数获取逻辑 2025-06-29 17:48:23 +08:00
xia-chu
86e4a494f2 Update README.md 2025-06-29 15:24:23 +08:00
xia-chu
a9fe5d6f42 新增帧合并开关,优化国标流秒开速度
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-06-29 10:56:05 +08:00