Commit Graph

147 Commits

Author SHA1 Message Date
SetoKaiba b6cbbb4339
Add hls_delay feature (#3158) 2024-01-03 09:05:15 +08:00
xiongziliang 189f787746 Disable enhanced-rtmp H265 default 2023-12-17 18:10:47 +08:00
夏楚 bbe8f4a018
release 8.0 2023-12-09 16:23:51 +08:00
夏楚 21c03f772f
新增平滑发送逻辑 (#3072) 2023-12-02 10:20:06 +08:00
zjx94 1cbfcd96e2
新增hls快速注册相关配置,提高hls打开速度 (#3024)
新增配置项:hls.fastRegister,默认关闭。
开启后首个切片文件只保存一个gop,可提高hls注册速度,加快播放器打开速度。
但是第一个切片播放完毕,第二个切片需要更长时间生成,可能导致播放器等待加载。
2023-11-30 17:47:22 +08:00
alexliyu7352 d593267f61
增加http代理功能 (#2988)
支持通过http代理拉流, 避免内外网复杂网络环境时需要专门配置防火墙,现在只需要配置一台代理内网的服务器.

---------

Co-authored-by: xia-chu <771730766@qq.com>
2023-11-23 11:09:01 +08:00
ljx0305 7ee2d66eaa
统一代码命名风格 (#2910)
openRtpServer时,如果开启tcp模式,从tcp端口池获取
2023-10-19 17:55:30 +08:00
夏楚 9f6930390a
IP白名单支持ipv6 (#2858)
Fix #2855
2023-09-26 14:48:19 +08:00
xia-chu d286ac1d73 NoticeCenter支持安全类型转换,解决监听者参数类型不一致导致的bug 2023-09-02 11:22:28 +08:00
夏楚 383da1e09e
优化代码 (#2741)
删除无效的配置项,
同时修复编译警告
2023-08-05 21:30:01 +08:00
夏楚 eaecf9a56c
ip白名单添加局域网ip 10段 (#2712) 2023-07-29 13:04:06 +08:00
xia-chu 098046cb1d 新增http api与http文件访问ip白名单限制机制,默认禁止公网访问 2023-07-26 16:33:21 +08:00
夏楚 beae515bb2
新增无人观看自动关闭流(无须hook返回)功能 (#2643)
auto_close参数适用于配置文件、addStreamProxy接口、on_publish hook
2023-07-08 21:36:34 +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
夏楚 db8e9182cc
新增配置项指定H264 rtp打包是否优先采用stap-a模式 (#2582)
H264 rtp打包模式是否采用stap-a模式(为了在老版本浏览器上兼容webrtc)还是采用Single NAL unit packet
per H.264 模式 有些老的rtsp设备不支持stap-a rtp,设置此配置为0可提高兼容性
2023-06-26 10:04:16 +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
夏楚 e4acc59bec
媒体时间戳默认改为相对时间戳,通过时间戳矫正器解决跳跃和回退问题 (#2523)
通过用户反馈发现,遇到较多直播源时间戳混乱问题,包括rtsp流之rtcp ntp时间戳混乱,国标流时间戳混乱问题。
之前默认采用源流绝对时间戳,但是由于时间戳混乱会导致hls切片异常或视频播放不了等问题。
故默认改成相对时间戳(modify_stamp=2),通过时间戳矫正器过滤了时间戳跳跃以及回退问题(强制加1ms),
同时保留了对之前时间戳覆盖(modify_stamp=1)的兼容。
该修改同时兼容点播流,在点播流开启时间戳覆盖时,不起实质作用(采用原始绝对时间戳)。
2023-06-03 17:34:34 +08:00
老衲不出家 f6ac39ade5
新增允许所有跨域请求配置项 (#2449)
配置项为http.allow_cross_domains
2023-05-12 11:47:22 +08:00
Dw9 978143c86d
rtp级联(ps/ts/es)新增支持gop缓存功能 (#2395)
该修改主要解决rtp级联(调用startSendRtp接口)未做gop缓存导致上级无法秒开的问题。
同时通过RingBuffer对象线程隔离的特性,实现了在断连续推场景下归属线程切换导致的线程安全问题。
用户如未使用rtp级联功能,请修改配置文件关闭GOP缓存(rtp_proxy.gop_cache=0)以便节省内存。

---------

Co-authored-by: 夏楚 <771730766@qq.com>
2023-04-17 12:19:24 +08:00
ziyue 77e46353ce 新增支持mjpeg es rtp流
mpegts/g711 payload改成固定模式
2022-12-30 18:04:15 +08:00
xiongziliang 9bb6a2f828 全面整理转协议相关配置文件 2022-11-12 23:56:28 +08:00
xiongguangjie bc63142712 add rtp server timeout hook 2022-11-10 16:58:02 +08:00
xiongguangjie 0a71e06d4a united some code style 2022-10-19 14:55:39 +08:00
xiongguangjie 7b87985f74 Merge remote-tracking branch 'origin/master' 2022-10-19 14:27:49 +08:00
xiongguangjie 0d2e035215 rtsp and rtp h264 lowlatency mode config 2022-10-19 14:20:53 +08:00
ziyue ff6e9f4fc7 修复流注销时,hls无法播完最后一个切片的问题: #1955 2022-10-18 19:23:20 +08:00
custompal 08789454c3
rtsp支持指定播放单一track (#1937) 2022-09-13 16:27:00 +08:00
xiongziliang 6a4297845f 新增发送rtp被动关闭hook 2022-08-27 10:53:47 +08:00
Dw9 30984d2076
mp4录制支持作为观看者参与播放人数统计 (#1880) 2022-08-16 11:47:24 +08:00
xiongziliang d30869d0c9 支持获取http反向代理真实客户端ip: #1388 2022-06-18 22:10:46 +08:00
xiongguangjie 5479820748 const payload type variable start's letter is lower case 2022-06-16 09:59:09 +08:00
xiongguangjie 6a337adc91 for rtp server can config pt 2022-06-15 00:20:53 +08:00
ziyue 9736badcea 优化编解码相关代码 2022-05-25 15:51:17 +08:00
WuPeng 5bc313bafe 增加长期保存hls切片的功能,segKeep=0为不长期保存,segKeep=1为长期保存。此功能部分等效于segNum=0的情况,不同的是这个保留不会在m3u8文件中体现。 2022-05-10 17:32:50 +08:00
xiongziliang b127d8c2a9 rtsp/GB28181随机端口,支持端口范围设置 2022-03-13 20:50:25 +08:00
ziyue 4af83cbe7c 修复ENABLE_MEM_DEBUG时编译失败的问题 2022-03-01 19:00:50 +08:00
xiongguangjie 9c45fca761
根据配置禁用mmap缓存 (#1429) 2022-02-17 10:35:10 +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
ziyue f5efd232a9 rtsp/rtmp推流支持断连续推: #1240, #1300 2022-01-10 16:43:57 +08:00
ziyue c0afcc48e5 malloc大内存警告环境变量改名为MEM_WARN_SIZE 2021-12-31 10:26:36 +08:00
xiongziliang 9cf6fea03e 修复编译问题 2021-12-30 22:12:36 +08:00
ziyue 84f3aa0748 完善内存统计并在malloc大内存时打印backtrace 2021-12-30 20:34:56 +08:00
ziyue 940fe333db 尝试解决全局malloc统计相关变量提前销毁的bug 2021-12-30 15:28:27 +08:00
ziyue 1a6a62a304 malloc确保内存对齐 2021-12-29 20:57:35 +08:00
夏楚 15297a3ca3
添加内存malloc次数分布统计 (#1322) 2021-12-29 20:48:15 +08:00
夏楚 878ce87329
支持线程内存malloc统计 (#1317) 2021-12-27 17:40:15 +08:00
ziyue 4700ab77de Feature: 新增转协议超时等相关配置项( #1241) 2021-11-30 18:04:43 +08:00
ziyue b7e187d7af Player: 添加kWaitTrackReady选项决定播放器是否等待所有track ready再回调 2021-11-10 13:56:04 +08:00
ziyue fdfde17ec7 Demuxer/Player: 修改解复用与播放器底层逻辑,确保触发播放成功回调时不丢帧 2021-11-10 11:38:54 +08:00
ziyue f5f58196b5 修改常量命名 2021-10-16 16:58:03 +08:00