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
xiongguangjie
5f8a77e6b1
Merge branch 'master' into dev
2023-11-10 13:46:13 +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
xiongziliang
c95ccbd544
更新webassist
2023-11-05 20:15:58 +08:00
xiongziliang
2628690673
国标udp多端口模式支持收到sr rtcp后回复rr rtcp
...
确保国标停止rtp推流后也可以仅靠rtcp保活
2023-11-05 13:26:42 +08:00
xiongziliang
bf6fccd954
更新ZLToolkit,修复 #2946
2023-11-05 13:04:41 +08:00
xiongziliang
b257c670eb
调整持续集成配置
2023-11-05 13:04:30 +08:00
xiongziliang
2206b031a9
防止析构时抛异常导致的崩溃
2023-11-04 22:24:55 +08:00
xiongziliang
9f28384cd9
更新三方库
2023-11-02 12:54:08 +08:00
xiongziliang
83b432b980
默认关闭only_audio模式,修复mk_media_start_send接口发送视频失败的bug
2023-11-02 12:51:08 +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
xiongguangjie
0f94b48823
修复url反转义失败时字符乱码相关bug ( #2932 #2935 )
2023-10-27 22:49:42 +08:00
xia-chu
6d06649a5b
更新webassist
2023-10-27 21:45:03 +08:00
夏楚
c876e53924
优化ffmpeg url解析规则,提高rtmp客户端兼容性 ( #2936 )
...
根据ffmpeg测试,类似rtmp://ip/a/b/c/d/e/f这样的url,app应该为a/b,stream_id应该为c/d/e/f,
tcl_url应该为rtmp://ip/a/b, teams的rtmps服务需要按这种方式才能推成功
---------
Co-authored-by: yangkun <yangkun@osee-dig.com>
2023-10-27 21:39:36 +08:00
xia-chu
1a4b8406bb
新增作者列表
2023-10-25 20:41:59 +08:00
xia-chu
4b568b33a1
新增web后台管理网页
2023-10-25 20:36:19 +08:00
夏楚
ae662fa083
webrtc dtls默认采用https证书,如果https证书不存在则随机生成 ( #2928 )
...
之前默认随机创建dtls证书,导致每次启动证书都不一致,而Firefox要求同主机的dtls证书必须一致,所以导致每次服务重启,Firefox可能拒绝dtls握手。
并且在集群模式下,如果Firefox接入多个不同集群实例的webrtc服务,也可能导致webrtc dtls握手失败。
2023-10-25 17:50:29 +08:00
leibnewton
0a19627d86
修复startSendRtp成功后udp套接字被关闭的问题 ( #2468 #2924 )
...
对端端口未打开,udp得到connection refused的错误而关闭。
2023-10-25 15:14:08 +08:00
xia-chu
a871fc1882
websocket服务器支持在创建器中指定消息类型
...
通过该修改可以更灵活的指定同端口下不同websocket服务的消息类型
2023-10-23 20:59:37 +08:00
xia-chu
ebde21a314
修复openRtpServer开启tcp模式后打开端口失败的bug
...
两次监听同个tcp端口将导致打开tcp模式失败
2023-10-23 20:49:54 +08:00
xia-chu
08d86c498e
修复jemalloc编译问题
2023-10-23 20:41:38 +08:00
xia-chu
d9ea82c800
更新zltoolkit
2023-10-23 20:39:10 +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
imp_rayjay
eedf262059
新增支持mjpeg负载的mp4文件点播 ( #2898 )
2023-10-12 17:26:53 +08:00