Skip to content

Hiram-Wong/ZyPlayer

Repository files navigation

文档 反馈 下载

软件介绍

ZyPlayer 是一款采用现代化技术栈开发的全功能媒体播放器,它基于 electron-vite 框架,集成了 TDesign UI 组件库与 Vue3 全家桶,以清新的薄荷绿为主题,旨在为用户提供流畅的跨平台娱乐体验。

重要提醒: 在开始使用前,请务必详读并同意用户协议,确保遵守相关规定。

展开查看用户协议及免责申明 感谢您选择使用zyplayer(以下简称本软件),在使用产品和服务之前,请您仔细阅读和理解以下声明:
  1. 若您不同意本声明的任何内容,请您立即停止使用本软件。一旦您开始使用本软件产品和服务,则表示您已同意本声明的所有内容。
  2. 本软件仅供个人学习、研究和技术交流使用,仅提供展示功能,所有数据资源均由用户自身制作提供,包括但不限于视频网站、媒体分享站点等。本软件无法控制这些资源的合法性、准确性、完整性或可用性,因此不对资源内容的真实性、合法性或适用性负责。
  3. 由于数据源为用户自行制作,我们在此特别提醒, 视频或弹幕中可能出现的任何第三方广告、产品推广信息等相关内容,均系第三方(含用户)行为植入,非本软件策划或添加。请您在体验过程中保持警惕,对这类信息的真实性及合法性进行自主甄别,如用户遇诈骗因此产生的损失,本平台不承担任何责任。
  4. 本软件利用网络爬虫技术获取部分数据,旨在为用户提供更全面的信息服务。包括不限于豆瓣(douban.com)、酷云(ky.live)、云合(enlightent.cn)、112114(112114.xyz), 值得注意的是这些网站的API未经过授权。用户在使用这些数据时可能面临法律风险,如因此导致的法律责任,用户应自行承担。
  5. 本软件仅使用Iframe嵌入多家视频平台网站内容,包括但不限于爱奇艺(iqiyi.com)、腾讯视频(v.qq.com)、搜狐视频(tv.sohu.com)、聚力网(pptv.com)、360影视(360kan.com)及芒果TV(mgtv.com)等。对于用户在使用本软件过程中对如上网站进行的任何操作,本软件不承担任何责任。
  6. 本软件具备资源嗅探特性,可能会引发第三方数据的隐私和安全风险。用户在使用该特性时,需自行承担可能产生的信息泄露或滥用风险,并对其后果负全部责任。
  7. 本软件含“去广告”选项以增强体验,我们不鼓励任何侵犯版权或违反服务提供商条款的行为。启用前,请确保您的操作符合法律及服务商规则,并知悉可能的兼容性局限。
  8. 为遵守网络安全法的内容审核要求,本软件不提供弹幕发送服务。关于弹幕展示,受限于本地性能未做数据清理,可能存在不良言论,请勿相信因此引起非必的要麻烦。同时如果用户通过任何渠道发表不良言论行为,该行为与本软件无关。我们呼吁用户文明用语,共同维护网络健康环境。
  9. 我们深知您的隐私无价。因此,本软件绝不收集任何用户数据,除了必要的WebDev备份(此过程由专业第三方严格管理)外,所有信息均严格本地存储,确保您的数据仅在您掌控之中。此软件不与任何第三方共享您的任何信息。
  10. 赞赏行为纯属自愿,旨在表达对开源软件作者或贡献者的支持和感谢,并非购买商品或服务的交易行为。赞赏者应当清楚理解,赞赏款项不享有任何商品或服务的保证,也不构成任何形式的合同关系。
  11. 您在使用本软件时需自行负责所有操作和使用结果。本软件不对您通过使用本软件获取的任何内容负责,包括但不限于媒体资源的准确性、版权合规性、完整性、安全性和可用性。对于任何因使用本软件导致的损失、损害或法律纠纷,不承担任何责任。
  12. 您在使用本软件时必须遵守您所在国家/地区的相关法律法规,禁止使用本软件进行任何违反法律法规的活动,包括但不限于制作、上传、传播、存储任何违法、侵权、淫秽、诽谤、恶意软件等内容。如您违反相关法律法规,需自行承担法律责任。
  13. 本免责声明适用于本软件的所有用户。本软件保留随时修改、更新本声明的权利,并以Github Readme、软件更新等形式通知用户。请您定期查阅并遵守最新的免责声明。

请您在使用本软件之前认真阅读并理解本免责声明的所有内容,感谢您的理解和支持。

Star History Chart

