Commit Graph

134 Commits

Author SHA1 Message Date
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
ziyue
b10fc52384 CHECK宏支持自定义错误提示 2021-10-16 16:24:40 +08:00
夏楚
a548fcd709
Feature/dev (#1143)
* 防止每次cmake后导致重复编译
2021-09-30 11:27:42 +08:00
ziyue
57e91054af 合并日志相关pr: #1077 2021-08-30 20:47:11 +08:00
kevin cheng
5bd169e6de 新增C API 广播日志到上层应用 2021-08-30 19:03:20 +08:00
ziyue
848774271f 合并并完善http虚拟目录相关代码 2021-08-26 19:50:19 +08:00
baiyfcu
626bf3dcf9 添加http文件服务可挂载物理目录,新增ENABLE_API_STATIC_LIB
sa
2021-08-25 14:30:31 +08:00
ziyue
094f7553c9 合并pr(rtp最大大小可配置):#1028 2021-08-12 10:44:12 +08:00
monktan
7ed7e5386c rtp包最大大小可配置 2021-08-11 15:48:15 +08:00
ziyue
de5cf86050 http最大请求加大到40 KB 2021-06-28 20:12:35 +08:00
ziyue
e8c9666af0 支持hls直播文件延时删除: #913 2021-06-23 10:30:58 +08:00
ziyue
6ccf512367 完善内存统计 2021-06-08 17:49:12 +08:00
xiongziliang
7067472a18 转协议支持全局关闭音频:#883 2021-05-22 10:17:52 +08:00
xia-chu
3cc640f96e 删除无效配置 2021-04-30 11:44:06 +08:00