在线视频播放器YT-DLP Web Player

在线视频播放器YT-DLP Web Player

简介

什么是 YT-DLP Web Player ?

YT-DLP Web Player 是一个开源的在线视频播放器,基于强大的 yt-dlp 引擎。它可以帮助用户直接在浏览器中播放来自各种视频网站的内容,无需下载即可在线观看。

主要特点

  • 多平台支持:基于 yt-dlp,支持 YouTubeBilibili 等众多视频平台
  • 画质选择:支持视频分辨率选择、字幕选择和宽高比调整
  • 视频下载:提供视频下载功能,方便离线观看
  • PWA 支持:支持 Progressive Web App,可安装到手机桌面,Android 支持"分享到"功能
  • 视频搜索:内置视频搜索功能,无需离开界面即可查找内容
  • 主题定制:支持自定义主题颜色和 AMOLED 深色背景
  • SponsorBlock 集成:自动跳过 YouTube 视频中的赞助商片段
  • 每日自动更新yt-dlp 每日自动更新,及时支持新的视频网站和编码
  • 开源免费:基于 GPL-2.0 协议开源,可免费使用和修改

应用场景

  • 个人视频中心:搭建个人视频播放平台,统一管理和观看各平台视频
  • 家庭媒体服务:家庭成员共享视频播放服务,支持多设备访问
  • 嵌入式播放器:通过 /iframe 端点将播放器嵌入到其他网页中
  • 视频归档:下载并保存喜欢的视频内容,建立个人视频库
  • 无广告观看:绕过视频网站的广告,获得更纯净的观看体验
在这里插入图片描述

总的来说,YT-DLP Web Player 是一个功能强大且易于部署的在线视频播放解决方案,让你摆脱平台限制,自由观看网络视频。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 matszwe02,不太好找,下拉找到 matszwe02/ytdlp_web_player,只有一个 latest 版本,双击直接下载

docker 文件夹中,创建一个新文件夹 ytdlp_web_player,并在其中建一个子文件夹 download

文件夹装载路径说明
docker/ytdlp_web_player/data/app/download存放下载的视频

端口

本地端口使用 5038,不冲突就行,不确定的话可以用命令查一下

# 查看端口占用netstat-tunlp|grep5038
本地端口容器端口
50385000

环境

可变说明
APP_TITLEYT-DLP Player应用标题
THEME_COLOR#ff7300主题颜色
GENERATE_SPRITE_BELOW1800视频长度低于此值(秒)时生成缩略图
AMOLED_BGfalseAMOLED 深色背景
MAX_VIDEO_AGE3600视频缓存过期时间(秒)
MAX_VIDEO_DURATION36000最大视频时长(秒)
DEFAULT_QUALITY720默认视频质量
LOAD_DEFAULT_QUALITYtrue加载默认画质
PLAYLIST_SUPPORTfalse播放列表支持
DOWNLOAD_PATH./download下载路径

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 ytdlp_web_player 和 子目录mkdir-p /volume1/docker/ytdlp_web_player/data # 进入 ytdlp_web_player 目录cd /volume1/docker/ytdlp_web_player # 一键启动docker run -d\--name ytdlp_web_player \--restart unless-stopped \-p5038:5000 \-v$(pwd)/data:/app/download \-eAPP_TITLE="YT-DLP Player"\-eTHEME_COLOR="#ff7300"\-eGENERATE_SPRITE_BELOW="1800"\-eAMOLED_BG="false"\-eMAX_VIDEO_AGE="3600"\-eMAX_VIDEO_DURATION="36000"\-eDEFAULT_QUALITY="720"\-eLOAD_DEFAULT_QUALITY="true"\-ePLAYLIST_SUPPORT="false"\-eDOWNLOAD_PATH="./download"\ matszwe02/ytdlp_web_player 

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version:'3.8'services:ytdlp_web_player:image: matszwe02/ytdlp_web_player container_name: ytdlp_web_player restart: unless-stopped ports:-"5038:5000"volumes:- ./data:/app/download environment:- APP_TITLE=YT-DLP Player - THEME_COLOR=#ff7300- GENERATE_SPRITE_BELOW=1800 - AMOLED_BG=false - MAX_VIDEO_AGE=3600 - MAX_VIDEO_DURATION=36000 - DEFAULT_QUALITY=720 - LOAD_DEFAULT_QUALITY=true - PLAYLIST_SUPPORT=false - DOWNLOAD_PATH=./download 

然后通过 SSH 登录到您的群晖,执行下面的命令:

# 新建文件夹 ytdlp_web_player 和 子目录mkdir-p /volume1/docker/ytdlp_web_player/data # 进入 ytdlp_web_player 目录cd /volume1/docker/ytdlp_web_player # 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d

运行

在浏览器中访问 http://<群晖IP>:5038 即可进入 Web 界面

以老苏之前发的 https://www.bilibili.com/video/BV1LSwQzZEPi 为例,加载中会看到界面预览

加载成功后,就可以播放了

在这里插入图片描述