🎉 功能亮点

  • 广泛兼容:全面支持 Windows、Mac、Linux 系统。
  • 深色模式:适配夜间使用,保护视力。
  • 资源站接入:轻松管理 json、xml 等格式的 CMS。
  • IPTV 支持:无缝播放 m3u、genre 格式及集成 EPG。
  • 视频平台解析:解锁主流在线视频内容。
  • 快捷隐藏:内置老板键,隐私保护一键到位。
  • 多播放器:内置多种播放器核心,满足不同需求。

🖼️ 屏幕截图预览

展开查看软件截图
影视(首页) 影视(搜索)
影视 影视搜索
影视(播放) 影视 (介绍)
影视播放 影视详情
网盘 直播(首页)
网盘 直播首页
直播(播放) 解析
直播播放 解析
历史记录 在追
历史 在追

🌴 法律声明与注意事项

  • 强烈倡导合法观影,本软件仅作为播放工具,不涉及资源存储或分发。
  • 仅供个人学习交流之用,24小时内请自觉卸载,勿作商业用途。
  • 软件提供播放框架,具体播放源需用户自行配置。
  • 部分灵感来源于ZY-Player,图标素材感谢[@fourbeauty]贡献。

播放器特性概览

  • 没有完美的播放器
  • 如果只有画面没声音 - 一般为没有声轨
  • 如果黑屏有声音 - 一般为播放器不支持H265[HEVC]
  • 播放器选择需考虑格式兼容性,如 h264 与 h265 的差异
  • 针对播放失败, 建议切换播放器或者调用系统播放器

安装包说明

  • MacOS: 提供 arm64、x64 及 universal 三种架构安装包。
  • Windows: 支持 arm64、x64、ia32,以及通用版本,但请注意 Electron 23 起不再支持 Win 7/8/8.1。
  • Linux: 针对 arm64、x64 架构发行 image、deb、rpm 安装包。

🛠️ 下载与安装

最新版下载: 访问 GitHub 发布页面 获取。

macOS 安装问题解决方案

若遇到“已损坏”提示,执行以下命令修复权限

sudo xattr -cr /Applications/zyplayer.app

Linux Appimage桌面快捷方式设置

[1] 选择一张icon图标下载
[2] 在任意位置新建一个名为zyplayer.desktop的文件,并写入如下内容
    [Desktop Entry]
    Name=zyplayer
    Exec=/home/xxx/Downloads/zyplayer-3.3.5.AppImage  # AppImage程序路径
    Icon=/home/xxx/Downloads/zyplayer.png  # 图标路径
    Type=Application
    StartupNotify=true
[3] 保存zyplayer.desktop后右键属性,在权限目录下允许作为程序执行文件上打钩
[4] 讲zyplayer.desktop文件复制到/usr/share/applications路径下

🚗 二次开发

[1]安装 node.js version18 以上
[2]克隆项目  git clone https://github.com/Hiram-Wong/ZyPlayer.git
[3]进入项目  cd ZyPlayer/
[4]打开vscode  code .
[5]修改代码
[6]修改packgae.json[仅win8.1、7] "electron": "^19.1.9",
[7]安装依赖包  yarn
[8]全局安装electron-vite框架 yarn add electron-vite -D
[9]打包  yarn build:win[mac/linux]

📚 数据结构

请严格按照数据结构填写,避免不必要的报错

展开查看接口说明

配置导入格式(备份数据建议此格式)

