Commit Graph

4315 Commits

Author SHA1 Message Date
xiongziliang
a3a563ed41 修复http虚拟目录相关bug 2023-12-02 21:53:25 +08:00
xiongziliang
3137b95406 修复hls快速重连时,延迟删除文件夹相关bug (#3039) 2023-12-02 21:53:24 +08:00
xiongziliang
c12a6f0aed 适配ZLToolKit 2023-12-02 19:49:28 +08:00
xiongziliang
d555f6038a http文件索引改用英文
防止中文乱码
2023-12-02 16:43:06 +08:00
夏楚
76aebd74c6
整理MediaSource协议类型 2023-12-02 16:31:40 +08:00
夏楚
10c2197e76
新增downloadFile接口,支持下载限定目录下任意文件 (#3073) 2023-12-02 15:58:40 +08:00
xiongziliang
e1f199c986 deleteRecordDirectory接口忽略正在录制的mp4文件 (#3032) 2023-12-02 15:23:56 +08:00
xiongziliang
10663fd3b4 删除无效的hook api 2023-12-02 15:04:57 +08:00
xiongziliang
380887c5d3 http api回复改成英文 2023-12-02 15:02:00 +08:00
xiongziliang
a47c5d2ec0 http api不区分大小写 2023-12-02 14:56:59 +08:00
xiongziliang
e2321354f7 更新作者列表 2023-12-02 14:11:54 +08:00
xiongziliang
23b785b263 修复编译警告问题 2023-12-02 10:22:45 +08:00
夏楚
21c03f772f
新增平滑发送逻辑 (#3072) 2023-12-02 10:20:06 +08:00
alexliyu7352
00e6ca3f79
还原之前的自动化集成 (#3071)
这种形式容易引起fork仓库提交pr时的一些问题, 还原成原来的版本
2023-12-01 20:20:42 +08:00
alexliyu7352
4648c156c8
优化hls播放器,使用持久化连接 (#3070)
hls播放时,如果对方reset断开了tcp连接,应该自动发起重连
2023-12-01 17:56:08 +08:00
alexliyu7352
50281513d9
hls播放器优化 (#3064)
1. 连续切片下载失败后关闭播放器, 这种适用于源端服务器出现故障导致m3u8索引正常,但切片文件不正常时,尽快的能关闭播放器并通过web
hook上报业务系统,而不是仍旧不停的拉取ts切片.
2. 优化m3u8拉取失败时的快速重拉, 增加一个0.3秒的延时. 因为有时候httpClient已经_complete=true了,
但是alive()仍旧是true,所以稍微增加一个延时, 避免出现大量的m3u8重试, 实际上这里能否直接判断_complete=true?
3. 继续修改到哪里就把代码注释添加英文版本
2023-12-01 14:43:35 +08:00
alexliyu7352
86029d08af
addStreamProxy支持透传参数并设置MediaPlayer (#3063)
通过addStreamProxy接口可以直接配置MediaPlayer相关设置参数,比如说http代理url等
2023-12-01 14:33:07 +08:00
yujitai
a8e2d602cb
RTC: 修复TWCC feedback rtcp解析status chunk错误的问题 (#3059)
在解析packet status chunk的时候使用了uint8_t类型的循环变量,如果反馈的包数量超过255,那么解析会陷入循环,出现异常
2023-12-01 10:45:24 +08:00
LeiZhi.Mai
586bb73912
兼容webrtc offer sdp中重复行的情况 (#3038) 2023-12-01 10:44:59 +08:00
alexliyu7352
644a333ec3
通过持续集成自动生成openapi相关文件 (#3042) 2023-11-30 17:58:28 +08:00
JiaHao
34695ab1b8
兼容旷世智能分析系统RTSP拉流客户端相关Bug (#3045)
旷世智能分析系统发送DESCRIBE命令时会夹带包括用户名密码完整的rtsp url,这不符个常规

Signed-off-by: Nashira <nashira@nashira.cn>
2023-11-30 17:53:47 +08:00
zjx94
1cbfcd96e2
新增hls快速注册相关配置,提高hls打开速度 (#3024)
新增配置项:hls.fastRegister,默认关闭。
开启后首个切片文件只保存一个gop,可提高hls注册速度,加快播放器打开速度。
但是第一个切片播放完毕,第二个切片需要更长时间生成,可能导致播放器等待加载。
2023-11-30 17:47:22 +08:00
xia-chu
e81ff307c7 防止发送时间戳都为0的sr rtcp包 2023-11-26 09:05:24 +08:00
xia-chu
0f4e0e1076 完善相对时间戳逻辑, 完善同步机制, 解决相对时间戳不同步的问题
默认禁止时间戳回退并设置最大跳跃幅度为300毫秒
rtsp恢复产生ntp时间戳
由于绝对时间戳可能跳跃回退,之前在求相对时间戳时会导致音视频不同步。
现在求相对时间戳逻辑经过修改,已经支持同步功能,所以恢复rtp ntp时间戳逻辑
2023-11-26 09:05:24 +08:00
KisChang
bd22c44ee9
Docker镜像新增支持webrtc datachannel (#3020 #3019) 2023-11-24 17:32:32 +08:00
夏楚
db0818c8d2
新增mp4点播接口loadMP4File (#3018 #2972) 2023-11-24 10:44:08 +08:00
yujitai
92e7d8837e
RTC: 修复一组丢包分多次nack发送时blp-vector没有被重置的问题 (#3016)
如果一组丢包,通过多个nack发送,那么多次执行blp_vec.resize(16,
false)并不会重置元素值,这会导致blp_vec的丢包状态错乱,从而产生一些不必要的重传请求。
2023-11-23 21:35:23 +08:00
alexliyu7352
aacc95867f
Add swagger ui for test http-api (#3012)
`python generates.py`

Convert postman files to openapi format files
Visit http://127.0.0.1:8081/swagger/ to conveniently debug the API.
2023-11-23 17:19:36 +08:00
alexliyu7352
d593267f61
增加http代理功能 (#2988)
支持通过http代理拉流, 避免内外网复杂网络环境时需要专门配置防火墙,现在只需要配置一台代理内网的服务器.

---------

Co-authored-by: xia-chu <771730766@qq.com>
2023-11-23 11:09:01 +08:00
Jovial Young
a13b8417e5
修复rtmps默认端口不对导致无法推/拉流问题 (#2996)
在使用rtmps推流或者拉流时,端口被默认设置成了1935,正确的端口应该是443.
2023-11-19 14:37:04 +08:00
xiongguangjie
22f5f56130
rtc fix sdp ufag should not contain _ + = - by spec (#2993)
rtc 中的sdp ufrag 只能有数字与字母组成,不能包含其他符号(根据RFC 5245),包含 _ + = - , 在chromium
项目中有人提出过,详情见( https://crbug.com/1053756 )。chrome 也能正常处理_ + = -
等符号,但是在日志中会有警告如下 `[WARNING:transport_description.cc(32)] '-', '=', '#'
and '-' are not valid ice-char and thus not permitted in ufrag or pwd.
This is a protocol violation that is permitted to allow upgrading but
will be rejected in the future. See https://crbug.com/1053756`
因此修改
2023-11-19 14:36:03 +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
Deepslient
48ca0521cf
Optimization syntax (#2915)
Optimization web rtc demon syntax
2023-11-18 00:50:30 +08:00
taotaobujue
7865f2c360
修复udp单端口模式下rtp鉴权失败后无法关闭流的问题(#2985)
如果rtp推流鉴权失败,在udp模式下延时断开连接,等待超时自动关闭,防止频繁创建销毁RtpSession对象,
tcp模式则立即断开链接。
2023-11-15 11:02:12 +08:00
老衲不出家
2a9a51af1f
更新media-server (#2982)
Co-authored-by: monktan <monktan@tencent.com>
2023-11-14 02:33:37 -06:00
648540858
d2374cbd79 兼容opensuse系统编译 2023-11-13 11:58:10 +08:00
xiongziliang
f6b6fe04cd 新增mk_publish_auth_invoker_do2接口,支持精细化控制推流转协议设置 2023-11-12 21:24:02 +08:00
xiongziliang
4ea7565344 修复startSendRtp接口开启rtcp时触发断言异常的bug
此问题由pr(#2924)引入
2023-11-12 19:55:18 +08:00
xia-chu
5b394fcff7 重写加载mp4文件推流rtsp/rtmp范例程序 2023-11-11 21:34:25 +08:00
xia-chu
dbe6edb5de 更新zltoolkit 2023-11-10 21:57:16 +08:00
lvchenyun
5c81640556
修复国标级联音频可能错乱的bug (#2967)
GB28181流音频解析出来的Frame类型是不可缓存类型,它的数据内存地址是复用的。
在级联时,会把Frame存入RingBuffer对象,这样在下次使用改Frame对象时,可能数据区已经被覆盖掉了。
2023-11-10 21:56:05 +08:00
xbpeng121
884f1d760b
提高对不规范国标TCP推流的兼容性 (#2966)
问题: 建立tcp链接后,并不是从rtp包头开始发数据,所以无法解析出正确的包。
解决方案:在tcp数据报文中搜索0x000001bb(关键帧的system header),找到后偏移固定字节恢复rtp包头。
2023-11-10 21:53:43 +08:00
xia-chu
055fe2cb92 更新zltoolkit,修复fd溢出以及事件紊乱bug (#2946) 2023-11-10 13:15:00 +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
fruit Juice
1609fe67d7
Track新增update方法,支持更新宽高采样率等信息 (#2960)
当变分辨率时候,实时更新MP4封装层的参数信息,避免出现封装层与编码(SPS)层视频宽高不一样,造成解码参数错误花屏;同时也支持更新音频采样率等信息。


---------

Co-authored-by: xia-chu <771730766@qq.com>
2023-11-07 23:36:41 +08:00
xia-chu
77b3c4312e 更新zltoolkit,修复打开文件描述符太多时,tcp服务器无响应的bug (#2946) 2023-11-07 23:15:55 +08:00
xia-chu
aa5343effa 修复http客户端设置tcp连接超时时间单位错误的问题
须毫秒转换为秒
2023-11-07 23:15:16 +08:00
yujitai
433ecb1c5c
RTC: 修复gop没有sps/pps导致的秒开失败问题 (#2959)
rtc场景下,如果directProxy设置为1,sdp没有传递sps/pps,因此gop的开始需要是rtp sps/pps配置帧而不是idr关键帧,这样才能保证秒开。
2023-11-07 19:34:40 +08:00