老衲不出家
f05a9501fa
Unified code style ( #2137 )
2022-12-02 14:43:06 +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
ziyue
68948288e0
TcpSession/UdpSession统一为Session类
2022-11-19 09:33:10 +08:00
ziyue
918b1fce6c
修复hls/ts拉流崩溃问题:#2057
2022-10-30 23:50:20 +08:00
xiongziliang
80eb6dc402
协议解析最大支持4MB分包: #2026
2022-10-29 22:57:32 +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
夏楚
4a35ddbddb
Merge pull request #1942 from mtdxc/reduce_code
...
简化代码
2022-09-09 11:10:55 +08:00
cqm
999e0b274e
简化代码:
...
- MediaSource引入shortUrl和getUrl来简化日志输出
- WebApi引入fillSockInfo
2022-09-07 11:47:15 +08:00
WuPeng
f765e5365b
修正在指定配置文件forwarded_ip_header的值后,无法获取不通过代理播放的客户端IP。
2022-09-06 21:13:11 +08:00
custompal
0d6509ce03
统一部分变量名和代码样式风格
2022-08-30 21:24:25 +08:00
custompal
04aa3ef41f
增加获取媒体流播放器列表功能
2022-08-30 21:05:19 +08:00
ziyue
795b4dbbd3
修复http文件服务器对特殊字符文件不兼容的bug:#1866
2022-08-10 10:37:49 +08:00
ziyue
35791aac89
优化代码,去除编译警告,修复拼写错误
2022-08-08 17:36:07 +08:00
xiongziliang
d30869d0c9
支持获取http反向代理真实客户端ip: #1388
2022-06-18 22:10:46 +08:00
xiongziliang
6291ee704c
http文件服务器修复访问安全漏洞
2022-06-18 21:44:16 +08:00
xiongziliang
7f98f9a750
删除重复的获取gmt offset相关代码
2022-06-18 13:27:23 +08:00
taojishou
59dcd03b70
修改hls拉流后closestream崩溃的bug ( #1678 )
...
* 修改hls拉流后closestream崩溃的bug
Co-authored-by: 夏楚 <771730766@qq.com>
2022-06-01 13:05:49 +08:00
ziyue
c7d7999f53
兼容gcc4.8编译器
2022-05-18 20:07:54 +08:00
xiongziliang
f1555a5501
防止忽略shutdown事件
2022-05-13 23:54:04 +08:00
xiongziliang
3e869c1f1d
修复https 302 跳转http相关bug
2022-05-13 23:24:17 +08:00
xiongziliang
fdbfccb32e
hls/http-ts播放器在消费完frame时再触发shutdown事件
2022-05-13 23:22:00 +08:00
ziyue
a44334acaf
全面支持ipv6
2022-05-08 16:33:33 +08:00
alexliyu7352
a0c1bc13cc
修复多次调用onShutdown的bug ( #1552 )
...
当HlsPlayer拉取索引失败后会触发PlayerProxy的重试机制.
但是这里就有一个bug会导致重试次数不准确.
因为HlsPlayer播放失败会调用onShutdown.
然后回调PlayerProxy.
之后如果触发重试, 那么在HlsPlayer析构的时候又会在调用一次onShutdown.
这时候是安全的, 因为_on_shutdown已经被置空.
但是如果重试时又再次失败, 那么首先会调用
onPlayResult
这时候在PlayerProxy中会再次触发重试, 紧接着HlsPlayer析构, 又会调用一次onShutdown, 那么就又会触发一次重试.
修复方法有很多, 最简单的就是直接在
onShutdown中判断如果没有_demuxer就不需要父类的onShutdown方法来释放资源与重连了.
因为针对HlsPlayer来说, 如果重试拉取索引没有成功, 应该没有什么资源需要在onShutdown方法中释放了.
当然更完善的修复应该是在PlayerProxy中增加相关的判断逻辑, 给rePlay一个状态.
确保rePlay执行完成前, 不再执行一次rePlay.
具体哪种方式, 大佬您可以看着办.
2022-04-10 19:09:16 +08:00
alexliyu7352
75b17b3a6a
避免m3u8文件为chunked时崩溃 ( #1543 )
...
* Update HttpChunkedSplitter.h
* 避免m3u8文件为chunked时崩溃
具体问题见
https://github.com/ZLMediaKit/ZLMediaKit/issues/1407
当数据最后小于2个字节时, 应该放弃回调.
做个保险, 避免导致溢出后崩溃.
这个bug很难出现, 但是的确存在. 一些特殊的服务器采用chunked返回的m3u8文件解析时, 有可能会遇到.
* Update HttpChunkedSplitter.cpp
Co-authored-by: 夏楚 <771730766@qq.com>
2022-04-06 14:16:48 +08:00
alexliyu7352
e4262222f4
hls拉流时应该适当重试 ( #1541 )
...
* hls拉流时应该适当重试
hls拉取索引文件失败时, 不应该直接上报,而应该内部适当重试几次.
避免由于网络抖动造成的客户端播放不流畅.
* Update HlsPlayer.cpp
2022-04-05 19:49:22 +08:00
wendelong
97ea8090ad
修复HLS播放导致程序异常的BUG
2022-03-29 13:43:17 +08:00
xiongziliang
ae99662a3d
修复编译警告
2022-03-27 21:57:05 +08:00
xiongziliang
ed661b1cf1
修改无法删除hls目录的bug:#1485
2022-03-12 10:57:39 +08:00
xiongziliang
2d88115b3f
完善http直播url解析规则pr:#1467
2022-03-12 10:04:36 +08:00
xiongziliang
81c0635bf2
Merge branch 'add_schema_query_string' of github.com:mtdxc/ZLMediaKit
2022-03-12 09:53:07 +08:00
alexliyu7352
276f763c08
hls拉流动态计算切片超时时间 ( #1477 )
...
* 动态计算切片超时时间
设置最大超时时间倍数和最小倍数,然后根据上一个切片的下载情况动态增加或者减少切片的超时时间.
* Update HlsPlayer.cpp
2022-03-12 09:39:33 +08:00
alexliyu7352
b4241e12d5
hls拉流新增支持mime类型 ( #1476 )
...
一些流服务器输出mime头有可能时audio/x-mpegurl, 所以这点的判断不能写的太死了.
2022-03-12 09:36:28 +08:00
alexliyu7352
2c63916973
http-ts拉流新增支持mime类型( #1475 )
...
ts切片有些mime头并不是只有这两种,
比如youtube的ts切片头就是application/octet-stream
2022-03-12 09:35:22 +08:00
cqm
4cfac989b3
支持?schema=rtmp/ts/fmp4格式
2022-03-03 19:45:47 +08:00
ziyue
b2bb37dc5c
http: 修复32位系统下,下载3GB以上文件失败的问题: #1446
2022-02-23 17:03:13 +08:00
ziyue
a15d59cf23
hls/ts播放器改成绝对时间戳:#1389
2022-02-22 11:45:41 +08:00
xiongguangjie
9c45fca761
根据配置禁用mmap缓存 ( #1429 )
2022-02-17 10:35:10 +08:00
ziyue
304c898a3a
完善http文件获取相关代码
2022-02-16 16:58:13 +08:00
xiongziliang
2e9d77e8e1
删除多余ts split代码
2022-02-13 21:53:21 +08:00
夏楚
e37982adee
优化hls媒体流注册与无人观看清理机制 ( #1421 )
...
* 优化hls媒体流注册与无人观看清理机制
* 优化hls cookie管理
* bug fixed
2022-02-12 16:24:55 +08:00
ziyue
a2b6344861
修复hls m3u8返回content-type异常的问题
2022-02-11 16:36:40 +08:00
ziyue
49fc17d7e0
hls m3u8文件直接通过内存读写
2022-02-11 16:21:19 +08:00
ziyue
642c9c075a
修复设置cookie错误的bug
2022-02-11 15:14:34 +08:00
ziyue
36f24527a4
http cookie减少互斥锁,优化性能
2022-02-11 14:33:11 +08:00
ziyue
c510f3765a
关闭小文件mmap预加载功能
2022-02-11 14:02:55 +08:00
ziyue
984715a018
修复获取共享mmap大小bug
2022-02-11 13:40:41 +08:00
ziyue
8188aa0d53
非必要不调用fopen
2022-02-11 13:10:56 +08:00
ziyue
3f6f26731a
ts小文件先加载到内存
2022-02-11 12:49:03 +08:00
ziyue
96503967fc
屏蔽sendfile特性
2022-02-11 12:03:45 +08:00
ziyue
832c8d0d80
优化mktime性能问题
2022-02-11 11:54:12 +08:00
ziyue
d541ed2572
修复编译警告
2022-02-11 11:13:43 +08:00
ziyue
8338773767
hls/http-ts播放器新增性能测试模式
2022-02-11 11:11:30 +08:00
ziyue
91c0a563c3
确保mmap缓存记录表不膨胀
2022-02-10 21:23:50 +08:00
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
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
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
ziyue
756ec1364b
websocket客户端触发事件时确保对象强引用有效
...
同时修复websocket客户端判断alive返回false的bug
2022-01-25 11:44:51 +08:00
ziyue
80ecd2098e
修复编译警告
2022-01-24 10:48:15 +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
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
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
alexliyu7352
741b197f31
修复302跳转时, 如果跨域,header不正确的问题 ( #1349 )
2022-01-09 14:32:59 +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
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
ziyue
dce6b27f4f
Http-FLV: http-flv直播采用绝对时间戳并支持las
2021-12-28 21:21:01 +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
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
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
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
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