Commit Graph

462 Commits

Author SHA1 Message Date
xiongziliang
974428d1e7 确保获取丢包率时线程安全 2022-06-11 14:40:14 +08:00
xiongziliang
09af12a183 操作MediaSource对象时确保线程安全 2022-06-11 14:17:43 +08:00
Leon
be995f9cd2 !17 【功能请求】 /index/api/getMediaList接口 增加LOSS字段用于统计每个轨道丢包率反馈
* update webrtc/WebRtcPusher.h.
* update webrtc/WebRtcPusher.cpp.
* update webrtc/WebRtcTransport.h.
* update webrtc/WebRtcTransport.cpp.
* update src/Common/MediaSource.h.
* update src/Common/MediaSource.cpp.
* update server/WebApi.cpp.
2022-06-11 04:31:06 +00:00
xiongguangjie
89b135400c Merge remote-tracking branch 'origin/master' into feature/srt 2022-06-04 15:47:47 +08:00
xiongziliang
b23cbaa0f8 on_publish hook新增continue_push_ms参数,用于断连续推延时控制 2022-06-04 11:06:35 +08:00
xiongguangjie
aa2ff01d9f first commit for srt intergrate 2022-06-03 13:25:32 +08:00
xiongziliang
b0beea7781 修复笔误 2022-05-30 12:44:11 +08:00
xiongziliang
fd52ba31b0 忽略SIGHUP信号 2022-05-29 21:44:53 +08:00
xiongziliang
a11289e5f0 集群模式,溯源重试改成最大3次: #1663 2022-05-28 09:52:31 +08:00
夏楚
e2908e9775
cmake构建时自动生成mk_export头文件,解决msvc链接设备问题 (#1660)
* 解决msvc下链接问题
* CMAKE添加自动生成mk api export头文件
* 兼容非cmake构建时情况

Co-authored-by: baiyfcu <baiyfcu@gmail.com>
2022-05-26 20:30:43 +08:00
xiongziliang
8231c5c293 新增GB28181 tcp passive被动发送接口(startSendRtpPassive) 2022-05-14 23:25:22 +08:00
ziyue
3062ea0e7c 初步支持ipv6: #576, #1406 2022-05-07 20:06:08 +08:00
ziyue
200a193c04 openRtpServer新增ssrc参数修改为追加至函数末尾, 确保代码逻辑一致无歧义: #1572 2022-04-28 17:44:35 +08:00
xiongziliang
5e729d6153 溯源集群模式支持边沿服务器选择开启转hls: #1588 2022-04-23 18:40:20 +08:00
wangcker
e712639e33
openrtpserver接口新增ssrc参数,强制过滤不属于本端口的视频流,以解决视频串流问题 (#1572) 2022-04-16 15:12:49 +08:00
xiongziliang
e065b1dfba 子进程重启失败时,不应通知守护进程退出,确保子进程重启成功 2022-04-09 21:02:54 +08:00
xiongziliang
c334dcfd38 Revert "子进程重启失败时,不断重试,避免重启失败 (#1545)"
This reverts commit 471a8b77
2022-04-09 20:57:00 +08:00
alexliyu7352
471a8b7735
子进程重启失败时,不断重试,避免重启失败 (#1545)
* Update main.cpp

* 双重保险, 避免重启失败

业务繁忙的服务器当子进程崩溃后,
虽然延时了3秒, 但是如果服务器负载很高, 或者开启了coredump
会导致拉起子进程时, 仍旧端口占用导致子进程重启失败而直接退出主进程.

因此, 这里做了双重保险, 当子进程拉起时如果端口占用, 那么子进程会继续重试.
2022-04-09 20:37:36 +08:00
xiongziliang
a6e82799f5 openRtpServer接口新增re_use_port参数 2022-04-09 10:26:15 +08:00
xiongziliang
2818e371b8 完善startSendRtp接口 2022-04-03 18:37:22 +08:00
xiongziliang
de0738b1d1 Merge branch 'feature/rawrtpsend' of github.com:ZLMediaKit/ZLMediaKit 2022-04-03 17:34:51 +08:00
alexliyu7352
007164ac9b
崩溃重启时间改成3秒 (#1536)
在负载比较重的机器上重启子进程太快了.
很容易导致端口仍旧还未释放完毕导致的错误
端口已被占用
从而主进程直接退出.
因此适当延长重启的间隔时间
2022-04-03 17:32:38 +08:00
xgj
29ceddd23d fix startsendrtp pt error 2022-04-01 19:15:35 +08:00
xgj
9d532cf16b fix startsendrtp pt error 2022-04-01 19:12:37 +08:00
xgj
61625f458f for webapi startsendrtp can send raw rtp 2022-04-01 18:28:09 +08:00
xiongziliang
62543202a5 精简进程管理相关代码 2022-03-27 22:37:41 +08:00
xiongziliang
4b9b022690 优化进程管理代码: #1518 2022-03-27 21:48:13 +08:00
alexliyu7352
43c5d05d8f
使用clone替代fork (#1518)
使用clone替代fork
因为fork子进程有时会导致提前写时复制, 进而影响性能.
而vfork又会引起父进程阻塞
所以使用clone来产生子进程运行ffmpeg
2022-03-27 21:25:40 +08:00
xiongziliang
5879947325 webrtc url添加session参数,用于hook追踪会话唯一性 2022-03-27 21:12:59 +08:00
xiongziliang
76372cd34b 修好addStreamProxy接口获取参数失败的问题 2022-03-12 15:23:45 +08:00
xiongziliang
d239ada9ac 精简代码 2022-03-12 15:18:12 +08:00
xiongziliang
3c99b3af98 修复addStreamProxy接口笔误 2022-03-12 15:08:30 +08:00
xiongziliang
9527a2b1cf addStreamProxy接口新增多种转协议相关参数 2022-03-12 15:07:01 +08:00
xiongziliang
8db01651fe on_publish hook新增rtsp/rtmp/ts/fmp4转协议开关 2022-03-12 14:39:59 +08:00
xiongziliang
0f1120b8a6 on_publish hook新增多种选项 2022-03-12 14:34:48 +08:00
xiongziliang
4dc621e1bb 转协议选项抽象为ProtocolOption对象 2022-03-12 13:24:23 +08:00
ziyue
d88fe077ed on_publish hook新增originType字段 2022-03-02 18:03:44 +08:00
ziyue
26d0589bf5 ffmpeg命令支持相对路径 2022-02-24 11:42:43 +08:00
ziyue
63f22ee6f2 截图失败时,返回ffmpeg日志; ffmpeg命令支持相对路径 2022-02-24 11:28:48 +08:00
ziyue
a3d696d805 完善判定ffmpeg截图是否为空逻辑 2022-02-23 17:06:09 +08:00
ziyue
81199fabd4 添加必要头文件:#1248 2022-02-16 10:31:39 +08:00
夏楚
c72cf4cbcc
整理命名空间 (#1409)
* feat: remove using namespace mediakit in header files.

(cherry picked from commit d44aeb339a8a0e1f0455be82b21fe4b1b536299f)

* feat: remove using namespace mediakit in FFmpegSource.h

* feat: remove using namespace mediakit in RtpExt.h

* feat: remove using namespace mediakit in header files.

* feat: remove using namespace std in header files.

* feat: remove using namespace std in header files when zltoolkit remove std in header

* 补充命名空间

* 整理命名空间

* 整理命名空间2

* 修复macos ci

* 修复编译问题

* 修复编译问题2

* 修复编译问题3

Co-authored-by: Johnny <hellojinqiang@gmail.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
2022-02-02 20:34:50 +08:00
ziyue
81cf93a2bf openRtpServer接口强制关闭reuse_port属性,防止端口冲突 2022-01-19 17:44:58 +08:00
ziyue
0c4410c523 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-01-17 10:36:00 +08:00
ziyue
27482a5459 修复编译警告 2022-01-17 10:35:29 +08:00
xiongziliang
c9d755f4e8 修复编译问题 2022-01-14 22:04:46 +08:00
wangcker
e8b0993493
给openrtpserver接口添加enable_reuse参数 (#1372)
* 修改rtpopen逻辑

* 给openrtpserver接口添加enable_reuse端口
2022-01-14 21:53:01 +08:00
ziyue
a0dec8cd79 支持多级溯源 2022-01-12 20:24:19 +08:00
ziyue
170f5500cf 新增溯源超时时间配置项 2022-01-12 17:58:07 +08:00
ziyue
6f4d8c5884 Typo: 修复错误注释 2022-01-12 17:51:00 +08:00
ziyue
838e4f2788 溯源集群模式支持多个源站 2022-01-12 17:43:07 +08:00
ziyue
be77f84315 支持溯源方式的集群模式 2022-01-12 16:48:14 +08:00
alexliyu7352
26d458d067
增加ffmpeg拉流自动重启时间, 避免长时间拉流导致的声音不同步现象 (#1346) 2022-01-09 14:51:54 +08:00
ziyue
974626024d 更新并适配zltoolkit, 过滤重复日志 2022-01-06 12:34:21 +08:00
夏楚
15297a3ca3
添加内存malloc次数分布统计 (#1322) 2021-12-29 20:48:15 +08:00
ziyue
89870190e9 MPEG: 整合复用ts/ps生成代码 2021-12-28 21:21:01 +08:00
夏楚
878ce87329
支持线程内存malloc统计 (#1317) 2021-12-27 17:40:15 +08:00
lawrencehj
052cca0753
实现Windows系统下restartServer API接口 (#1292) 2021-12-19 17:39:50 +08:00
xiongziliang
6b0903aa5f Refine: 精简代码 2021-11-28 21:19:08 +08:00
xiongziliang
341700fa5b Refine: main线程不再设置线程名,防止覆盖进程名 2021-11-28 21:18:09 +08:00
rqb500
5a04575cb9
增加实用restful接口 (#1183) 2021-10-25 15:13:21 +08:00
ziyue
01086d8eaa 完善内置测试hook接口 2021-10-21 10:50:22 +08:00
ziyue
4067f2beb6 ps rtp推流接口(startSendRtp)支持推送本地mp4录像 2021-10-21 10:21:52 +08:00
ziyue
5ee9b69568 webrtc新增自定义插件模式 2021-10-19 15:23:12 +08:00
ziyue
cfd5957c25 webrtc echo test不检查app/stream参数 2021-10-16 17:07:21 +08:00
ziyue
daaf73d390 修复cpu亲和性设置导致FFmpeg进程不能使用多核cpu的问题:#1149 2021-10-16 14:40:42 +08:00
ziyue
34365a2f8f 新增webrtc echo test双向会话示例 2021-10-16 10:52:28 +08:00
ziyue
85fec6da0b 整理WebRtcSession代码 2021-10-16 10:29:00 +08:00
ziyue
7f3f47abbb 提取webrtc推流、播放代码为单独的派生类 2021-10-15 16:27:17 +08:00
Johnny
638ef8c731 Refine: 调整 WebRtcSession::getPoller 静态函数为 QueryPollerByBuffer 全局函数,以改善其他 getPoller 同名函数可读性。 2021-10-15 11:21:10 +08:00
ziyue
290b3f37a5 新增hook回调抛异常处理逻辑 2021-10-14 16:35:06 +08:00
ziyue
15edbeac3e 整理http相关代码 2021-09-30 16:10:09 +08:00
夏楚
a548fcd709
Feature/dev (#1143)
* 防止每次cmake后导致重复编译
2021-09-30 11:27:42 +08:00
xiongziliang
50c45d7897 删除不必要的文件或代码 2021-09-29 00:41:39 +08:00
monktan
004c62bea4 添加k8s部署相关说明 2021-09-13 21:16:22 +08:00
ziyue
7ba44d1ac8 webrtc单端口模式支持线程安全,支持链接迁移 2021-09-10 18:37:32 +08:00
ziyue
02da99e285 初步实现webrtc单udp端口模式 2021-09-08 18:00:55 +08:00
ziyue
8b1d1d6e24 修复可能访问空指针的问题 2021-08-23 11:00:20 +08:00
xiongziliang
10afab77f3 Merge branch 'feature/keep_alive_monk' of https://gitee.com/xia-chu/ZLMediaKit 2021-08-21 19:11:20 +08:00
monktan
a60ce1b1c9 添加serverkeepalive hook接口 2021-08-20 14:52:48 +08:00
ziyue
1b4f5313f2 修复异步http api相关bug 2021-08-18 20:37:10 +08:00
ziyue
0f6d1135eb 优化http调试日志性能 2021-08-12 21:29:02 +08:00
ziyue
4dbe0a1d3e 合并pr:#1025 2021-08-12 20:37:46 +08:00
ziyue
30b139eaf0 Merge branch 'feature_bafc' of https://github.com/xia-chu/ZLMediaKit 2021-08-12 11:18:34 +08:00
ziyue
e3d519dde6 无人观看自动关闭流时才打印日志 2021-08-12 10:54:57 +08:00
baiyfcu
0ed902509a player增加speed,pause扩展,seek支持秒级定位,MP4按时间戳生成文件 2021-08-09 18:28:43 +08:00
xiongziliang
eba3758b30 支持设置、获取线程名 2021-07-10 23:54:08 +08:00
ziyue
77ba24b59c 修改错误代码 2021-07-02 14:55:22 +08:00
ziyue
c97678af0a webrtc播放触发流未找到事件,实现按需生成流 2021-07-02 14:50:48 +08:00
ziyue
69c3b24d06 优化遍历MediaSource接口性能 2021-06-30 21:24:16 +08:00
ziyue
1b674a6ac2 播放器新增支持音频:#945 2021-06-29 17:47:01 +08:00
ziyue
3165a2f81c 修改服务器版本信息声明相关代码 2021-06-29 11:16:05 +08:00
ziyue
caecfc3fda Merge branch 'master' of https://github.com/xia-chu/ZLMediaKit into dev 2021-06-21 17:51:15 +08:00
ziyue
752590f804 完善addStreamPusherProxy相关功能并修复自动删除相关的bug 2021-06-17 11:01:14 +08:00
ziyue
aa39680c69 addStreamPusherProxy接口修改key唯一性规则,新增rtsp推流类型、超时参数 2021-06-17 10:41:26 +08:00
ziyue
eef0c31d7b addStreamProxy新增重试次数参数 2021-06-17 10:39:22 +08:00
ziyue
936c6f7965 调整代码细节 2021-06-17 10:12:34 +08:00
monktan
cd7ae27276 添加推流代理器 2021-06-16 19:40:08 +08:00
ziyue
a67246f57e Merge branch 'master' of https://gitee.com/xia-chu/ZLMediaKit into dev 2021-06-16 10:40:17 +08:00
ziyue
92f879d703 完善PlayerProxy关闭机制,重试次数超限后自动关闭 2021-06-09 15:01:45 +08:00
ziyue
89d0a9dedf 屏蔽动态添加配置文件的特性 2021-06-08 14:49:32 +08:00
ziyue
9de39de88c Merge branch 'dev' of https://gitee.com/xiongguangjie/ZLMediaKit into dev 2021-06-08 14:41:52 +08:00
ziyue
edf9129f7e Merge branch 'master' of https://gitee.com/xia-chu/ZLMediaKit into dev 2021-06-08 14:40:51 +08:00
ziyue
92736db5b2 适配zltoolkit 2021-06-08 11:29:32 +08:00
xgj
d74779dc02 set server config can dynamic add config for add multi ffmpeg cmd template 2021-06-04 18:06:40 +08:00
xiongziliang
9f223bc7a2 Merge branch 'master' of https://github.com/xia-chu/ZLMediaKit into dev 2021-05-22 10:25:05 +08:00
xiongziliang
b7e6bfb574 hook接口在http头中附带vhost:#872 2021-05-22 09:53:31 +08:00
xiongziliang
7641db4225 getMediaList等接口返回录制状态:#876 2021-05-22 09:31:59 +08:00
xia-chu
6292824e34 Merge branch 'master' of https://gitee.com/xia-chu/ZLMediaKit into dev 2021-04-30 18:05:48 +08:00
xia-chu
af59fdeb86 addStreamProxy接口支持超时参数 2021-04-30 18:01:48 +08:00
xiongziliang
9e93561c77 只有linux平台打开链接顺序无关选项 2021-04-11 11:53:05 +08:00
xiongziliang
5fadd2665d 非windows平台,才忽略静态库链接顺序 2021-04-11 11:44:16 +08:00
xiongziliang
bbe67e928e Merge branch 'dev' of https://gitee.com/xiongguangjie/ZLMediaKit into dev 2021-04-11 11:42:45 +08:00
xiongziliang
e094a0bcae Merge branch 'master' of https://github.com/xia-chu/ZLMediaKit into dev 2021-04-11 11:41:27 +08:00
xiongziliang
271b180004 修复流注册事件track和regist字段缺失的bug 2021-04-11 11:39:49 +08:00
xgj
ebf650cf4f fix static library link order 2021-04-10 22:24:26 +08:00
xiongziliang
b180ea0609 删除测试代码 2021-04-09 20:42:05 +08:00
xia-chu
38894097ae Merge branch 'master' of https://gitee.com/xia-chu/ZLMediaKit into dev 2021-04-09 10:47:14 +08:00
xia-chu
67e1b1f194 媒体注册hook添加编码等信息 2021-04-08 17:34:46 +08:00
xia-chu
a22a6bafb7 添加流量统计事件 2021-04-07 18:35:38 +08:00
xia-chu
0c5fa36e4d rtc推流添加媒体事件相关接口 2021-04-07 18:18:27 +08:00
xia-chu
b96052d387 完善rtc异常管理 2021-04-07 17:51:47 +08:00
xiongziliang
50ca789c0c 预留同时推流拉流的接口 2021-04-05 11:32:38 +08:00
xiongziliang
fe02f2cf1c rtc推流和播放添加事件触发 2021-04-04 23:20:10 +08:00
ziyue
33d2e71368 合并代码,去除冗余代码 2021-04-02 16:23:40 +08:00
xiongziliang
9a26ba9f8a 修复android下编译问题 2021-04-01 20:14:07 +08:00
ziyue
7e5cb33395 开始对接js 2021-03-31 17:15:26 +08:00
ziyue
45b8f83131 删除测试代码 2021-03-30 13:53:45 +08:00
ziyue
9d2498a694 candidate foundation改为string类型 2021-03-29 12:28:47 +08:00
ziyue
272ab706b0 确保安全释放资源 2021-03-27 10:18:03 +08:00
ziyue
bdf2783a6b 还原原始文件名 2021-03-27 10:18:03 +08:00
ziyue
704421b728 完善 2021-03-26 18:22:19 +08:00
ziyue
65e470e060 初步添加rtsp转webrtc相关功能 2021-03-25 16:01:54 +08:00
ziyue
060b654252 修改rtp超时检测相关http api,rtp超时检测最多暂停5分钟 2021-03-16 11:31:41 +08:00
xiongziliang
a0fc494ee3 Merge branch 'master' of https://gitee.com/xia-chu/ZLMediaKit 2021-03-14 10:34:33 +08:00
xiongziliang
be8403c31c 完善代码 2021-03-14 10:29:17 +08:00
sunhui
ce80edffd2 增加支持TCP暂停 2021-03-11 10:05:53 +08:00
xiongziliang
c0f4899950 录制接口支持指定切片时间大小:#747 2021-03-07 10:41:57 +08:00
xia-chu
0c728827aa 添加全局内存统计功能 2021-02-21 21:28:17 +08:00
xia-chu
14b318525e 添加rtp rtmp个数统计 2021-02-06 20:10:33 +08:00
xiongziliang
bad9553ec4 统计TcpServer个数 2021-01-24 21:59:55 +08:00
xiongziliang
aa45590c13 添加对象统计接口 2021-01-23 09:44:37 +08:00
xiongziliang
af2481c619 ffmpeg拉流支持指定命令模板 2021-01-23 09:42:15 +08:00
xia-chu
f63b2b1863 去除编译警告,修复bug 2021-01-19 16:05:38 +08:00
xiongziliang
5d752c89b5 修复编译问题 2021-01-17 20:15:08 +08:00
xia-chu
b6cbc87712 全面整理代码,去除编译警告 2021-01-17 18:31:50 +08:00
xiongziliang
b2fe8c926c 完善代码 2021-01-17 10:29:29 +08:00
monktan
3ddc14d35d 合并pr(#661): 减少unsport code打印,新增git信息获取
(cherry picked from commit 47f2f5b349)
2021-01-02 22:02:23 +08:00
xiongziliang
13221ad796 http回复根据状态码自动生成status message: #602 2021-01-02 21:24:06 +08:00
xiongziliang
c69e9b8ec1 主动发送rtp接口(startSendRtp)支持返回本地端口: #538 2021-01-02 20:43:02 +08:00