Commit Graph

591 Commits

Author SHA1 Message Date
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
ziyue
23296ae5fa 加大参数冗余,提高webrtc抗丢包能力 2023-03-07 10:37:44 +08:00
ziyue
d05c9d5f51 重写jitter buffer长度控制算法,提高webrtc/rtp抗丢包能力 2023-03-06 21:04:50 +08:00
xiongziliang
9fdb3de8b2 优化rtp排序抖动缓存算法,提高webrtc/rtsp抗丢包性能 2023-03-06 00:31:11 +08:00
xiongziliang
c2e1083493 复用rtp/rtcp判断逻辑过滤非rtp包: #2247 2023-02-28 22:23:30 +08:00
ziyue
f5755a17e7 合并 #2183 2023-01-02 12:08:20 +08:00
ziyue
08c47ff4f0 Merge branch 'feature/editable_rtsp_sdp' of github.com:a-ucontrol/ZLMediaKit 2023-01-02 11:59:56 +08:00
Ikko Ashimine
fda77f0daf !23 fix typo in RtspSession.cpp
* fix typo in RtspSession.cpp
2022-12-30 17:25:58 +08:00
Alexandr
dc26bbf145 protected virtual bool sendRtspResponse(...) 2022-12-30 08:50:30 +03:00
a-ucontrol
eed5f02380
rtsp/rtp 新增支持mjpeg编码 (#2166)
* Trying to send mjpeg via MultiMediaSourceMuxer

* Improved JPEGRtpEncoder::inputFrame code but still not working

* 优化代码

* 完善jpeg相关逻辑

* Micro fix

* FrameJPEG renamed to JPEGFrame according to ZLM style

* Modified  JPEGRtpEncoder::inputFrame and JPEGRtpEncoder::rtp_send_jpeg

* getVideoHeight(), getVideoWidth() and getVideoFps() in JPEGTrack

* mjpeg rtp打包避免内存拷贝/修复mjpeg rtp解包huffman_table size字段错误的bug

* 支持mjpeg pix type

* 优化性能

* add bom header
2022-12-21 15:32:16 +08:00
monktan89
56ccd4332a 提高rtsp播放器兼容性: #2159 2022-12-14 15:08:24 +08:00
老衲不出家
f05a9501fa
Unified code style (#2137) 2022-12-02 14:43:06 +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
ziyue
68948288e0 TcpSession/UdpSession统一为Session类 2022-11-19 09:33:10 +08:00