Commit Graph

4090 Commits

Author SHA1 Message Date
KkemChen
2e4c3ff2ef update: 1.添加不同帧率视频通过复用上一帧或丢帧来统一帧率 2.将存储参数的vector展平为一维 2023-11-29 14:36:42 +08:00
KKEM\Administrator
4f332c3d4f update: 等待每个视频流拿到1s的数据再开始编码(待实现 当输入视频流跟要输出视频帧率不一致时,进行补帧或丢帧) 2023-11-24 21:17:29 +08:00
KkemChen
62eba8e390 feat: 视频拼接demo 2023-11-23 17:01:21 +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
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
Deepslient
67bc0273b4
Modify the readme description (#2859) 2023-10-12 14:38:45 +08:00
PioLing
6348e64cdf
确保hls播放器持续播放 (#2896)
在hls注销后,hls cookie会继续存活60秒,在此期间,如果hls流重新注册,将导致无法继续播放;
通过此修改,在hls注销后每3秒查询一次MediaSource,可以在性能和功能间保持平衡。
2023-10-12 11:05:41 +08:00