fruit Juice
|
1609fe67d7
|
Track新增update方法,支持更新宽高采样率等信息 (#2960)
当变分辨率时候,实时更新MP4封装层的参数信息,避免出现封装层与编码(SPS)层视频宽高不一样,造成解码参数错误花屏;同时也支持更新音频采样率等信息。
---------
Co-authored-by: xia-chu <771730766@qq.com>
|
2023-11-07 23:36:41 +08:00 |
xia-chu
|
aa5343effa
|
修复http客户端设置tcp连接超时时间单位错误的问题
须毫秒转换为秒
|
2023-11-07 23:15:16 +08:00 |
yujitai
|
433ecb1c5c
|
RTC: 修复gop没有sps/pps导致的秒开失败问题 (#2959)
rtc场景下,如果directProxy设置为1,sdp没有传递sps/pps,因此gop的开始需要是rtp sps/pps配置帧而不是idr关键帧,这样才能保证秒开。
|
2023-11-07 19:34:40 +08:00 |
xiongziliang
|
2628690673
|
国标udp多端口模式支持收到sr rtcp后回复rr rtcp
确保国标停止rtp推流后也可以仅靠rtcp保活
|
2023-11-05 13:26:42 +08:00 |
xiongziliang
|
2206b031a9
|
防止析构时抛异常导致的崩溃
|
2023-11-04 22:24:55 +08:00 |
xiongziliang
|
83b432b980
|
默认关闭only_audio模式,修复mk_media_start_send接口发送视频失败的bug
|
2023-11-02 12:51:08 +08:00 |
xia-chu
|
d8d7fe9144
|
通过getMediaList接口可返回Track时间戳增量信息
|
2023-10-31 11:10:02 +08:00 |
xiongguangjie
|
0f94b48823
|
修复url反转义失败时字符乱码相关bug (#2932 #2935)
|
2023-10-27 22:49:42 +08:00 |
夏楚
|
c876e53924
|
优化ffmpeg url解析规则,提高rtmp客户端兼容性 (#2936)
根据ffmpeg测试,类似rtmp://ip/a/b/c/d/e/f这样的url,app应该为a/b,stream_id应该为c/d/e/f,
tcl_url应该为rtmp://ip/a/b, teams的rtmps服务需要按这种方式才能推成功
---------
Co-authored-by: yangkun <yangkun@osee-dig.com>
|
2023-10-27 21:39:36 +08:00 |
leibnewton
|
0a19627d86
|
修复startSendRtp成功后udp套接字被关闭的问题 (#2468 #2924)
对端端口未打开,udp得到connection refused的错误而关闭。
|
2023-10-25 15:14:08 +08:00 |
xia-chu
|
a871fc1882
|
websocket服务器支持在创建器中指定消息类型
通过该修改可以更灵活的指定同端口下不同websocket服务的消息类型
|
2023-10-23 20:59:37 +08:00 |
xia-chu
|
ebde21a314
|
修复openRtpServer开启tcp模式后打开端口失败的bug
两次监听同个tcp端口将导致打开tcp模式失败
|
2023-10-23 20:49:54 +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 |
imp_rayjay
|
eedf262059
|
新增支持mjpeg负载的mp4文件点播 (#2898)
|
2023-10-12 17:26:53 +08:00 |
PioLing
|
6348e64cdf
|
确保hls播放器持续播放 (#2896)
在hls注销后,hls cookie会继续存活60秒,在此期间,如果hls流重新注册,将导致无法继续播放;
通过此修改,在hls注销后每3秒查询一次MediaSource,可以在性能和功能间保持平衡。
|
2023-10-12 11:05:41 +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
|
d542eca4d7
|
http-flv拉流客户端支持压测模式
|
2023-09-23 20:34:43 +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
|
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
|
06a6d26491
|
提高http文件服务器安全性
|
2023-08-26 19:43:11 +08:00 |
xia-chu
|
cb4ab21548
|
修复rtsp组播遍历迭代器导致崩溃的bug
|
2023-08-26 11:34:22 +08:00 |
xia-chu
|
f3f4b49332
|
修复设置点播速度后时间戳跳跃问题
|
2023-08-26 11:34:12 +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 |
xia-chu
|
2e05119df1
|
修复访问http目录下索引文件相关的bug
|
2023-08-12 15:54:12 +08:00 |
xia-chu
|
08299b6652
|
mp4录制新增追踪日志
|
2023-08-12 15:50:09 +08:00 |
xia-chu
|
2378617dd8
|
修复前向声明导致的编译问题
|
2023-08-08 16:06:29 +08:00 |
夏楚
|
383da1e09e
|
优化代码 (#2741)
删除无效的配置项,
同时修复编译警告
|
2023-08-05 21:30:01 +08:00 |
夏楚
|
98a3b8ab91
|
推流结束时,发送eof控制信令给rtmp播放器 (#2711 #2723)
|
2023-08-05 09:26:52 +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 |
夏楚
|
5a2bf8d196
|
完成对enhanced rtmp videocodecid的兼容 (#2718)
请查阅: https://github.com/veovera/enhanced-rtmp/issues/8
|
2023-07-29 23:03:28 +08:00 |
夏楚
|
bd8ad2eabf
|
优化enhanced-rtmp解析性能 (#2717)
|
2023-07-29 13:24:21 +08:00 |
夏楚
|
00b3c5184a
|
修复RtpProcess析构中抛异常导致崩溃的问题 (#2714)
WarnP(this) 时会调用get_peer_ip()接口,此接口可能抛异常;
析构中抛异常可导致程序直接退出。
|
2023-07-29 13:24:07 +08:00 |
夏楚
|
73c8a5faf4
|
统一设置单字节对齐方式 (#2716)
__attribute__((packed)) 替换为 #pragma pack(push, 1)
|
2023-07-29 13:07:22 +08:00 |
夏楚
|
54194fe501
|
兼容不规范的rtmp推流器 (#2417 #2715)
有些rtmp推流器在服务器返回鉴权成功前就开启推送流数据
|
2023-07-29 13:06:36 +08:00 |
夏楚
|
eaecf9a56c
|
ip白名单添加局域网ip 10段 (#2712)
|
2023-07-29 13:04:06 +08:00 |
xia-chu
|
c1f6517471
|
在开启on_http_access hook时,访问http文件(或目录)ip白名单机制不生效
on_http_access hook优先级更高,关闭on_http_access hook时才采用ip白名单机制,防止两种鉴权机制间的冲突
|
2023-07-27 15:54:03 +08:00 |
xia-chu
|
dfae1aee97
|
修复设置allow_ip_range为空后,无法关闭鉴权相关bug
|
2023-07-27 15:29:11 +08:00 |
xia-chu
|
22e3872cd4
|
优化ip过滤逻辑性能
|
2023-07-26 16:45:47 +08:00 |
xia-chu
|
098046cb1d
|
新增http api与http文件访问ip白名单限制机制,默认禁止公网访问
|
2023-07-26 16:33:21 +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 |
xia-chu
|
9317665058
|
支持enhanced-rtmp(H265)
|
2023-07-22 23:13:44 +08:00 |
xia-chu
|
b580d6c736
|
修复判断是否为增强型rtmp协议相关bug
有符合整型右移7位可能为-1(而不是1)
这样将导致在处理增强型rtmp时,判断关键帧和配置帧失败
|
2023-07-22 20:09:59 +08:00 |
xia-chu
|
3e9a8b9d8b
|
优化函数命名
isCfgFrame -> isConfigFrame
getAacCfg -> getConfig
|
2023-07-22 19:46:26 +08:00 |
xia-chu
|
780a1eb9fc
|
完善rtmp关键帧与配置帧判断逻辑
|
2023-07-22 19:46:26 +08:00 |
xia-chu
|
a86398b6db
|
优化与完善rtmp协议相关代码
rtmp相关常量由宏改为枚举
明确rtmp包一些字段赋值含义
|
2023-07-22 19:46:25 +08:00 |
夏楚
|
47add54465
|
新增支持enhanced-rtmp h265 推流 (#2694)
|
2023-07-22 17:31:39 +08:00 |
夏楚
|
b44ca8fd6f
|
rtmp协议支持更新metadata (#2669 #2692)
|
2023-07-22 17:31:23 +08:00 |
夏楚
|
a97f1e503d
|
提高http/rtsp header解析兼容性 (#2670 #2693)
|
2023-07-22 17:31:02 +08:00 |
夏楚
|
09aa38334e
|
H264 rtsp sdp生成正确的packetization-mode (#2691)
|
2023-07-22 17:30:39 +08:00 |
夏楚
|
a17e842da2
|
兼容ffmpeg6.0 (#2648 #2689)
|
2023-07-22 17:29:09 +08:00 |
xiongguangjie
|
19d6f1a003
|
FLV player avoid script data first element not string (#2679 #2680)
兼容不规范的flv流,比如livegbs产生的flv流metadata flv tag解析异常
|
2023-07-20 17:13:26 +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 |
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 |
Nick
|
07a1a929ad
|
修复HLS点播时下载切片过快的bug (#2635 #2628)
Co-authored-by: xia-chu <771730766@qq.com>
|
2023-07-08 10:18:09 +08:00 |
a-ucontrol
|
c86e6ba3f1
|
Fix build issue with uclibc (#2625 #2631)
|
2023-07-06 20:07:49 +08:00 |
xiongguangjie
|
788915c7f7
|
修复mp4解复用器输出sps pps帧时设置起始头长度错误问题 (#2627)
mp4解复用器在解析mp4文件时,当获取到mp4头中sps/pps等配置帧信息时,创建相应的Frame未设置prefix size;导致后续输入H264Track分帧逻辑异常。
|
2023-07-06 15:47:30 +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 |
夏楚
|
6aa4b741a3
|
修复通用rtp解码器输入小时间戳增量流在丢包时不再输出帧数据的bug (#2589)
如果rtp时间戳增量很小,在rtp时间戳在转换单位为毫秒时无变化,
从而被认为是上一帧数据,由于处于丢包状态,此rtp数据将被一直丢弃。
|
2023-06-28 14:56:24 +08:00 |
xiongguangjie
|
d5bf99a27b
|
ts or ps muxer not support mjpeg video codec ignore it (#2593)
|
2023-06-28 14:56:06 +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 |
夏楚
|
7e117b1c7f
|
新增支持http-flv播放器 (#2562)
|
2023-06-17 10:29: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 |
xia-chu
|
ccddb84a19
|
修复跨域问题: #2548
|
2023-06-17 09:15:50 +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 |
xiongziliang
|
fe37005526
|
兼容http body超过声明大小的情况
|
2023-06-11 09:22:28 +08:00 |
夏楚
|
5f936663b4
|
统一处理content-length, 修复http get请求带body不兼容问题(#2528 #2544)
|
2023-06-10 20:49:21 +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 |
夏楚
|
d3f1c2fab1
|
mp4录制文件名添加索引号,防止一秒内生成多个同名文件导致覆盖 (#2542)
实测发现 如果在点播推流时 如果切片大小设置比较小 一秒钟可能产生多个mp4切片
以前切片名称粒度最小为一秒 所以会存在文件覆盖问题
|
2023-06-10 14:56:23 +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 |
xia-chu
|
52c7bc1d34
|
精简HttpServer代码
|
2023-06-10 14:55:40 +08:00 |
xia-chu
|
fff53cf0e2
|
格式化HttpSession.cpp代码
|
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 |
xiongziliang
|
af57691bc8
|
c++14相关代码替换为c++11代码
|
2023-06-02 21:43:24 +08:00 |
fruit Juice
|
7970138966
|
Fix MP4Reader available speed range bug (#2516)
|
2023-06-01 14:29:19 +08:00 |
百鸣
|
14537bfbc7
|
解决ws-flv和http-flv的累积时延问题(#2509)
|
2023-05-31 23:16:16 +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 |
a-ucontrol
|
51e9313275
|
Make available the media_info variable for the class inherited from WebRtcSession and HttpSession. (#2505 #2461)
|
2023-05-29 14:48:13 +08:00 |
dengjfzh
|
18dbbc8d19
|
降低TCP RTP 2字节头被误判为EHOME头的风险 (#2502)
当TCP RTP包大小为256字节时,可能触发RtpSplitter::onSearchPacketTail误判为EHOME格式。
这个修改一旦检测到数据不是EHOME格式,则后续不再进行尝试,以减小误判的风险。
|
2023-05-27 22:27:10 +08:00 |
dengjfzh
|
032a2ac91d
|
修复TCP RTP 2字节头被误判为4字节头的问题 (#2499)
当RFC4571封装的RTP包大小在0x2400到0x24ff之间时,会被误认为是RTSP Interleaved
封装的数据。因为0x24正好是'$'的ASCII码,而RtpSplitter::onSearchPacketTail通过'$'来识别RTSP
Interleaved数据。暂时没有想到什么好的办法能够百分之百的正确区分RFC4571数据和RTSP
Interleaved数据。增加一个状态变量记录之前的状态,一旦检测到数据不是RTSP
Interleaved格式,则后续不再进行尝试,以减小误判的可能性。
|
2023-05-26 17:34:47 +08:00 |