{
  "analyze": [
    {
      "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // id唯一值不可重复,不能数字,建议 uuid
      "name": "纯净", // 名称
      "url": "https://im1907.top/?jx=", // 解析源地址
      "isActive": true // 是否启用 true启用 false 禁用
    }
  ],
  "iptv": [
    {
      "id": "993841fe-5e91-5e5d-35d6-5be81822960b", // id唯一值不可重复,不能数字,建议 uuid
      "name": "APTV", // 名称
      "url": "https://ghproxy.com/https://raw.githubusercontent.com/Kimentanm/aptv/master/m3u/iptv.m3u", // 直播源地址
      "type": "remote", // remote为远程m3u local本地m3u文件路径
      "isActive": true, // 是否启用 true启用 false 禁用
      "epg": "https://epg.112114.xyz/" // 电子节目单地址
    }
  ],
  "channel": [
    {
      "id": "0ede1ecd-de69-1042-15d9-4e5e9e3bb897", // id唯一值不可重复,不能数字,建议 uuid
      "name": "CCTV6", // 名称
      "url": "http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226393/index.m3u8", // 播放地址
      "group": "央视"  // 分组
    }
  ],
  "sites": [
    {
      "id": "51793af6-c923-5504-85db-0ef686624dec", // id唯一值不可重复,不能数字,建议 uuid
      "name": "39影视", // 名称
      "api": "https://www.39kan.com/api.php/provide/vod/",  // 站点源地址
      "playUrl": "", // 配合解析去url地址
      "search": 1, // 0:关闭 1:聚合搜索 2:本站搜索
      "group": "切片", // 分组
      "isActive": true, // 是否启用 true启用 false 禁用
      "type": 1, // 0:cms(xml) 1:cms(json) 2:drpy 3:app(v3) 4:app(v1)
      "ext": "", // 扩展参数
      "categories": "电视,影视" // 按顺序展示所配置的分类 不配置则默认展示所有分类
    },
  ],
  "drive": [
    {
      "id": "3293dc45-cf14-9c66-3028-5b7765b240b7", // id唯一值不可重复,不能数字,建议 uuid
      "name": "🙋丫仙女",  // 名称
      "server": "http://alist.xiaoya.pro/",  // 网盘地址
      "startPage": "",  // 开始页路径
      "search": false,  // 是否支持搜索 true启用 false 禁用
      "headers": null,  // 请求头
      "params": null,  // 参数
      "isActive": true // 是否启用 true启用 false 禁用
    }
  ],
  "setting": [
    {
      "version": "3.3.2", // [3.3.2版本启用]当前版本 (一定要根据实际填写,不然数据库执行会报错)
      "theme": "auto",  // 主题 auto:跟随系统 light:亮色 dark:暗色
      "lang": "zh_CN",  // [3.3.4版本启用]语言 zh_CN:中文 en_US:英文
      "defaultHot": "kylive",  // 热搜 kylive:酷云数据 enlightent:云合数据
      "defaultSearchRecommend": "site", // 搜索推荐 site:站点 quark:夸克 baidu:百度 douban:豆瓣  弃用
      "defaultSearchType": "site", // 全局搜索模式 site:本站 group:组内 all:全部
      "defaultCheckModel": true,  // [弃用] 忘了干嘛的
      "defaultChangeModel": false,  // [弃用] 忘了干嘛的
      "pauseWhenMinimize": false,  // [弃用] 最小化时暂停
      "defaultIptvEpg": "https://epg.112114.eu.org/", // iptv epg
      "defaultIptvLogo": "https://epg.112114.eu.org/logo/", // iptv logo
      "iptvSkipIpv6": true, // iptv是否跳过ipv6节目
      "iptvThumbnail": true, // iptv是否显示缩略图
      "iptvStatus": true, // iptv是否检测延迟
      "defaultSite": "51793af6-c923-5504-85db-0ef686624dec", // site 默认源标识
      "defaultIptv": "993841fe-5e91-5e5d-35d6-5be81822960b", // iptv 默认源标识
      "defaultAnalyze": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // analyze 默认源标识
      "defaultDrive": "3293dc45-cf14-9c66-3028-5b7765b240b7", // drive 默认源标识
      "defaultViewCasual": "", // [3.3.4版本启用]心性看地址
      "barrage": {
        "url": "", // 弹幕地址
        "key": "danmuku", // 弹幕接口返回数据对应的key
        "support": [
          "qq",
          "qiyi",
          "youku",
          "mgtv"
        ], // 弹幕支持的线路
        "start": "0", // 弹幕接口返回数据对应的开始时间的位置
        "mode": "1", // 弹幕接口返回数据对应的位置的位置
        "color": "2", // 弹幕接口返回数据对应的颜色的位置
        "content": "4" // 弹幕接口返回数据对应的内容的位置
      }, // [3.3.4版本启用]弹幕参数
      "analyzeFlag": [
        "youku",
        "qq",
        "iqiyi",
        "qiyi",
        "letv",
        "sohu",
        "tudou",
        "pptv",
        "mgtv"
      ],  // 解析标识
      "broadcasterType": "xgplayer", // [3.3.4版本弃用,使用playerMode参数]播放器 xgplayer:西瓜 dplayer:呆呆 custom:自定义结合externalPlayer
      "externalPlayer": "", // [3.3.4版本弃用,使用playerMode参数]播放器为custom,调用此处系统命令
      "playerMode": {
        "type": "xgplayer",  // 播放器 xgplayer:西瓜 dplayer:呆呆 custom:自定义结合external
        "external": ""  // 播放器为custom,调用此处系统命令
      },  // [3.3.4版本启用]
      "softSolution": false, // 是否使用软解 预留
      "communitySubscribe": "", // 社区地址 预留
      "skipStartEnd": false, // [3.3.5版本弃用, pinia存储]是否跳过首尾空白
      "agreementMask": true, // 是否同意协议
      "recordShortcut": "Shift+Command+Z", // 录制快捷键
      "snifferType" : "pie",  // [3.3.4版本弃用,使用snifferMode参数]嗅探模式 pie iframe
      "snifferMode": {
        "type": "pie",  // 嗅探模式 pie iframe custom
        "url": ""  // 当 type 为 custom 时填写自定义地址
      },  // [3.3.4版本启用]
      "selfBoot": false,  // 是否开机自启动
      "hardwareAcceleration": true,  // 是否启用硬件加速
      "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",  // UA
      "webdevUrl": "https://dav.jianguoyun.com/dav/",  // [3.3.4版本弃用,使用webdev参数]webdev同步盘地址 用于备份
      "webdevUsername": "",  // [3.3.4版本弃用,使用webdev参数]webdev用户名 用于备份
      "webdevPassword": "",  // [3.3.4版本弃用,使用webdev参数]webdev密码 用于备份
      "webdev": {
        "sync": false,  // 自动同步
        "data": {
          "url": "https://dav.jianguoyun.com/dav/", // webdev同步盘地址
          "user": "", // webdev用户名
          "password": "" // webdev密码
        }  // webdev 用于备份
      },  // [3.3.4版本启用]
      "restoreWindowPositionAndSize" : false, // 弃用
      "windowPosition": {
        "status": false,  // 是否记录窗口位置
        "position": {
          "width": 1000,
          "height": 640
        },  // 窗口位置 [3.3.7版本弃用, 使用position_main|position_play参数]
        "position_main": {
          "width": 1000,
          "height": 640
        }, // 窗口位置 [3.3.7版本启用] 记录主窗口位置
        "position_play": {
          "width": 875,
          "height": 550
        }, // 窗口位置 [3.3.7版本启用] 记录播放窗口位置
      },
      "timeout": 5000,  // [3.3.5版本启用] 用于调整全局请求超时事件, 单位毫秒
    }
  ]
}

