在线视频播放器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

吃透 AM32 无人机电调:从源码架构到工作原理的全方位解析(附实践指南)(上)

开篇:为什么要深度剖析 AM32 电调? 作为多旋翼无人机的 “动力心脏”,电调(电子调速器)的性能直接决定了无人机的飞行稳定性、响应速度和续航能力。而 AM32 系列电调凭借开源性、高性价比、适配性强三大优势,成为了开源无人机社区的热门选择 —— 从入门级的 2204 电机到专业级的 2306 电机,从 3S 锂电池到 6S 高压电池,AM32 都能稳定驱动。 但很多开发者和爱好者在接触 AM32 源码时,常会陷入 “看得懂代码,看不懂逻辑” 的困境:为什么 FOC 算法要做坐标变换?DShot 协议的脉冲怎么解析?保护机制是如何实时触发的? 这篇博客将从硬件基础→源码架构→模块解析→工作原理→实践操作五个维度,逐行拆解 AM32 电调固件源码,帮你彻底搞懂

学习FPGA(八)快速傅里叶变换

前言         傅里叶变换能通过将信号的时域变换到信号的频域,因为在频域中,系统的响应就等于信号与系统传函的频域上相乘(时域上是卷积),相比于直接在时域里做卷积,先进行傅里叶变换,再在频域上相乘,最后通过逆傅里叶变换反变换回来的步骤看似更长更复杂,但在工程技术上却相对容易实现。         传统的傅里叶变换属于工程数学范畴,主要针对连续时间信号进行时域-频域的变换。而从工程技术的角度来看,人们不可能做到对信号进行连续时间的采样,因此离散傅里叶变换(DFT)也就在这种情况下诞生了。时间久了以后,人们发现DFT的算法时间复杂度太高了,优化DFT的迫在眉睫,快速傅里叶变换(FFT)的出现使原本时间复杂度o(n^2)的DFT直接降到了o(nlogn)。         以上算是FFT的极简版背景故事,具体如何发展如何变换的,数字信号处理相关课程一定有讲,这里就暂时不细讲了,这里还是主要以FPGA中实现快速傅里叶变换为主。         由于我仅在FPGA上实现FFT对信号进行时域-频域的变换,并做到了基波频率的采集,目前尚未如之前的一些历程那样试过其他的方案,因此本文不能给

YOLO+OpenClaw+SAM微调实战:工业缺陷自动标注的低代码落地

YOLO+OpenClaw+SAM微调实战:工业缺陷自动标注的低代码落地

YOLO+OpenClaw+SAM微调实战:工业缺陷自动标注的低代码落地 不能实时,不代表不能用。微调SAM+云端部署,让工业标注从“人工描边”变“一键验收”。 大家好,我是AI小怪兽。上周有位做PCB质检的读者发来一段视频:标注员正对着一块电路板缺陷图,用鼠标一点点勾勒划痕的边界,一张图花了8分钟。他说:“YOLO能框,但框不准;SAM能分割,但通用模型到我们产线就水土不服。有没有办法让标注员少点鼠标?” 当然有。今天我就结合工业缺陷检测场景,展示一套低代码落地路径:YOLO粗定位 + 微调SAM精分割 + OpenClaw自动调度,让标注员从“动手画”变成“动口验收”。 一、工业自动标注的三道坎 坎1:OpenClaw无法实时推理 OpenClaw从接收指令到调用模型返回结果,5秒以上是常态。产线上的产品不可能等5秒,但标注任务可以——把数千张图丢给AI,让它半夜慢慢跑,员工早上来验收结果,不香吗? 坎2:边缘端算力要求大,且存在安全风险 OpenClaw调用大模型需要至少8GB显存,