Commit Graph

604 Commits

Author SHA1 Message Date
老衲不出家
e322db0a04 兼容seq计数器重置不规范的rtp流 (#3860)
rtp seq在重置回退时,之前的逻辑会一直丢数据,修改后将兼容这种不规范的rtp流。
2024-09-05 17:28:33 +08:00
xia-chu
da704ab2f1 更新并适配ZLToolKit 2024-08-04 20:46:05 +08:00
xiongguangjie
8398ae17e4
compatible rtsp sdp parse no samplerate for audio (#3740)
兼容rtsp sdp协商中未声明采样率但是可以通过a 字段中fmtp中有config中解析出来的情况
2024-07-21 20:43:52 +08:00
mtdxc
d735aa1797
Media tuple refactor (#3715)
Co-authored-by: cqm <cqm@97kid.com>
2024-07-14 09:32:41 +08:00
xia-chu
b4fecdc929 防止对象析构时抛异常导致的崩溃 2024-07-05 21:06:11 +08:00
xiongguangjie
5b4ec8415d
Fix dahua nvr rtsp record compatible bug (#3677 #3632) 2024-07-05 20:54:06 +08:00
Lidaofu
5a717186dd feat: 增加拉流代理rtsp时提供倍速功能支持 (#3669)
Co-authored-by: lidaofu <lidf@ahtelit.com>
2024-06-28 16:08:08 +08:00
xiongziliang
77d2df1695 移除RtpSelector相关逻辑,优化代码结构 2024-06-09 10:52:10 +08:00
zwcarl
9a5fdd3dac
修复组播bug (#3602)
当多个客户端拉同一个组播源时,如果此时源被析构,会偶现使用该源的组播对象没有被析构的情况,在RtpMultiCaster的_rtp_reader->setDetachCB回调函数中,先移除该组播对象再通知上层session可以解决此问题

---------

Co-authored-by: zhengwang <carl.zheng@lednets.com>
2024-06-09 10:42:02 +08:00
xiongziliang
189b02e400 解析rtp时,兼容rtsp服务端发送缓冲区溢出覆盖的bug 2024-06-02 13:11:45 +08:00
admin
472d7d1e4f 兼容rtsp服务端发送缓冲区溢出覆盖的bug 2024-05-15 14:31:36 +08:00
xia-chu
bbdbd6a3e0 feat: Using kBeatIntervalMS option for rtsp heartbeat interval time and add kRtspBeatType for setting rtsp heartbeat type 2024-05-11 14:41:18 +08:00
yanggs
046aaa3498
修复拉取指定流时时长信息丢失的问题 (#3500) 2024-05-01 13:19:47 +08:00
xia-chu
50f65c4ba4 Random port pool ensures that both UDP and TCP modes are available simultaneously 2024-03-16 21:53:30 +08:00
xiongguangjie
06abbd0eb7
rtp send rtp g711 audio can config duration (#3325)
optimization for this
[issue](https://github.com/ZLMediaKit/ZLMediaKit/issues/3316)
2024-03-02 16:40:13 +08:00
xia-chu
25c99470ee feat: add support of codec plugin 2023-12-10 11:09:04 +08:00
夏楚
64f15202de
Support multi audio/video track 2023-12-09 22:34:22 +08:00
夏楚
bbe8f4a018
release 8.0 2023-12-09 16:23:51 +08:00
ljx0305
44c82752b3
修正回环时计算前后包距错误 (#3089) 2023-12-07 22:05:42 +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
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
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
c35b5e9215 rtp过滤逻辑限制version字段 2023-09-02 10:50:25 +08:00
waken
fef85da771
修复调用close_stream同时调用getMediaList引发的崩溃 (#2800)
复现条件:chrome打开webrtc
demo网页,网页会每秒调用getMediaList。添加一条rtsp拉流,然后再调用close_stream,会偶现进入RtspPlayer::getPacketLossRate函数,然后_rtcp_context为空拿不到指针
2023-08-31 10:53:46 +08:00
xia-chu
cb4ab21548 修复rtsp组播遍历迭代器导致崩溃的bug 2023-08-26 11:34:22 +08:00
xia-chu
895e93cb6a 端口池分配端口改成无序分配
解决zlmediakit重启后端口重复分配导致国标串流问题
2023-08-20 12:19:53 +08:00
xia-chu
90c164f7f7 rtsp播放器过滤非法的回复 (#2760)
提高对一些rtsp流的兼容性
2023-08-20 11:19:57 +08:00
夏楚
ff225114ec
修复rtsp服务可能无法发送rtp给nat内播放器的bug (#2737 #2740)
在udp connect rtsp播放器内网端口后,可能导致过滤掉其公网端口发送的打洞包;
从未无法完成与rtsp播放器udp端口的双向通信。
Socket::bindPeerAddr修改成软绑定时,只是保存发送目标地址,不会导致打洞包的过滤。
2023-08-05 09:25:35 +08:00
夏楚
2935bc1932
修复sdp全局信息未保存问题 (#2739)
解决rtsp拉流代理时无法区分直播点播问题
2023-08-05 09:24:52 +08:00
夏楚
63a50104fa
rtp ntp时间戳采用透传方式 (#2719) 2023-07-29 23:04:26 +08:00
夏楚
73c8a5faf4
统一设置单字节对齐方式 (#2716)
__attribute__((packed)) 替换为 #pragma pack(push, 1)
2023-07-29 13:07:22 +08:00
xiongguangjie
e8f8b48d38
fix rtsp player pull hik record stream (#2624 #2701)
修复rtsp 拉流 sdp中全局a:control:获取失败的bug
2023-07-25 15:47:28 +08:00
xiongguangjie
4e33f5b477
rtsp player add query param for content-base (#2637)
rtsp以content-base为基准,增加url的query参数(根据抓包分析,vlc是这样处理的),以兼容海康rtsp录像流与
直播流,主要是为了兼容这两个issue: #2624 #2501
2023-07-10 10:53:02 +08:00
johzzy
d41afa5d48
fix typo. (#2644) 2023-07-09 10:25:10 +08:00
XiaoYan Lin
cb0579a16d
新增支持hls-fmp4直播(#2603 #977 #1965)
同时主要优化点包括:
1、编译宏特性开关优化。
2、转协议复用器相关创建代码移动至Recorder类。
3、转协议复用器onAllTrackReady函数修改为addTrackCompleted。
4、startRecord/stopRecord/isRecording接口新增支持ts/fmp4/hls-fmp4协议。

Co-authored-by: xia-chu <771730766@qq.com>
Co-authored-by: linxiaoyan87 <linxiaoyan87@foxmail.com>
2023-07-02 12:02:33 +08:00
Talus
9f753b5e5f
RTSP支持强制协商RTP传输方式 (#2572)
当客户端发起RTSP SETUP的时候,如果rtp传输类型和配置不一致则返回461 Unsupported
transport。迫使客户端切换到对应rtp传输协议并重新SETUP;目前支持FFMPEG和VLC。
2023-06-21 15:35:27 +08:00
xia-chu
64b8079ac1 优化函数命名风格
FindField改名为findSubString
2023-06-10 14:55:40 +08:00
xia-chu
31944a92ad 重写Parser代码实现 2023-06-10 14:55:40 +08:00
xia-chu
af0ebf4633 优化Parser代码命名 2023-06-10 14:55:40 +08:00
xiongguangjie
11a39c68c4
修复海康rtsp点播拉流seek相关bug(#2501 #2511) 2023-05-31 09:59:41 +08:00
Johnny
0232caf068 add MediaTuple 2023-05-30 11:01:27 +08:00
Johnny
f4ee607feb add RtspMediaSource::Clone 2023-05-30 11:01:27 +08:00
xia-chu
d2349f01bd 使用static_pointer_cast优化性能 2023-04-28 22:04:38 +08:00
xia-chu
cdf97e7605 更新zltoolkit,适配最新代码 2023-04-28 22:04:09 +08:00
xiongziliang
de8249592e Session类构造析构跟踪日志统一在底层网络框架打印 2023-04-22 23:58:17 +08:00
xiongziliang
7a95c87a29 优化代码
空构造和析构函数替换为缺省
去除多余分号
2023-04-22 21:59:26 +08:00
xia-chu
4cc2982a2c 重写jitter buffer算法,修复seq回环时可能丢包的bug 2023-03-11 10:17:31 +08:00