Pinchflat
一款自托管的 YouTube 媒体下载管理器,自动抓取频道更新并提供友好的 Web 界面,支持 Plex 等媒体中心。
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
一键订阅频道,自动下载 YouTube 视频并整理进媒体库。
核心功能
- 单 Docker 容器部署,无外部依赖
- 强大的命名规则:自定义文件存储位置和格式
- 自动检测并下载新内容,周期可调
- 支持仅下载音频,方便播客管理
- 内置 RSS 订阅源,可用于播客客户端
避坑指南
- •Pinchflat 不提供视频播放功能,需配合 Plex/Jellyfin/VLC 等播放器;首次使用需注意挂载目录权限:Docker 容器内用户需对目录有写权限;若使用网络存储(NAS/NFS),建议将配置存放在本地磁盘避免 I/O 问题;反向代理需额外配置 WebSocket 或 API 路径。
适用场景
- 将 YouTube 教学频道或 Vlog 归档到本地媒体服务器
- 定期下载播客类频道并导入播客 App 离线收听
- 备份自己喜欢的 YouTube 播放列表到本地
详细介绍
Pinchflat 是一个基于 yt-dlp 的自托管 YouTube 下载管理器。你只需设置频道或播放列表的下载规则,Pinchflat 就会定期检查新视频,自动下载并按照你设定的命名规则整理到本地磁盘。它运行在单个 Docker 容器中,无需任何外部依赖,自带简洁的 Web 界面。支持仅下载音频、处理 Shorts 和直播、集成 SponsorBlock、自动重下以获取更高画质、定时删除旧媒体、为播客应用提供 RSS 订阅,以及高级自定义 yt-dlp 参数。非常适合把 YouTube 内容归档到 Plex、Jellyfin 或 Kodi 等媒体中心使用。
常见问题与排障 (1)
故障排除为什么Pinchflat对于非YouTube源,会使用源文件名而不是视频标题来保存下载的文件?
Pinchflat 在非YouTube下载中错误地将源文件名用作输出路径模板中的title变量。作为临时解决方案,请手动使用所需输出模板运行yt-dlp,例如:yt-dlp <url> --output "/downloads/path/%(title)s.%(ext)s"。请关注问题 #846 以获取永久修复的发布信息。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
步骤1:确保已安装 Docker,拉取镜像:docker pull ghcr.io/kieraneglin/pinchflat:latest
步骤2:创建本地目录(如 /data/pinchflat/config 和 /data/pinchflat/downloads)并给予写权限
步骤3:运行容器,映射端口 8945,挂载两个目录,设置时区:docker run -d -p 8945:8945 -v /data/pinchflat/config:/config -v /data/pinchflat/downloads:/downloads -e TZ=Asia/Shanghai ghcr.io/kieraneglin/pinchflat:latest
- 步骤1:确保已安装 Docker,拉取镜像:docker pull ghcr.io/kieraneglin/pinchflat:latest
- 步骤2:创建本地目录(如 /data/pinchflat/config 和 /data/pinchflat/downloads)并给予写权限
- 步骤3:运行容器,映射端口 8945,挂载两个目录,设置时区:docker run -d -p 8945:8945 -v /data/pinchflat/config:/config -v /data/pinchflat/downloads:/downloads -e TZ=Asia/Shanghai ghcr.io/kieraneglin/pinchflat:latest
暂未获取到校验码
该项目暂未在 GitHub Release 页面提供 SHA-256 校验码
SHA256 校验码
暂无校验码
建议从 GitHub Releases 页面直接下载,并自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
停止并删除容器:docker stop pinchflat && docker rm pinchflat。可删除本地映射的 config 和 downloads 目录清理所有数据。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
1 FAQ