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 |
|
夏楚
|
2ad44bc773
|
修复启动参数log-size单位错误bug (#2598)
FileChannel内部已经把做了转换为MB操作,外面无须再乘以1024x1024
|
2023-06-28 14:55:39 +08:00 |
|
pedoc
|
2771bc15a5
|
添加on_server_exited webhook事件,当程序正常退出时触发 (#2591 #2585)
|
2023-06-28 11:36:41 +08:00 |
|
朱如洪
|
c530f281c3
|
优化CMakeList, 完善iOS下编译配置 (#2578)
1、调整 json 的源码引入,外部可以引入 json/json.h 使用;
2、针对 iOS 工程调整 cmake 配置,解决 iOS 环境下mk_util.h 找不到问题;同时在 iOS 工程中引入 MediaServer 静态库;
|
2023-06-27 10:51:31 +08:00 |
|
夏楚
|
6cd9e15cb8
|
优化FFmpeg截图命令模板,提高截图成功率 (#2583)
-t 0.001参数替换为-frames:v 1,只截图一帧
|
2023-06-26 11:04:52 +08:00 |
|
夏楚
|
06742f9d25
|
新增日志相关设置启动参数 (#2581)
1.新增日志文件保存路径启动参数:log-dir
2.新增日志文件最大切片个数启动参数:log-slice
3.新增日志文件最大切片大小启动参数:log-size
|
2023-06-26 10:49:25 +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 |
|
tbago
|
c0a7a4ab70
|
优化cmake配置文件, 添加必要头文件 (#2558)
- enable_server cmake选项生效;
- enable_tests 选项在api目录下的test同样生效;
- 增加stdio.h 防止编译失败;
|
2023-06-17 10:24:17 +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 |
|
xia-chu
|
72ba87c803
|
修复mk_media_source_get_track接口崩溃问题:#2552
|
2023-06-17 09:14:51 +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 |
|
xia-chu
|
24fb666fb3
|
新增mk_media_source_get_track方法: #2530
|
2023-06-10 14:57:47 +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 |
|
a-ucontrol
|
7e1078bbcc
|
Update submodule ZLToolKit (#2529)
https://github.com/ZLMediaKit/ZLMediaKit/issues/2526#issue-1740204646
|
2023-06-06 09:23:34 +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 |
|
PioLing
|
3f447246c2
|
使用SDL_OpenAudioDevice接口打开音频设备 (#2489)
修复SDL_OpenAudio()接口可能打开失败问题
|
2023-05-26 17:02:21 +08:00 |
|
xia-chu
|
936babf459
|
新增mk_media_source_find2接口
|
2023-05-25 16:57:03 +08:00 |
|
xia-chu
|
d4f8017117
|
修复mk_tcp_session_ref相关接口误导性注释
|
2023-05-24 10:50:49 +08:00 |
|
Kiki
|
7e4010df83
|
修复startSendRtp接口gop缓存功能可能失效的问题 (#2455)
如果帧序列为SPS PPS SEI IDR,那么GOP缓存会从IDR开始,导致解码器未获取到SPS PPS从而不能秒开
|
2023-05-18 16:35:54 +08:00 |
|
夏楚
|
15e76293d0
|
readme新增多语言跳转链接 (#2465)
|
2023-05-14 10:19:07 +08:00 |
|
夏楚
|
cb362371b9
|
更新zltoolkit, 修复iOS下编译问题 (#2464)
参考:#2459
|
2023-05-14 10:10:08 +08:00 |
|
夏楚
|
4f6e32b510
|
mk_media_input_aac接口可以不指定adts头(#2463)
修复issue: #2432
|
2023-05-14 09:57:59 +08:00 |
|
xia-chu
|
4fa04d6a37
|
优化PlayerProxy代码
|
2023-05-13 00:14:35 +08:00 |
|
xia-chu
|
0afe75229e
|
修复拉流代理获取流信息可能访问空指针的bug
此bug由 #2448 引入,触发条件:
- 1.配置文件rtsp.directProxy设置为0
- 2.调用addStreamProxy代理rtsp流
在非直接代理情况下,PlayerProxy::_media_src为空,导致访问空指针。
|
2023-05-13 00:02:06 +08:00 |
|
老衲不出家
|
f6ac39ade5
|
新增允许所有跨域请求配置项 (#2449)
配置项为http.allow_cross_domains
|
2023-05-12 11:47:22 +08:00 |
|