夏楚
|
db0818c8d2
|
新增mp4点播接口loadMP4File (#3018 #2972)
|
2023-11-24 10:44:08 +08:00 |
|
Fummo
|
88f7f46497
|
Bugfix: Only close edge streams with no viewers (#2994)
Bugfix to only close streams with no viewers if they
originate from an edge server rather than all streams.
Fixes https://github.com/ZLMediaKit/ZLMediaKit/issues/2981
|
2023-11-19 14:35:18 +08:00 |
|
waken
|
7f25138b46
|
openRtpServerMultiplex接口统一url路径 (#2963)
|
2023-11-09 20:36:51 +08:00 |
|
waken
|
6888f20d74
|
新增openRtpServerMultiplex接口,支持创建多路复用RTP服务器端口 (#2954)
#2953
|
2023-11-09 11:26:13 +08:00 |
|
Dw9
|
f8285a3f6c
|
startSendRtp接口新增支持同ssrc向多个服务器推流 (#2951)
新增ssrc_multi_send参数,支持同ssrc向多个服务器推流,兼容当前startSendRtp/stopSendRtp接口
|
2023-11-07 23:38:58 +08:00 |
|
xia-chu
|
d8d7fe9144
|
通过getMediaList接口可返回Track时间戳增量信息
|
2023-10-31 11:10:02 +08:00 |
|
xia-chu
|
c1b82961cf
|
deleteRecordDirectory接口新增name参数,可以指定删除特定录像文件
|
2023-10-31 11:10:02 +08:00 |
|
ljx0305
|
7ee2d66eaa
|
统一代码命名风格 (#2910)
openRtpServer时,如果开启tcp模式,从tcp端口池获取
|
2023-10-19 17:55:30 +08:00 |
|
Armstrong
|
b8cb8957e4
|
修复WebApi退出清理时重复析构问题 (#2900)
1. s_???Map.clear()会触发key/value的析构,先执行析构再移除map成员。析构执行完之前map成员仍然有可见性。
2. s_???Map的成员析构时,根据当前状态,可能触发回调,如播放终止回调。
3. 在状态变更的回调函数中,通过s_???Map.erase(key)的方式解注册,此时也会触发一次析构。
两次析构导致double free:a) map.erase, b) map.clear
Signed-off-by: ArmstrongCN <armstrong@sweelia.com>
|
2023-10-13 15:26:31 +08:00 |
|
alexliyu7352
|
fdc00d5a02
|
增加jemalloc工具类, 增加jemalloc内存统计分析 (#2885)
增加jemalloc工具类, 增加jemalloc内存统计分析
|
2023-10-10 11:48:56 +08:00 |
|
xia-chu
|
585f7c3a3a
|
修复ffmpeg日志保存目录相关bug
每次调用addFFmpegSource/getSnap接口时,都可能导致篡改全局配置变量
|
2023-09-23 20:34:36 +08:00 |
|
xiongguangjie
|
f69f3b3029
|
docker 优雅关闭(docker stop graceful) (#2827)
|
2023-09-09 10:59:27 +08:00 |
|
xia-chu
|
e3e7495c90
|
新增webrtc播放器datachannel消息广播机制和接口
|
2023-09-02 12:53:56 +08:00 |
|
xia-chu
|
39dd886ec1
|
优化获取播放器列表相关功能
|
2023-09-02 12:07:42 +08:00 |
|
xia-chu
|
d286ac1d73
|
NoticeCenter支持安全类型转换,解决监听者参数类型不一致导致的bug
|
2023-09-02 11:22:28 +08:00 |
|
xia-chu
|
0844f09e24
|
addStreamProxy重复拉流时返回错误 (#2773)
|
2023-08-26 23:03:15 +08:00 |
|
夏楚
|
e628cba1ca
|
新增配置项过滤on_stream_changed hook协议类型 (#2759)
配置项hook.stream_changed_schemas可指定监听感兴趣的协议
|
2023-08-14 00:05:32 +08:00 |
|
夏楚
|
f69204b321
|
hook请求添加hook_index, 防止hook请求乱序 (#2758)
|
2023-08-13 20:46:08 +08:00 |
|
xia-chu
|
aac8905619
|
api secret无效时不再直接退出程序
而是修改为随机字符串并持久化至配置文件
|
2023-08-12 15:43:30 +08:00 |
|
xia-chu
|
2bcbff09b0
|
web hook不再直接放行来自127.0.0.1播放鉴权请求
防止代理越过鉴权
|
2023-07-27 15:54:04 +08:00 |
|
xia-chu
|
2c8a46862b
|
来自127.0.0.1的http api请求开启secret校验
防止http代理越过鉴权
|
2023-07-27 15:54:04 +08:00 |
|
xia-chu
|
c1f6517471
|
在开启on_http_access hook时,访问http文件(或目录)ip白名单机制不生效
on_http_access hook优先级更高,关闭on_http_access hook时才采用ip白名单机制,防止两种鉴权机制间的冲突
|
2023-07-27 15:54:03 +08:00 |
|
xia-chu
|
e81efec96e
|
ip白名单机制只对需要secret校验的http api生效
|
2023-07-26 17:18:33 +08:00 |
|
xia-chu
|
706c63c64b
|
禁止通过setServerConfig接口修改ffmpeg.bin配置选项
|
2023-07-26 16:40:10 +08:00 |
|
xia-chu
|
098046cb1d
|
新增http api与http文件访问ip白名单限制机制,默认禁止公网访问
|
2023-07-26 16:33:21 +08:00 |
|
夏楚
|
25d5e410c3
|
禁止默认http api密钥,删除管理员越过鉴权逻辑 (#2655 #2690)
http api secret禁止使用默认的035c73f7-bb6b-4889-a715-d9eb2d1925cc
删除admin_params的设定
|
2023-07-22 17:30:20 +08:00 |
|
Xiaofeng Wang
|
a31108cc51
|
避免清空库列表导致 test 编译失败 (#2677)
|
2023-07-19 23:36:03 +08:00 |
|
xia-chu
|
f55e13f9da
|
c sdk新增on_mk_media_send_rtp_stop事件回调
|
2023-07-08 22:34:09 +08:00 |
|
夏楚
|
e52c1cc510
|
修复addFFmpegSource添加的流事件拦截可能失效问题 (#2642 #2629)
此pr主要为了修复 #2629,通过新增getMuxer接口,
可以直接获取到所有协议共享的MultiMediaSourceMuxer对象,
在此对象完成事件拦截,防止某种协议事件丢失。
同时调整了下FFmpegSource.cpp代码格式。
|
2023-07-08 21:35:09 +08:00 |
|
xia-chu
|
6b9889a883
|
WebApi调试日志恢复为Debug级别
|
2023-07-02 12:45:07 +08:00 |
|
夏楚
|
2ad44bc773
|
修复启动参数log-size单位错误bug (#2598)
FileChannel内部已经把做了转换为MB操作,外面无须再乘以1024x1024
|
2023-06-28 14:55:39 +08:00 |
|
pedoc
|
2771bc15a5
|
添加on_server_exited webhook事件,当程序正常退出时触发 (#2591 #2585)
|
2023-06-28 11:36:41 +08:00 |
|
朱如洪
|
c530f281c3
|
优化CMakeList, 完善iOS下编译配置 (#2578)
1、调整 json 的源码引入,外部可以引入 json/json.h 使用;
2、针对 iOS 工程调整 cmake 配置,解决 iOS 环境下mk_util.h 找不到问题;同时在 iOS 工程中引入 MediaServer 静态库;
|
2023-06-27 10:51:31 +08:00 |
|
夏楚
|
6cd9e15cb8
|
优化FFmpeg截图命令模板,提高截图成功率 (#2583)
-t 0.001参数替换为-frames:v 1,只截图一帧
|
2023-06-26 11:04:52 +08:00 |
|
夏楚
|
06742f9d25
|
新增日志相关设置启动参数 (#2581)
1.新增日志文件保存路径启动参数:log-dir
2.新增日志文件最大切片个数启动参数:log-slice
3.新增日志文件最大切片大小启动参数:log-size
|
2023-06-26 10:49:25 +08:00 |
|
johzzy
|
03770ff409
|
Replace the tuple (vhost/app/stream) with MediaTuple. (#2560)
|
2023-06-17 10:28:01 +08:00 |
|
xia-chu
|
64b8079ac1
|
优化函数命名风格
FindField改名为findSubString
|
2023-06-10 14:55:40 +08:00 |
|
xia-chu
|
af0ebf4633
|
优化Parser代码命名
|
2023-06-10 14:55:40 +08:00 |
|
Johnny
|
0232caf068
|
add MediaTuple
|
2023-05-30 11:01:27 +08:00 |
|
ljx0305
|
7ef39d1b6f
|
修复openRtpServer函数声明不一致问题 (#2445)
|
2023-05-08 15:27:43 +08:00 |
|
xiongguangjie
|
7c89c1655f
|
add getProxyPusherInfo and getProxyInfo restful api
|
2023-05-03 18:52:11 +08:00 |
|
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 |
|