Commit Graph

1811 Commits

Author SHA1 Message Date
ziyue
dc672b14e3 确保32位系统支持超过4GB文件下载 2022-02-10 21:06:51 +08:00
ziyue
ba213346bc http文件服务器mmap方案采用共享方式 2022-02-10 20:57:23 +08:00
ziyue
72caa43c97 主动关闭的流不支持断流续推: #1401 2022-02-09 14:31:40 +08:00
ziyue
595182cebb Revert "当调用mk_media_source_close(ptr, 1);时,主动注销流 (#1401)"
This reverts commit c97aa8483e.
2022-02-09 14:21:35 +08:00
ziyue
81747d114e Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-02-09 11:48:51 +08:00
ziyue
cd1ca2c18c http-flv直播后缀由.flv改成.live.flv(目的是防止与flv文件下载冲突) 2022-02-09 11:48:15 +08:00
xiongziliang
8c30f11c17 修复windows下编译错误 2022-02-05 21:32:56 +08:00
xiongziliang
1dd3d6f1ac 忽略SIGPIPE信号 2022-02-05 20:39:24 +08:00
xiongziliang
0402646f7c 防止命名空间歧义 2022-02-05 01:01:29 +08:00
xiongziliang
4505f8ff4f 仅http协议开启sendfile优化 2022-02-05 01:00:48 +08:00
夏楚
d13e31c21b
尝试使用sendfile优化http文件服务器 (#1411) 2022-02-04 23:02:19 +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
joshuafc
c97aa8483e
当调用mk_media_source_close(ptr, 1);时,主动注销流 (#1401)
* 当调用mk_media_source_close(ptr, 1);时,主动注销流

主动调用上述函数时,期望不再等待RtmpSession.cpp:49处getPoller()->doDelayTask(continue_push_ms, [push_src]() { return 0; });捕获的指针,等待析构时反注册,而是立即反注册。

* `MediaSource::close`逻辑执行成功后执行`unregist`
2022-01-27 14:56:18 +08:00
xiongziliang
3bf6ec8939 修复获取推流所有权导致引用计数紊乱的bug: #1397 2022-01-26 00:37:51 +08:00
ziyue
756ec1364b websocket客户端触发事件时确保对象强引用有效
同时修复websocket客户端判断alive返回false的bug
2022-01-25 11:44:51 +08:00
ziyue
4f27894302 添加bom头 2022-01-24 14:25:37 +08:00
ziyue
bc583e80b5 合并pr: #1391 2022-01-24 14:23:36 +08:00
ziyue
96061f1d36 Merge branch 'fix_rtc_g711_play' of github.com:ZLMediaKit/ZLMediaKit 2022-01-24 14:16:19 +08:00
xgj
341459fbf5 fix non rtc push rtc play g711 audio loss 2022-01-24 11:57:24 +08:00
ziyue
0ae9a8c8c8 Revert "添加递归溢出检测代码: #1363"
This reverts commit 8937d9ea92.
2022-01-24 11:38:36 +08:00
ziyue
80ecd2098e 修复编译警告 2022-01-24 10:48:15 +08:00
ziyue
100822f079 HLS: 修复时间戳回退导致不生成ts切片的bug: #1381, #1386 2022-01-21 18:00:44 +08:00
ziyue
3a8e954255 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-01-21 16:11:22 +08:00
ziyue
5007578202 hls/ts 播放器不做content-length严格限制 2022-01-21 16:10:27 +08:00
xiongziliang
f46d909bba 添加bom头,解决msvc编译问题 2022-01-20 22:49:47 +08:00
ziyue
bf191aa902 去除多余头文件 2022-01-20 15:42:53 +08:00
ziyue
88dc8d0a73 重写http客户端异常处理机制 2022-01-20 15:17:19 +08:00
ziyue
0f905b7333 优化http-ts播放器日志提示 2022-01-19 22:53:21 +08:00
ziyue
ee6ad66a6d HTTP: 重写http相关超时管理机制 2022-01-19 22:50:44 +08:00
ziyue
81cf93a2bf openRtpServer接口强制关闭reuse_port属性,防止端口冲突 2022-01-19 17:44:58 +08:00
ziyue
8937d9ea92 添加递归溢出检测代码: #1363 2022-01-17 14:47:55 +08:00
wangcker
e8b0993493
给openrtpserver接口添加enable_reuse参数 (#1372)
* 修改rtpopen逻辑

* 给openrtpserver接口添加enable_reuse端口
2022-01-14 21:53:01 +08:00
JayChen0519
a3e628449e
解决rtsp以MULTICAST方式拉流导致的奔溃问题 (#1368) 2022-01-14 13:14:30 +08:00
ziyue
75465311d9 修复丢包导致aac确实导致内存越界的bug: #1363 2022-01-14 13:09:47 +08:00
ziyue
d52fc4c31f Refine: 优化rtsp相关代码 2022-01-12 15:24:28 +08:00
ziyue
5b6ff0af27 完善mingw编译环境的适配 2022-01-11 14:09:57 +08:00
ziyue
fdcc29e0ed 修复http客户端复用header无法更新的bug: #1349 2022-01-11 10:44:49 +08:00
xiongziliang
60f11df1ea Revert "修复302跳转时, 如果跨域,header不正确的问题 (#1349)"
This reverts commit 741b197f
2022-01-11 09:18:36 +08:00
ziyue
412d280cd7 修复断连续推转协议失效的bug 2022-01-10 17:34:39 +08:00
ziyue
1dabc22347 修正错误注释 2022-01-10 17:00:25 +08:00
ziyue
f5efd232a9 rtsp/rtmp推流支持断连续推: #1240, #1300 2022-01-10 16:43:57 +08:00
xiongziliang
262af8dfeb 修复编译问题 2022-01-09 15:12:23 +08:00
xiongziliang
7b04385bc8 合并http-ts播放器特性: #1336 2022-01-09 15:01:23 +08:00
xiongziliang
a4c69e61cd Merge branch 'patch2' of github.com:alexliyu7352/ZLMediaKit 2022-01-09 14:54:21 +08:00
Dw9
819599ac25
修复获取帧率逻辑 (#1293) 2022-01-09 14:50:54 +08:00
alexliyu7352
741b197f31
修复302跳转时, 如果跨域,header不正确的问题 (#1349) 2022-01-09 14:32:59 +08:00
xiongziliang
f4d8eb4515 Rtmp: 获取h264sps/aac config失败时打印rtmp包内容 2022-01-08 16:28:13 +08:00
xiongziliang
6e445614b4 申请udp端口使用全局互斥锁保护,防止端口重复分配 2022-01-08 16:07:08 +08:00
ziyue
fd6e4b6342 MPEG: 优化http-ts性能: #1342 2022-01-06 15:30:09 +08:00
ziyue
5a592e6db6 优化循环池性能 2022-01-06 14:30:44 +08:00
alexliyu7352
3a0857ea31
当url并不是m3u8文件时, 避免拉取hls流出错 (#1341) 2022-01-05 20:01:19 +08:00
ziyue
ed4291bf3d Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-01-04 16:54:51 +08:00
ziyue
3ccd48e7a9 HLS: 返回全部切片数据后,链接断开不报错: #1332 2022-01-04 16:53:19 +08:00
alexliyu7352
6f9f93cb97
忘记删除很早很早以前注释掉的代码了 2022-01-04 15:46:48 +08:00
Alex
4792f6213b 新增Ts拉流 2022-01-04 15:32:59 +08:00
alexliyu7352
a441168004
修正不使用resetWhenReplay选项时, MediaSource会重复注册的问题 (#1330) 2022-01-04 14:47:41 +08:00
ziyue
389dd5f54b MPEG: 优化ts/ps muxer内存malloc和拷贝性能 2021-12-31 11:01:56 +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
7f6be9e118 Refine: 消除编译警告 2021-12-30 15:28:27 +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
ziyue
098ecf542a 部分代码移至第三方库 2021-12-29 14:18:52 +08:00
ziyue
5ae5c66256 Typo: 修复拼写错误 2021-12-28 21:29:00 +08:00
ziyue
89870190e9 MPEG: 整合复用ts/ps生成代码 2021-12-28 21:21:01 +08:00
ziyue
dce6b27f4f Http-FLV: http-flv直播采用绝对时间戳并支持las 2021-12-28 21:21:01 +08:00
ziyue
30b63ad656 Rtmp: rtmp分发改成绝对时间戳 2021-12-28 21:21:01 +08:00
ziyue
b749cfb8a3 TS: hls/http-ts 改为绝对时间戳 2021-12-28 21:21:01 +08:00
夏楚
878ce87329
支持线程内存malloc统计 (#1317) 2021-12-27 17:40:15 +08:00
xiongziliang
7f649b94e5 Rtmp: 修复openssl未开启导致链接失败的问题: #1301 2021-12-26 19:58:30 +08:00
xiongziliang
98d435ef50 Rtmp: 修复openssl未开启导致编译失败的问题: #1301 2021-12-26 18:34:55 +08:00
ziyue
3d44c772ac HLS: hls播放器解析ts失败时,清空数据以便恢复播放 2021-12-24 19:58:27 +08:00
ziyue
b1f68b9563 Splitter公开一些方法 2021-12-24 19:57:03 +08:00
ziyue
3cba8fca79 分包器缓存太多时主动清空数据 2021-12-24 17:47:15 +08:00
ziyue
5832de7ed8 HLS: ts分包器主动丢弃非法数据 2021-12-24 14:25:01 +08:00
ziyue
c25ff6400f HLS: hls播放解决播放下一个切片导致数据丢失的bug: #1294 2021-12-24 13:29:16 +08:00
ziyue
0bf75529a2 HTTP: 确保http请求结束后不再触发超时事件 2021-12-24 13:26:42 +08:00
ziyue
f89abfaf67 HTTP: 优化http客户端代码,并修复重定向时超时的bug: #1306 2021-12-24 11:25:55 +08:00
ziyue
4e01c29833 Rtmp: 优化复杂握手c0c1生成算法性能 2021-12-22 22:20:28 +08:00
ziyue
ab14585a81 Rtmp: rtmp客户端支持复杂握手,兼容某些rtmp服务器 2021-12-22 22:06:19 +08:00
ziyue
2e9ff3ed3c HLS: 修复hls直播ts/m3u8文件更新导致mmap失效,触发bus error的bug 2021-12-22 16:08:23 +08:00
ziyue
fe575af0d8 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-12-22 14:06:46 +08:00
ziyue
6a044f0726 HLS: 修复http客户端连接复用导致hls播放异常的bug: #1294 2021-12-22 14:03:05 +08:00
xiongziliang
ee13ca57c2 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-12-17 22:40:42 +08:00
xiongziliang
0feac7c924 MP4: mp4开始点播确保MediaSource注册后再返回 2021-12-17 22:33:08 +08:00
alexliyu7352
0d5ef99724
http客户端支持简单验证协议 (#1289)
* 加速track的准备速度

* 重命名为isAllTrackReady

* 无须缓冲帧时,暂不用转换为可缓存帧

* 支持简单验证协议

* 优化代码

Co-authored-by: 夏楚 <771730766@qq.com>
2021-12-17 17:48:05 +08:00
alexliyu7352
0b2e55429d
HLS: 加速track就绪速度 (#1286)
* 加速track的准备速度

* 重命名为isAllTrackReady

* 无须缓冲帧时,暂不用转换为可缓存帧

Co-authored-by: 夏楚 <771730766@qq.com>
2021-12-17 14:47:17 +08:00
ziyue
5e2967d94a HLS: 合并hls m3u8刷新延时相关pr(#1281) 2021-12-17 11:40:54 +08:00
Alex
0c1159959c 拉去hls索引文件时, 不能仅仅只是按照m3u8文件中的分段时间来拉取, 这样在网络延迟的情况下很容易出现问题, 根据规范与ffmpeg中的实现修改如下 2021-12-17 02:04:28 +08:00
ziyue
120879df0f HTTP-FMP4: 修复http-fmp4直播秒开问题 2021-12-16 17:46:03 +08:00
ziyue
4291c31493 FMP4: http-fmp4直播提升流畅度 2021-12-16 12:09:49 +08:00
ziyue
f4b6a6bd40 MP4: 修复mp4解复用定时器精度太高时读取文件太快的bug 2021-12-16 10:50:31 +08:00
ziyue
b3dd440151 MP4Demuxer: MP4解复器支持获取track并添加frame输出回调 2021-12-15 20:51:26 +08:00
ziyue
283188bedb MP4Demuxer: 提高MP4解复用器接口灵活度 2021-12-15 20:50:35 +08:00
xiongguangjie
5bffc98541
hls 录像支持直播时移 (#1275)
* hls live record support seek

* 调整代码风格

Co-authored-by: 夏楚 <771730766@qq.com>
2021-12-15 16:43:49 +08:00
xiongguangjie
50c6c2513d
修复rtsp tcp 推送到 rtsp-simple-server 失败的问题, (#1274)
* for push rtsp  to rtsp-simple-server remeber annoce response sessionid and setup tcp add mode=record

* fix  push rtsp  to rtsp-simple-server over udp error add mode=record

* 优化代码

Co-authored-by: 夏楚 <771730766@qq.com>
2021-12-14 17:17:05 +08:00
Xiaofeng Wang
54367fef31
修正连 node ws 服务端失败问题 (#1262)
Fix #1251

参考: https://datatracker.ietf.org/doc/html/rfc6455#section-4.2.1
Sec-WebSocket-Key base64 解码后长度应该是 16 字节.
2021-12-08 14:17:34 +08:00
ziyue
e483424858 Refine: 删除无效代码 2021-12-01 22:14:28 +08:00
ziyue
c2b0f3c07b Refine: 修复hls播放器丢失首帧关键帧的问题 2021-12-01 22:09:05 +08:00
ziyue
8f60ec9900 Refine: 精简复用MediaSink相关代码 2021-12-01 21:38:31 +08:00
ziyue
84baf920c1 GB28181: ps解析失败触发断言时,丢弃所有数据 2021-12-01 17:02:06 +08:00
ziyue
78bcd9e868 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-11-30 18:05:06 +08:00
ziyue
4700ab77de Feature: 新增转协议超时等相关配置项( #1241) 2021-11-30 18:04:43 +08:00
xiongziliang
8b24088ab1 Refine: h264 rtp encoder不再过滤sei、aud帧 2021-11-28 21:15:03 +08:00
ziyue
3a99440296 Refine: 优化代码,减少拷贝 2021-11-23 15:59:18 +08:00
xiongziliang
97f7255f0a Performance: 使用循环池优化rtmp分发性能 2021-11-21 11:34:20 +08:00
xiongziliang
5404a5266a Performance: 使用循环池优化http-flv分发性能 2021-11-21 11:28:14 +08:00
ziyue
0b79de9d13 MediaSource: 禁止重复推送一个已经注册的流 2021-11-19 15:33:16 +08:00
ziyue
afdc5e4267 Refine: 优化tcp/udp服务器异常管理断开机制 2021-11-19 15:26:33 +08:00
ziyue
b13a0f5b79 Splitter: 全局限制内存使用量,防止内存溢出 2021-11-19 11:27:27 +08:00
ziyue
0281cb6a11 GB28181: 修复tcp推流时,流异常可能导致死循环的bug 2021-11-19 11:09:55 +08:00
xiongziliang
a5fc3b04d3 Refine: 删除多余代码 2021-11-13 00:31:32 +08:00
xiongziliang
b0343acf8c Refine: 提炼精简代码 2021-11-13 00:24:38 +08:00
ziyue
56b7a8a97b Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-11-10 15:30:57 +08:00
ziyue
ac41a1e933 RtmpPlay: 兼容无metadata的rtmp流 2021-11-10 15:25:24 +08:00
Xiaofeng Wang
9aaf3ce2ff
优先使用静态 payload type 值 (#1206) 2021-11-10 14:45:37 +08:00
ziyue
e51a78ebdc MediaSink: 确保收到数据后才触发TrackReady回调 2021-11-10 14:35:37 +08:00
ziyue
1513e9a857 Revert "忽略某些流声明存在却没实质数据的track"
This reverts commit b42072405e.
2021-11-10 14:18:55 +08:00
ziyue
6f92ef2f3b PlayerProxy: 减少一次MediaSink数据过滤,提高性能 2021-11-10 13:56:58 +08:00
ziyue
b7e187d7af Player: 添加kWaitTrackReady选项决定播放器是否等待所有track ready再回调 2021-11-10 13:56:04 +08:00
ziyue
e38f2253ff Demuxer: 解复用减少一次MediaSink的数据过滤 2021-11-10 13:44:29 +08:00
ziyue
2a8a6cac27 Refine: 优化MultiMediaSourceMuxer创建代码 2021-11-10 12:48:13 +08:00
ziyue
b892ac346f MediaSink: 优化静音音频相关逻辑性能 2021-11-10 12:41:06 +08:00
ziyue
1ce841ce42 MediaSink: 修复静音音频添加逻辑bug 2021-11-10 12:04:32 +08:00
ziyue
817542cd0c Mutex: 删除一些不必要的互斥锁 2021-11-10 11:38:54 +08:00
ziyue
143979f354 Stamp: 兼容时间戳跳跃的情况 2021-11-10 11:38:54 +08:00
ziyue
fdfde17ec7 Demuxer/Player: 修改解复用与播放器底层逻辑,确保触发播放成功回调时不丢帧 2021-11-10 11:38:54 +08:00
ziyue
37fdb8d135 MediaSource: 继承改成私有 2021-11-10 11:38:54 +08:00
ziyue
ded5d83e04 MediaSink: 静音音频确保最后添加 2021-11-10 11:38:54 +08:00
ziyue
dad0c5e3cc MediaPusher: 抽象精简代码 2021-11-09 17:49:18 +08:00
ziyue
b96a2291eb MediaPusher: 整理代码风格 2021-11-09 15:45:31 +08:00
ziyue
b42072405e 忽略某些流声明存在却没实质数据的track 2021-10-28 10:53:07 +08:00
ziyue
5d56e86cfd 修复Windows上strptime不存在编译失败的问题 2021-10-27 17:14:16 +08:00
ziyue
e249a03dc2 修复调用stopSendRtp接口无法触发无人观看事件的bug:#1189 2021-10-27 13:40:59 +08:00
ziyue
350a0e3f81 防止内存越界 2021-10-27 13:26:53 +08:00
ziyue
0a3bcdab15 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-10-27 13:24:28 +08:00
ziyue
b438ecb88c 兼容不规范的aac rtsp推流 2021-10-27 13:23:27 +08:00
Dw9
bb9695a247
解决win32下大文件点播不了问题 (#1188) 2021-10-26 20:35:55 +08:00
ziyue
cd52a022f4 修复rtsp点播时长不准的bug 2021-10-25 19:39:45 +08:00
ziyue
fcfa13b0fe 适配最新zltoolkit 2021-10-22 16:43:34 +08:00
夏楚
19ebb03458
media-server使用原仓库并适配 (#1180)
* remote media-server

* 适配第三方库media-server使用原仓库

* ireader/media-server库使用gitee镜像

Co-authored-by: monktan <monktan@tencent.com>
2021-10-22 14:16:39 +08:00
ziyue
4067f2beb6 ps rtp推流接口(startSendRtp)支持推送本地mp4录像 2021-10-21 10:21:52 +08:00
ziyue
a25e1d6021 解决获取mp4录像文件大小不准的问题:#1173 2021-10-20 18:14:20 +08:00
ziyue
b4327b9b18 获取文件大小功能移至zltoolkit 2021-10-20 18:09:37 +08:00
ziyue
0e0608dc27 兼容dts时间戳回退导致录像切片异常的问题 2021-10-20 17:38:11 +08:00
ziyue
2422285829 修改mp4录制相关代码风格 2021-10-20 17:37:19 +08:00
ziyue
93c6754fc4 兼容一些不规范的rtsp流 2021-10-20 11:54:05 +08:00
ziyue
cf1adf1c92 兼容一些不规范的rtsp流 2021-10-20 10:58:05 +08:00