注意事项

  1. PWA 和 iframe 嵌入需要 HTTPS:如需使用 PWA 安装或 iframe 嵌入功能,需要配置反向代理启用 HTTPS
  2. 视频平台限制:部分视频网站有反爬虫机制,可能无法正常播放,可查看 yt-dlp 支持的网站列表
  3. 存储空间:视频缓存会占用磁盘空间,建议定期清理或调整 MAX_VIDEO_AGE 参数
  4. 网络要求:播放高清视频需要较好的网络带宽,建议根据网络情况调整 DEFAULT_QUALITY
  5. 安全建议:如公网访问,建议添加认证机制或限制访问 IP

参考文档

Matszwe02/ytdlp_web_player: Arbitraty internet video player powered by yt-dlp
地址:https://github.com/Matszwe02/ytdlp_web_player
yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader
地址:https://github.com/yt-dlp/yt-dlp

Read more

nlp_structbert_sentence-similarity_chinese-large保姆级教程:Streamlit Session State管理多用户会话

nlp_structbert_sentence-similarity_chinese-large保姆级教程:Streamlit Session State管理多用户会话 你是不是也遇到过这样的问题?用Streamlit做了一个很酷的AI应用,比如这个中文句子相似度分析工具,但每次刷新页面,输入框里的文字就没了,计算过的结果也清空了。或者,当你想同时为多个用户提供服务时,发现他们的数据会互相干扰。 今天,我就来手把手教你解决这个问题。我们将以nlp_structbert_sentence-similarity_chinese-large这个强大的中文语义匹配工具为例,深入讲解如何用Streamlit的Session State来优雅地管理多用户会话,让你的应用从“玩具”升级为“工具”。 学完这篇教程,你将掌握: 1. Session State的核心概念和工作原理。 2. 如何为你的AI应用(如句子相似度计算)添加稳固的会话记忆。 3. 实现多用户数据隔离的实战技巧。 4. 避免常见陷阱,打造更专业的Web应用。 准备好了吗?让我们开始吧。 1. 环境准备与项目回顾

医疗AI场景下算法编程的深度解析(2026新生培训讲稿)(八)

医疗AI场景下算法编程的深度解析(2026新生培训讲稿)(八)

第15章 模型融合与集成策略 在机器学习竞赛和实际应用中,模型融合(Model Ensemble)是提升预测性能的利器。通过组合多个不同的基模型,集成策略能够综合各个模型的优势,抵消单个模型的偏差和方差,从而获得比任何单一模型更稳定、更准确的预测结果。在医疗AI领域,模型融合同样具有重要价值——面对复杂多模态的医疗数据,单一模型往往难以全面捕捉所有信息,而融合多个异质模型可以提升诊断的鲁棒性和准确性。本章将从集成学习的基本思想出发,系统介绍常见的模型融合方法,包括投票法、平均法、Stacking、Blending等,并通过实战案例展示如何构建融合模型来提升疾病预测性能。 15.1 集成学习的基本思想 集成学习(Ensemble Learning)的核心思想是“三个臭皮匠,顶个诸葛亮”——通过结合多个学习器来完成学习任务,通常可以获得比单一学习器更优越的泛化性能。根据个体学习器的生成方式,集成学习主要分为两大类: * Bagging:并行训练多个独立的基学习器,然后通过平均或投票进行结合。典型代表是随机森林。Bagging主要降低方差。 * Boosting:串行训练基学习

告别失忆 AI:LangChain RAG + 对话记忆实战,从 0 到 1 落地

告别失忆 AI:LangChain RAG + 对话记忆实战,从 0 到 1 落地 前言 在大模型应用中,RAG(检索增强生成) 已经成为企业级知识库、智能文档问答的标配。它能让大模型读取你的私有文件(txt、docx、pdf),并基于文件内容精准回答问题,不会编造答案。 而对话记忆能让 AI 记住历史对话,实现连贯的多轮问答。 今天,我用 LangChain 搭建一套: * 支持本地私有文档(TXT/DOCX/PDF) * 支持 RAG 知识库检索 * 支持对话历史记忆 * 可直接运行、无环境报错 的完整智能问答系统。 一、核心功能 1. 读取本地文档(TXT、DOCX 等) 2. RAG

Jenkins X + AI:重塑云原生时代的持续交付范式

Jenkins X + AI:重塑云原生时代的持续交付范式

目录 * 引言 * 一、Jenkins X核心架构解析 * 1.1 云原生设计哲学 * 1.2 智能流水线引擎 * 二、AI赋能的智能CI/CD功能矩阵 * 2.1 智能测试选择器 * 2.2 自适应部署策略 * 2.3 预测性资源优化 * 三、智能故障诊断系统 * 3.1 根因分析引擎 * 3.2 自愈流水线 * 四、AI增强的安全扫描 * 4.1 智能漏洞检测 * 4.2 合规性检查 * 五、未来展望:智能CI/CD平台演进 * 5.1 三层智能架构 * 5.2 颠覆性应用场景 * 六、