Commit Graph

579 Commits

Author SHA1 Message Date
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
ziyue
034e29b25a 修复rtsp basic鉴权相关bug: #2087 2022-11-15 20:52:27 +08:00
xiongziliang
9bb6a2f828 全面整理转协议相关配置文件 2022-11-12 23:56:28 +08:00
xiongziliang
946945ce7b 优化代码
整理代码
2022-11-12 22:06:09 +08:00
ziyue
520945c2e9 提高线程安全性 2022-11-01 10:53:38 +08:00
ziyue
ac1abb34da 新增媒体流flush机制:#1996 2022-10-16 19:54:17 +08:00
xiongguangjie
bfebcd62c7 rtp packet sort set init seq 2022-09-28 15:29:11 +08:00
ziyue
15affeff1d 优化关闭媒体源相关逻辑: #1963 2022-09-18 20:36:47 +08:00
custompal
08789454c3
rtsp支持指定播放单一track (#1937) 2022-09-13 16:27:00 +08:00
cqm
999e0b274e 简化代码:
- MediaSource引入shortUrl和getUrl来简化日志输出
- WebApi引入fillSockInfo
2022-09-07 11:47:15 +08:00
xiongziliang
06c6654ed5 精简代码 2022-09-03 16:32:10 +08:00
custompal
0d6509ce03 统一部分变量名和代码样式风格 2022-08-30 21:24:25 +08:00
custompal
04aa3ef41f 增加获取媒体流播放器列表功能 2022-08-30 21:05:19 +08:00