xia-chu
8c049d4e28
实现whip/whep delete相关功能
...
通过whip/whep 回复http头中的Location url进行删除资源
新增delete token随机数实现删除鉴权
2023-04-28 22:36:58 +08:00
xia-chu
41451f6a93
修复不保存日志文件的bug
2023-04-23 14:30:41 +08:00
xiongziliang
c8a20f85f6
直接打印SockException类
2023-04-23 00:10:18 +08:00
xiongziliang
f1037e3767
降低http api debug日志级别为Trace
2023-04-22 23:29:19 +08:00
xiongziliang
38ab3e0df4
添加cpu亲和性设置参数: #2407
...
如果需要调用getSnap和addFFmpegSource接口,可以关闭cpu亲和性以发挥ffmpeg多核性能
2023-04-22 22:10:35 +08:00
xiongziliang
967fe035ab
日志默认调整为debug级别
2023-04-22 22:03:30 +08:00
xiongziliang
7a95c87a29
优化代码
...
空构造和析构函数替换为缺省
去除多余分号
2023-04-22 21:59:26 +08:00
xiongziliang
b5a0a2e858
新增动态更新rtp server过滤ssrc接口updateRtpServerSSRC( #2390 )
2023-04-21 23:08:48 +08:00
Johnny
82bc416546
add exchangeSdp
2023-04-21 20:40:37 +08:00
Johnny
5d33e4c9f9
refine: update static_cast in webrtc api
2023-04-21 20:24:23 +08:00
xia-chu
9443d68d6c
格式化代码
2023-04-18 10:33:22 +08:00
xiongguangjie
f949c6de2a
not retry when hook result code is int and !=0
2023-04-17 20:01:45 +08:00
xiongziliang
24eaaf68fb
初步支持webrtc whip/whep(推拉流)协议
...
whip推流地址: /index/api/whip?app=live&stream=test
whep拉流地址: /index/api/whep?app=live&stream=test
2023-04-08 21:44:08 +08:00
xiongziliang
23f9a42f72
格式化与精简代码
2023-04-01 23:59:13 +08:00
xiongguangjie
876aea33f5
avoid fps too big
2023-03-23 18:14:28 +08:00
Leonnash
cf342a6fdf
Update WebApi.cpp
2023-03-22 15:52:56 +08:00
Derek Liu
6008ae157a
修复addFFmepgSource接口参数非法时无法清除记录表的bug ( #2305 )
...
捕获addFFmepgSource接口参数dst_url解析错误的抛错,通过错误回调返回返回错误,清除s_ffmpegMap表中的无效KEY
2023-03-14 19:38:24 +08:00
ziyue
1f2ef82b46
新增支持获取gop大小与间隔信息: #1570
...
getMediaList/getMediaInfo接口、on_media_changed hook新增支持字段如下:
{
"codec_id" : 0,
"codec_id_name" : "H264",
"codec_type" : 0,
"fps" : 0.0,
"frames" : 1119, #累计接收帧数,不包含sei/aud/sps/pps等不能解码的帧
"gop_interval_ms" : 1993, #gop间隔时间,单位毫秒
"gop_size" : 60, #gop大小,单位帧数
"height" : 556,
"key_frames" : 21, #累计接收关键帧数
"ready" : true,
"width" : 990
}
2023-02-20 16:11:10 +08:00
xiongziliang
5bcfba1da4
startSendRtpPassive接口新增连接超时参数:close_delay_ms
2023-02-17 23:02:09 +08:00
xiongziliang
8f0ba6988b
openRtpServer接口新增only_audio参数,优化语音对讲场景
2023-02-17 22:48:39 +08:00
xiongziliang
6eb36ec883
获取MediaSource信息相关接口返回帧数相关字段:#1570
2023-02-05 22:04:14 +08:00
xiongziliang
fcf70c6ef1
startSendRtpPassive接口支持同时接收流
2023-01-08 21:24:29 +08:00
xiongziliang
0374e7a660
startSendRtp接口支持同时接收流:#2109,#2149
2023-01-07 22:36:30 +08:00
mtdxc
754073918a
Header refactor ( #2115 )
...
* 优化MultiMediaSourceMuxer头文件包含
* 将MediaSinkDelegate和Demux移到MediaSink中
* MediaSource头文件重构, 独立出PacketCache.h
精简Frame和Track的头文件
* Rtmp头文件重构
* Rtsp头文件重构
* webrtc头文件重构
* 规范.h头文件包含,并将其移到.cpp中:
- 尽量不包含Common\config.h
- Util\File.h
- Rtsp/RtspPlayer.h
- Rtmp/RtmpPlayer.h
* 删除多余的Stamp.h和Base64包含
2022-11-29 11:07:13 +08:00
xiongziliang
50fa671564
修复析构中调用getOwnerPoller抛异常导致崩溃的bug:#2117
2022-11-26 10:16:47 +08:00
ziyue
a9e53aae70
Merge branch 'master' of https://gitee.com/xia-chu/ZLMediaKit
2022-11-19 09:38:44 +08:00
ziyue
68948288e0
TcpSession/UdpSession统一为Session类
2022-11-19 09:33:10 +08:00
xiongguangjie
0d6fa1281a
add rtc tcp port config and ignore candidate when port is 0
2022-11-19 01:51:53 +08:00
Dw9
47530ce830
新增支持webrtc over tcp模式 ( #2092 )
...
* webrtc server/session/cadidate 改为tcp
* 先屏蔽检查isCurrentThread
* 接受和发送的数据处理tcp 2字节头
* 处理rtc tcp 分片
* 完善webrtc over tcp
* 精简rtp服务器相关代码
* 适配webrtc AV1编码: #2091
* webrtc tcp模式支持Firefox
* webrtc tcp模式支持线程安全
* c sdk支持webrtc tcp
Co-authored-by: ziyue <1213642868@qq.com>
2022-11-18 22:52:57 +08:00
xiongziliang
3fdd5a86c9
MediaServer -v 打印代码日期
2022-11-13 00:13:02 +08:00
夏楚
a37268f003
格式化代码
2022-11-12 01:52:49 +00:00
xiongguangjie
bc63142712
add rtp server timeout hook
2022-11-10 16:58:02 +08:00
xiongziliang
44fd6b86bc
完善版本信息
2022-11-06 00:38:14 +08:00
monktan89
7e95bd2078
修复MSVC编译问题
2022-11-03 10:51:49 +08:00
xiongziliang
9498b96b95
确保rtp推流线程安全性
2022-10-30 21:36:35 +08:00
xiongziliang
c25e93fee3
解决启动ffmpeg进程导致shell终端假死的问题:#1662
2022-10-29 17:44:55 +08:00
ziyue
7d251e15b3
on_publish hook兼容非标准回复
2022-10-20 11:00:19 +08:00
ziyue
eac5a5b1dc
使用submodule方式添加jsoncpp源码
2022-10-16 21:10:18 +08:00
xiongziliang
a916760ac3
整理webrtc c接口
2022-10-06 12:35:14 +08:00
Dw9
43bf7c7918
c api support srt server
2022-09-22 21:18:34 +08:00
ziyue
0b355759de
整理webrtc相关代码命名空间
2022-09-18 21:03:05 +08:00
ziyue
15affeff1d
优化关闭媒体源相关逻辑: #1963
2022-09-18 20:36:47 +08:00
xiongziliang
12551be33c
提炼ProtocolOption赋值相关逻辑
2022-09-16 23:31:37 +08:00
夏楚
4a35ddbddb
Merge pull request #1942 from mtdxc/reduce_code
...
简化代码
2022-09-09 11:10:55 +08:00
custompal
d853075175
RtpServer新增tcp主动模式支持 ( #1938 )
2022-09-09 10:56:28 +08:00
huangxiuqi
258a4dd166
C API和WebHook未找到流回调添加直接关闭机制 ( #1948 )
2022-09-09 10:55:35 +08:00
cqm
999e0b274e
简化代码:
...
- MediaSource引入shortUrl和getUrl来简化日志输出
- WebApi引入fillSockInfo
2022-09-07 11:47:15 +08:00
xiongziliang
00c9749b5d
防止多个track时获取rtp推流丢包率失败
2022-09-03 16:47:37 +08:00
PioLing
0948a3df31
支持在addStreamProxy和on_publish中控制单个流是否开启时间戳覆盖 ( #1930 )
2022-09-03 09:54:09 +08:00
custompal
dd6495cc07
补充getMediaPlayerList接口注释及postman示例
2022-09-02 17:46:09 +08:00
custompal
33e1e6b88d
getMediaPlayerList返回播放器id以及会话类型名称
2022-09-01 21:52:43 +08:00
custompal
d0214a13e1
防止getPlayerList返回的json数据为null
2022-09-01 17:45:06 +08:00
custompal
38170c702e
修正gcc4.8编译错误
2022-09-01 17:33:36 +08:00
custompal
04aa3ef41f
增加获取媒体流播放器列表功能
2022-08-30 21:05:19 +08:00
xiongziliang
6a4297845f
新增发送rtp被动关闭hook
2022-08-27 10:53:47 +08:00
xiongziliang
9f0c15a4f0
startSendRtp接口支持rtcp接收超时主动停止
2022-08-20 12:48:27 +08:00
Dw9
30984d2076
mp4录制支持作为观看者参与播放人数统计 ( #1880 )
2022-08-16 11:47:24 +08:00
xiongguangjie
a1000da71f
add get version restful api
2022-08-12 18:09:44 +08:00
ziyue
35791aac89
优化代码,去除编译警告,修复拼写错误
2022-08-08 17:36:07 +08:00
ziyue
7458a67c66
修正deleteRecordDirectory接口拼写错误并精简代码
2022-08-05 16:01:31 +08:00
Dw9
73d2cd4ff7
修复pr1885 删除文件判断逻辑错误
2022-08-04 22:00:44 +08:00
dreamisdream
db70aec690
增加webapi deleteRecordDirectroy(删除录像文件夹) ( #1851 )
2022-08-04 10:15:07 +08:00
ziyue
54f400a6e9
确保MediaServer主函数可以多次调用: #1838
2022-07-29 16:24:43 +08:00
Xiaofeng Wang
310b60276c
cmake: try to disable compile warning of C4819
2022-07-26 13:25:36 +08:00
Xiaofeng Wang
8f679831bc
camke: fix server compile definitions
2022-07-26 13:23:58 +08:00
Xiaofeng Wang
0fb0cc29e5
设置依赖以便推导编译依赖
2022-07-26 00:17:59 +08:00
Xiaofeng Wang
9d3ead61de
整理 CMakeLists.txt
2022-07-25 00:22:30 +08:00
Xiaofeng Wang
8192b37cd4
修正 ENABLE_RTPPROXY 的处理
2022-07-24 22:30:59 +08:00
custompal
1291bf1d21
添加bom头
2022-07-15 20:01:00 +08:00
custompal
d3b37b76bd
getMp4RecordFile接口可使用自定义的录像保存根目录来搜索文件
2022-07-15 19:53:10 +08:00
baiyfcu
fde6b436cc
封装rtp server创建和关闭
2022-06-22 10:31:53 +08:00
xiongziliang
a44b770d9d
完善Android工程
2022-06-19 01:12:14 +08:00
xiongziliang
272eca1249
hook重试新增延时功能
2022-06-18 14:10:47 +08:00
Leon
01350c810e
update server/WebHook.cpp.
...
配置文件HOOK添加retry ,设置hook通知失败重试的次数。默认为0,不重试,
2022-06-15 07:14:36 +00:00
ziyue
dfec2d76e0
修复close_stream接口无回复问题
2022-06-14 16:29:04 +08:00
xiongziliang
4d6cff36b8
添加bom头
2022-06-11 16:00:45 +08:00
xiongziliang
fd11c53a78
Merge branch 'feature/srt' of github.com:ZLMediaKit/ZLMediaKit
2022-06-11 15:07:58 +08:00
xiongziliang
84d0d1db19
getAllSession接口返回完整可读类名
2022-06-11 15:03:28 +08:00
xiongziliang
926e78272c
优化获取丢包率相关代码
2022-06-11 14:45:56 +08:00
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