Commit Graph

603 Commits

Author SHA1 Message Date
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
xiongzilaing
679c79802f 整理媒体事件相关代码,删除无须重载时的多余代码逻辑 2022-08-28 17:25:56 +08:00
ziyue
9c3b8a6a95 时间戳改为64位 2022-08-08 17:13:39 +08:00
ziyue
316301e910 确保rtsp直接拉流代理支持GOP缓存: #1843 2022-08-01 11:35:38 +08:00
xiongguangjie
b53ad2cc2d for rtsp sdp pt more check 2022-07-17 00:30:12 +08:00
xiongguangjie
3eaf7897a7 rtsp player trust sdp pt ,ingore other pt compatible hik nvr record 2022-07-17 00:26:07 +08:00
xiongziliang
121b78e5dd 推流器主动断开时,避免开启断流续推功能 2022-07-02 15:36:44 +08:00
xiongziliang
7a24a22661 完善推流判断逻辑 2022-07-02 13:13:16 +08:00
xiongguangjie
266aaf9e0b fix rtsp and rtmp on_flow_report player or pusher judge error 2022-06-24 09:06:46 +08:00
xiongziliang
d72af3e61a 兼容不规范的rtsp url: #904 2022-06-18 21:19:26 +08:00
xiongziliang
97116e1208 完善getOwnerPoller相关逻辑 2022-06-11 13:08:58 +08:00
xiongziliang
b23cbaa0f8 on_publish hook新增continue_push_ms参数,用于断连续推延时控制 2022-06-04 11:06:35 +08:00
xiongziliang
fd4145a622 完善对rtp负载为空处理逻辑:#1661 2022-05-28 10:34:54 +08:00
cqm
3110284302 修复rtc单独播放音频延时高问题 2022-05-27 09:39:03 +08:00
xiongziliang
251fe1f77c 优化随机端口分配逻辑 2022-05-14 23:34:33 +08:00
xiongziliang
8231c5c293 新增GB28181 tcp passive被动发送接口(startSendRtpPassive) 2022-05-14 23:25:22 +08:00
ziyue
a44334acaf 全面支持ipv6 2022-05-08 16:33:33 +08:00
xiongziliang
d66845425c 完善ipv6网络适配 2022-05-08 00:26:01 +08:00
ziyue
3062ea0e7c 初步支持ipv6: #576, #1406 2022-05-07 20:06:08 +08:00
xiongziliang
974055fd17 确保推流器主动断开时,不开启断连续推特性: #1559 2022-04-16 21:37:07 +08:00
xiongziliang
a6e82799f5 openRtpServer接口新增re_use_port参数 2022-04-09 10:26:15 +08:00
Dw9
822a401f30
优化端口池范围限定逻辑 (#1508) 2022-03-26 10:15:18 +08:00
xiongziliang
b127d8c2a9 rtsp/GB28181随机端口,支持端口范围设置 2022-03-13 20:50:25 +08:00
xiongziliang
1cf0a0cc20 bug fix 2022-03-12 14:02:12 +08:00
xiongziliang
4dc621e1bb 转协议选项抽象为ProtocolOption对象 2022-03-12 13:24:23 +08:00
ziyue
d88fe077ed on_publish hook新增originType字段 2022-03-02 18:03:44 +08:00
xiongziliang
8324a9fe43 修复rtsp推流访问空指针的bug:#1456 2022-02-28 17:20:20 +08:00
xiongziliang
b82cd5a500 确保ntp时间戳获取失败时,webrtc rtp重传缓存列队长度正常 2022-02-27 01:02:54 +08:00
ziyue
147ba6147c rtsp/rtp: 过滤干扰的rtp pt, 提高兼容性: #1445 2022-02-22 16:53:05 +08:00
ziyue
72caa43c97 主动关闭的流不支持断流续推: #1401 2022-02-09 14:31:40 +08:00
夏楚
c72cf4cbcc
整理命名空间 (#1409)
* feat: remove using namespace mediakit in header files.

(cherry picked from commit d44aeb339a8a0e1f0455be82b21fe4b1b536299f)

* feat: remove using namespace mediakit in FFmpegSource.h

* feat: remove using namespace mediakit in RtpExt.h

* feat: remove using namespace mediakit in header files.

* feat: remove using namespace std in header files.

* feat: remove using namespace std in header files when zltoolkit remove std in header

* 补充命名空间

* 整理命名空间

* 整理命名空间2

* 修复macos ci

* 修复编译问题

* 修复编译问题2

* 修复编译问题3

Co-authored-by: Johnny <hellojinqiang@gmail.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
2022-02-02 20:34:50 +08:00
JayChen0519
a3e628449e
解决rtsp以MULTICAST方式拉流导致的奔溃问题 (#1368) 2022-01-14 13:14:30 +08:00
ziyue
d52fc4c31f Refine: 优化rtsp相关代码 2022-01-12 15:24:28 +08:00
ziyue
412d280cd7 修复断连续推转协议失效的bug 2022-01-10 17:34:39 +08:00
ziyue
1dabc22347 修正错误注释 2022-01-10 17:00:25 +08:00
ziyue
f5efd232a9 rtsp/rtmp推流支持断连续推: #1240, #1300 2022-01-10 16:43:57 +08:00
xiongziliang
6e445614b4 申请udp端口使用全局互斥锁保护,防止端口重复分配 2022-01-08 16:07:08 +08:00
ziyue
5a592e6db6 优化循环池性能 2022-01-06 14:30:44 +08:00
ziyue
7f6be9e118 Refine: 消除编译警告 2021-12-30 15:28:27 +08:00
xiongguangjie
50c6c2513d
修复rtsp tcp 推送到 rtsp-simple-server 失败的问题, (#1274)
* for push rtsp  to rtsp-simple-server remeber annoce response sessionid and setup tcp add mode=record

* fix  push rtsp  to rtsp-simple-server over udp error add mode=record

* 优化代码

Co-authored-by: 夏楚 <771730766@qq.com>
2021-12-14 17:17:05 +08:00
ziyue
afdc5e4267 Refine: 优化tcp/udp服务器异常管理断开机制 2021-11-19 15:26:33 +08:00
ziyue
b7e187d7af Player: 添加kWaitTrackReady选项决定播放器是否等待所有track ready再回调 2021-11-10 13:56:04 +08:00
ziyue
e38f2253ff Demuxer: 解复用减少一次MediaSink的数据过滤 2021-11-10 13:44:29 +08:00
ziyue
fdfde17ec7 Demuxer/Player: 修改解复用与播放器底层逻辑,确保触发播放成功回调时不丢帧 2021-11-10 11:38:54 +08:00
ziyue
37fdb8d135 MediaSource: 继承改成私有 2021-11-10 11:38:54 +08:00
ziyue
dad0c5e3cc MediaPusher: 抽象精简代码 2021-11-09 17:49:18 +08:00
ziyue
cd52a022f4 修复rtsp点播时长不准的bug 2021-10-25 19:39:45 +08:00
ziyue
f5f58196b5 修改常量命名 2021-10-16 16:58:03 +08:00
Johnny
722097be05 调整 RtspSession::_push_src类型,统一为 RtspMediaSource::Ptr _push_src; 2021-10-15 18:25:06 +08:00
ziyue
a408197493 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-10-15 14:12:41 +08:00
Xiaofeng Wang
fe450ba2cb
支持生成 sdp 时指定端口 (#1161) 2021-10-15 14:10:04 +08:00
Johnny
c98e85caec 增加 RtcpContextForSend/RtcpContextForRecv作为RtcpContext子类 2021-10-15 11:21:10 +08:00
ziyue
dd81497e5c 修复rtp pts 时间戳回退导致ntp时间戳计算异常的bug:#1152 2021-10-13 15:52:12 +08:00
xiongziliang
4ff206fa42 兼容一些不规范的rtsp sdp: #1128 2021-09-29 01:16:52 +08:00
xiongziliang
8d2d1e135c 修改rtsp点播ntp时间戳 2021-09-29 00:25:34 +08:00
xiongziliang
b1666eb651 实现媒体源pause/speed接口:#1129 2021-09-29 00:16:56 +08:00
ziyue
e9008afca0 addTrack/inputFrame接口支持返回值;新增全局添加静音音频接口 2021-09-27 13:12:53 +08:00
ziyue
415bc95dda 完善ntp时间戳计算逻辑 2021-09-02 21:39:10 +08:00
xiongziliang
d2f02c0a0c 修复rtsp sdp解析的bug 2021-08-28 13:02:53 +08:00
ziyue
2242577661 优化解析复杂数据结构配置项时的性能 2021-08-27 11:11:05 +08:00
ziyue
07c5341fb0 兼容一些奇怪的rtsp流:#1031 2021-08-23 21:29:23 +08:00
ziyue
b3ad0891e6 修复除0的bug 2021-08-22 15:13:20 +08:00
xiongziliang
41c09757a7 解决GB28181推流无ntp时间戳导致的问题 2021-08-21 18:52:52 +08:00
ziyue
7b60f8b093 优化完善代码 2021-08-12 20:55:11 +08:00
ziyue
4dbe0a1d3e 合并pr:#1025 2021-08-12 20:37:46 +08:00
ziyue
30b139eaf0 Merge branch 'feature_bafc' of https://github.com/xia-chu/ZLMediaKit 2021-08-12 11:18:34 +08:00
monktan
7ed7e5386c rtp包最大大小可配置 2021-08-11 15:48:15 +08:00
baiyfcu
0ed902509a player增加speed,pause扩展,seek支持秒级定位,MP4按时间戳生成文件 2021-08-09 18:28:43 +08:00
lawrencehj
b6ce03b64f 解决Windows下编译出错问题 2021-07-19 10:31:24 +08:00
wxf
b891fc5654 _rtp_sort_cache_map -> _pkt_sort_cache_map, 不依赖于 RTP 2021-07-17 20:00:09 +08:00
wxf
ac01dc97af 修正对非 uint16_t 序号的支持 2021-07-17 20:00:02 +08:00
ziyue
892b2d2ef9 修复对象同名导致的bug 2021-07-16 15:58:01 +08:00
ziyue
8548753c28 修正SDES rtcp对象命名 2021-07-15 17:38:04 +08:00
ziyue
b12bd6e7ff 格式化代码 2021-07-14 21:41:26 +08:00
ziyue
6ddd420f1c 修复webrtc rtx包计入receiver report统计导致simulcast推流失效的问题 2021-07-14 21:40:08 +08:00
ziyue
298f6e3864 rtp使用ntp时间戳作为时间戳,用于实现rtsp音视频同步 2021-07-12 21:18:22 +08:00
ziyue
4c296488f1 修复rtcp rr/sr时间戳转换相关问题,计算rtt 2021-07-06 21:48:51 +08:00