一键配置格式(初次使用建议此格式, 仅支持导入源数据和设置默认源标识)

{
  "analyze": {
    "default": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // 默认标识 对应需设置为默认的id
    "data": [
      {
        "id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // id唯一值不可重复,不能数字,建议 uuid
        "name": "纯净", // 名称
        "url": "https://im1907.top/?jx=", // 解析源地址
        "isActive": true // 是否启用 true启用 false 禁用
      }
    ]
  },
  "iptv": {
    "default": "993841fe-5e91-5e5d-35d6-5be81822960b", // 默认标识 对应需设置为默认的id
    "data": [
      {
        "id": "993841fe-5e91-5e5d-35d6-5be81822960b", // id唯一值不可重复,不能数字,建议 uuid
        "name": "APTV", // 名称
        "url": "https://ghproxy.com/https://raw.githubusercontent.com/Kimentanm/aptv/master/m3u/iptv.m3u", // 直播源地址
        "type": "remote", // remote为远程m3u local本地m3u文件路径
        "isActive": true, // 是否启用 true启用 false 禁用
        "epg": "https://epg.112114.xyz/" // 电子节目单地址
      }
    ]
  },
  "sites":  {
    "default": "51793af6-c923-5504-85db-0ef686624dec", // 默认标识 对应需设置为默认的id
    "data": [
      {
        "id": "51793af6-c923-5504-85db-0ef686624dec", // id唯一值不可重复,不能数字,建议 uuid
        "name": "39影视", // 名称
        "api": "https://www.39kan.com/api.php/provide/vod/",  // 站点源地址
        "playUrl": "", // 配合解析去url地址
        "search": 1, // 0:关闭 1:聚合搜索 2:本站搜索
        "group": "切片", // 分组
        "isActive": true, // 是否启用 true启用 false 禁用
        "type": 1, // 0:cms(xml) 1:cms(json) 2:drpy 3:app(v3) 4:app(v1)
        "ext": "", // 扩展参数
        "categories": "电视,影视" // 按顺序展示所配置的分类 不配置则默认展示所有分类
      }
    ]
  },
  "drive":  {
    "default": "3293dc45-cf14-9c66-3028-5b7765b240b7", // 默认标识 对应需设置为默认的id
    "data": [
      {
        "id": "3293dc45-cf14-9c66-3028-5b7765b240b7", // id唯一值不可重复,不能数字,建议 uuid
        "name": "🙋丫仙女",  // 名称
        "server": "http://alist.xiaoya.pro/",  // 网盘地址
        "startPage": "",  // 开始页路径
        "search": false,  // 是否支持搜索 true启用 false 禁用
        "headers": null,  // 请求头
        "params": null,  // 参数
        "isActive": true // 是否启用 true启用 false 禁用
      }
    ]
  }
}