alexliyu7352
|
d593267f61
|
增加http代理功能 (#2988)
支持通过http代理拉流, 避免内外网复杂网络环境时需要专门配置防火墙,现在只需要配置一台代理内网的服务器.
---------
Co-authored-by: xia-chu <771730766@qq.com>
|
2023-11-23 11:09:01 +08:00 |
|
648540858
|
d2374cbd79
|
兼容opensuse系统编译
|
2023-11-13 11:58:10 +08:00 |
|
lvchenyun
|
5c81640556
|
修复国标级联音频可能错乱的bug (#2967)
GB28181流音频解析出来的Frame类型是不可缓存类型,它的数据内存地址是复用的。
在级联时,会把Frame存入RingBuffer对象,这样在下次使用改Frame对象时,可能数据区已经被覆盖掉了。
|
2023-11-10 21:56:05 +08:00 |
|
Dw9
|
f8285a3f6c
|
startSendRtp接口新增支持同ssrc向多个服务器推流 (#2951)
新增ssrc_multi_send参数,支持同ssrc向多个服务器推流,兼容当前startSendRtp/stopSendRtp接口
|
2023-11-07 23:38:58 +08:00 |
|
fruit Juice
|
1609fe67d7
|
Track新增update方法,支持更新宽高采样率等信息 (#2960)
当变分辨率时候,实时更新MP4封装层的参数信息,避免出现封装层与编码(SPS)层视频宽高不一样,造成解码参数错误花屏;同时也支持更新音频采样率等信息。
---------
Co-authored-by: xia-chu <771730766@qq.com>
|
2023-11-07 23:36:41 +08:00 |
|
xiongziliang
|
83b432b980
|
默认关闭only_audio模式,修复mk_media_start_send接口发送视频失败的bug
|
2023-11-02 12:51:08 +08:00 |
|
xiongguangjie
|
0f94b48823
|
修复url反转义失败时字符乱码相关bug (#2932 #2935)
|
2023-10-27 22:49:42 +08:00 |
|
xia-chu
|
08d86c498e
|
修复jemalloc编译问题
|
2023-10-23 20:41:38 +08:00 |
|
ljx0305
|
7ee2d66eaa
|
统一代码命名风格 (#2910)
openRtpServer时,如果开启tcp模式,从tcp端口池获取
|
2023-10-19 17:55:30 +08:00 |
|
fruit Juice
|
c25e76311f
|
修复相对时间戳模式下时间戳回退导致音视频不同步的问题 (#2894 #2877)
加大时间戳回退容忍度,最大回退阈值改成与跳变最大幅度一致
|
2023-10-11 14:52:16 +08:00 |
|
alexliyu7352
|
fdc00d5a02
|
增加jemalloc工具类, 增加jemalloc内存统计分析 (#2885)
增加jemalloc工具类, 增加jemalloc内存统计分析
|
2023-10-10 11:48:56 +08:00 |
|
夏楚
|
9f6930390a
|
IP白名单支持ipv6 (#2858)
Fix #2855
|
2023-09-26 14:48:19 +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
|
2378617dd8
|
修复前向声明导致的编译问题
|
2023-08-08 16:06:29 +08:00 |
|
夏楚
|
383da1e09e
|
优化代码 (#2741)
删除无效的配置项,
同时修复编译警告
|
2023-08-05 21:30:01 +08:00 |
|
夏楚
|
73c8a5faf4
|
统一设置单字节对齐方式 (#2716)
__attribute__((packed)) 替换为 #pragma pack(push, 1)
|
2023-07-29 13:07:22 +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 |
|
夏楚
|
a97f1e503d
|
提高http/rtsp header解析兼容性 (#2670 #2693)
|
2023-07-22 17:31:02 +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 |
|
xia-chu
|
f55e13f9da
|
c sdk新增on_mk_media_send_rtp_stop事件回调
|
2023-07-08 22:34:09 +08:00 |
|
夏楚
|
beae515bb2
|
新增无人观看自动关闭流(无须hook返回)功能 (#2643)
auto_close参数适用于配置文件、addStreamProxy接口、on_publish hook
|
2023-07-08 21:36:34 +08:00 |
|
夏楚
|
e52c1cc510
|
修复addFFmpegSource添加的流事件拦截可能失效问题 (#2642 #2629)
此pr主要为了修复 #2629,通过新增getMuxer接口,
可以直接获取到所有协议共享的MultiMediaSourceMuxer对象,
在此对象完成事件拦截,防止某种协议事件丢失。
同时调整了下FFmpegSource.cpp代码格式。
|
2023-07-08 21:35:09 +08:00 |
|
夏楚
|
077566d1e1
|
新增支持on_publish hook返回stream_replace替换流id (#2641)
|
2023-07-08 21:32:04 +08:00 |
|
a-ucontrol
|
c86e6ba3f1
|
Fix build issue with uclibc (#2625 #2631)
|
2023-07-06 20:07:49 +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 |
|
Luosh
|
24d210f61d
|
修复NTP时间戳计算精度不足导致误差累积问题 (#2576 #2570 )
ntp时间戳计算精度由毫秒调整为微秒,解决误差累积问题。
|
2023-06-21 17:20:39 +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 |
|
johzzy
|
03770ff409
|
Replace the tuple (vhost/app/stream) with MediaTuple. (#2560)
|
2023-06-17 10:28:01 +08:00 |
|
xia-chu
|
2410419911
|
忽略非法的rtcp ntp时间戳
有些设备在发送sender report rtcp时,其rtp和ntp时间戳一直为0,将导致zlmediakit计算出的ntp时间戳异常
|
2023-06-17 10:14:20 +08:00 |
|
Luosh
|
23e24d07e6
|
解决存在b帧情况下,rtsp播放不同步问题 (#2550 #2549)
在根据rtsp pts生成ntp时,由于pts可能回退,旧有逻辑不允许回退将导致ntp异常
|
2023-06-13 17:39:43 +08:00 |
|
夏楚
|
5ca4ed53b2
|
防止析构函数抛异常导致崩溃问题 (#2546)
|
2023-06-11 22:07:15 +08:00 |
|
xiongguangjie
|
67d5c42007
|
Fix addStreamProxy rtsp url user or pass contain special char result in auth failed (#2545)
|
2023-06-10 18:46:30 +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 |
|
夏楚
|
e4acc59bec
|
媒体时间戳默认改为相对时间戳,通过时间戳矫正器解决跳跃和回退问题 (#2523)
通过用户反馈发现,遇到较多直播源时间戳混乱问题,包括rtsp流之rtcp ntp时间戳混乱,国标流时间戳混乱问题。
之前默认采用源流绝对时间戳,但是由于时间戳混乱会导致hls切片异常或视频播放不了等问题。
故默认改成相对时间戳(modify_stamp=2),通过时间戳矫正器过滤了时间戳跳跃以及回退问题(强制加1ms),
同时保留了对之前时间戳覆盖(modify_stamp=1)的兼容。
该修改同时兼容点播流,在点播流开启时间戳覆盖时,不起实质作用(采用原始绝对时间戳)。
|
2023-06-03 17:34:34 +08:00 |
|
Johnny
|
0232caf068
|
add MediaTuple
|
2023-05-30 11:01:27 +08:00 |
|
Kiki
|
7e4010df83
|
修复startSendRtp接口gop缓存功能可能失效的问题 (#2455)
如果帧序列为SPS PPS SEI IDR,那么GOP缓存会从IDR开始,导致解码器未获取到SPS PPS从而不能秒开
|
2023-05-18 16:35:54 +08:00 |
|
老衲不出家
|
f6ac39ade5
|
新增允许所有跨域请求配置项 (#2449)
配置项为http.allow_cross_domains
|
2023-05-12 11:47:22 +08:00 |
|
xia-chu
|
19c5323633
|
修复startSendRtp发送mp4文件时崩溃问题:#2429
|
2023-04-28 23:02:48 +08:00 |
|
xiongziliang
|
c8a20f85f6
|
直接打印SockException类
|
2023-04-23 00:10:18 +08:00 |
|
xia-chu
|
f1438986ad
|
修复stopSendRtp后无法触发无人观看事件的问题
|
2023-04-18 10:54:49 +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 |
|
王成
|
3a6f660619
|
新增Assert异常类型,解决国标重复推流不注销问题 (#2393)
Co-authored-by: wangcheng <wangcheng@xwmail.com>
Co-authored-by: xia-chu <771730766@qq.com>
|
2023-04-14 15:10:48 +08:00 |
|
xiongziliang
|
dfd37ff350
|
时间戳处理新增接口支持获取相对时间戳
|
2023-03-22 21:19:16 +08:00 |
|
xia-chu
|
c2a8d46a64
|
提高c sdk mk_media对象线程安全
|
2023-03-11 11:02:20 +08:00 |
|
xia-chu
|
ba4296e180
|
修复断连续推情况下线程迁移导致崩溃的bug:#2283
如果一个MultiMediaSourceMuxer对象上挂载了很多个RtpSender对象,
这些对象会绑定MultiMediaSourceMuxer的OwnerPoller(归属线程),
在断连续推发生时,对应的MultiMediaSourceMuxer对象OwnerPoller线程
将发生变更,导致与RtpSender对象的线程不一致。
|
2023-03-11 10:34:58 +08:00 |
|
alexliyu7352
|
2f8dab66c5
|
http地址支持相对路径 (#2223)
* 部分hls中会出现类似[../]或者[./]的相对地址, 因此写了一个解析的方法
* 有时候上游http协议不规范会导致直接输出eof, 特别是在自动重试机制开启下, 容易造成定时器没办法初始化从而拉不到流但是session一直存在,所以需要做一个判断,如果没数据直接报错
|
2023-02-20 10:52:00 +08:00 |
|
xiongziliang
|
5bcfba1da4
|
startSendRtpPassive接口新增连接超时参数:close_delay_ms
|
2023-02-17 23:02:09 +08:00 |
|
xiongziliang
|
8f0ba6988b
|
openRtpServer接口新增only_audio参数,优化语音对讲场景
|
2023-02-17 22:48:39 +08:00 |
|
xiongziliang
|
0374e7a660
|
startSendRtp接口支持同时接收流:#2109,#2149
|
2023-01-07 22:36:30 +08:00 |
|
Dw9
|
3b3a83b524
|
修复MediaSource在startSendRtp后无法注销的bug (#2187)
|
2023-01-07 21:31:46 +08:00 |
|
ziyue
|
77e46353ce
|
新增支持mjpeg es rtp流
mpegts/g711 payload改成固定模式
|
2022-12-30 18:04:15 +08:00 |
|
xiongziliang
|
04422b31b6
|
完善非法url提示:#2129
|
2022-12-04 16:21:08 +08:00 |
|
老衲不出家
|
f05a9501fa
|
Unified code style (#2137)
|
2022-12-02 14:43:06 +08:00 |
|
monktan89
|
68ea5465cc
|
修复addStreamProxy后,马上startSendRtp,触发的无人观看事件回调是MediaSourceNull的信息,导致无法关闭流bug(#2120)
|
2022-11-29 11:33:16 +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 |
|
xiongziliang
|
50fa671564
|
修复析构中调用getOwnerPoller抛异常导致崩溃的bug:#2117
|
2022-11-26 10:16:47 +08:00 |
|
ziyue
|
68948288e0
|
TcpSession/UdpSession统一为Session类
|
2022-11-19 09:33:10 +08:00 |
|
xiongziliang
|
9bb6a2f828
|
全面整理转协议相关配置文件
|
2022-11-12 23:56:28 +08:00 |
|
xiongziliang
|
946945ce7b
|
优化代码
整理代码
|
2022-11-12 22:06:09 +08:00 |
|
xiongziliang
|
b54f50c7c0
|
修复hls流注销时相关bug:#2082
|
2022-11-12 09:57:47 +08:00 |
|
xiongguangjie
|
bc63142712
|
add rtp server timeout hook
|
2022-11-10 16:58:02 +08:00 |
|
xiongziliang
|
44fd6b86bc
|
完善版本信息
|
2022-11-06 00:38:14 +08:00 |
|
xiongziliang
|
0053148139
|
优化MultiMediaSourceMuxer相关代码
|
2022-11-05 20:47:33 +08:00 |
|
ziyue
|
d04761c2c6
|
Merge branch 'FrameDispatcher_addDelegate_refactor' of github.com:mtdxc/ZLMediaKit
|
2022-11-01 16:36:43 +08:00 |
|
cqm
|
ac3d7bd21f
|
add addDelegate with std::function, remove FrameWriterInterfaceHelper
|
2022-11-01 12:03:04 +08:00 |
|
ziyue
|
520945c2e9
|
提高线程安全性
|
2022-11-01 10:53:38 +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 |
|
ziyue
|
ac1abb34da
|
新增媒体流flush机制:#1996
|
2022-10-16 19:54:17 +08:00 |
|
xiongguangjie
|
bbdcc44eb0
|
mute audio maker avoid uint32_t cycle and 8k aac a frame is 128ms
|
2022-10-11 16:53:27 +08:00 |
|
xiongziliang
|
c790254f46
|
修复关闭mp4录制不能触发无人观看事件问题:#2010
|
2022-10-06 13:06:54 +08:00 |
|
夏楚
|
037dd646d1
|
Merge pull request #1994 from Dw9/master
修复rtsp 推pcm L16, 空指针的异常
|
2022-09-26 10:27:30 +08:00 |
|
Dw9
|
6f1a45db8a
|
修复推rtsp L16崩溃
|
2022-09-25 12:13:09 +08:00 |
|
夏楚
|
b9a4b3e71a
|
消除编译警告
|
2022-09-24 19:07:45 +08:00 |
|
ziyue
|
15affeff1d
|
优化关闭媒体源相关逻辑: #1963
|
2022-09-18 20:36:47 +08:00 |
|
xiongziliang
|
12551be33c
|
提炼ProtocolOption赋值相关逻辑
|
2022-09-16 23:31:37 +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
|
5825f8b469
|
修复错误注释
|
2022-09-03 16:32:10 +08:00 |
|
xiongziliang
|
20f1275c58
|
rtsp拉流、rtp单端口推流新增支持获取丢包率: #1877
|
2022-09-03 16:32:09 +08:00 |
|
PioLing
|
0948a3df31
|
支持在addStreamProxy和on_publish中控制单个流是否开启时间戳覆盖 (#1930)
|
2022-09-03 09:54:09 +08:00 |
|
custompal
|
04aa3ef41f
|
增加获取媒体流播放器列表功能
|
2022-08-30 21:05:19 +08:00 |
|
xiongzilaing
|
679c79802f
|
整理媒体事件相关代码,删除无须重载时的多余代码逻辑
|
2022-08-28 17:25:56 +08:00 |
|
xiongziliang
|
6a4297845f
|
新增发送rtp被动关闭hook
|
2022-08-27 10:53:47 +08:00 |
|
xiongziliang
|
c2ab45f78d
|
完善线程安全设计
|
2022-08-27 10:17:06 +08:00 |
|
ziyue
|
208b0865bd
|
修复全局变量初始化顺序错乱导致崩溃的问题
|
2022-08-23 14:11:32 +08:00 |
|
xiongziliang
|
c6a0e3ad66
|
rtp发送启停支持触发观看人数统计事件
|
2022-08-20 13:16:25 +08:00 |
|
xiongziliang
|
9f0c15a4f0
|
startSendRtp接口支持rtcp接收超时主动停止
|
2022-08-20 12:48:27 +08:00 |
|
Dw9
|
30984d2076
|
mp4录制支持作为观看者参与播放人数统计 (#1880)
|
2022-08-16 11:47:24 +08:00 |
|
ziyue
|
9c3b8a6a95
|
时间戳改为64位
|
2022-08-08 17:13:39 +08:00 |
|
CharleyWangHZ
|
2685f3cdc2
|
Update MediaSource.h
|
2022-07-28 16:43:03 +08:00 |
|
xiongguangjie
|
d622481619
|
fix multi aac frame in one frame result flv.js play audio error
|
2022-06-26 00:54:31 +08:00 |
|