Skip to main content

A powerful, headless, web-first DLNA media control center and local player.

Project description

📺 Dollop Cast

一个轻量级、无头(Headless)的自动续播局域网流媒体控制中心

Python License GitHub Repo


📸 界面展示

使用模式:纯 Web 操控与追剧进度记忆 设置模式:设备扫描与连播全局设置
沙盒媒体资源网:直读本地及 WebDAV 挂载库 捷径控制中心:跨源流媒体即点即播

📖 简介

Dollop Cast 是一个现代化的私有影音流媒体投屏控制中心。它专为希望在多端无缝衔接观影记录的用户设计。不论是直接在网页端自建的本地播放器中观看,还是将流媒体/本地媒体推送到支持 DLNA/UPnP 的大屏智能电视上,Dollop Cast 都会智能记录播放历史并自动推进播放进度。

它采用标准化的 Python Package 后端架构结合纯 Web 渐进式前端面板(无需安装任何 GUI 客户端),可完美部署在 NAS、Raspberry Pi 或云端服务器中作为常驻自启服务。


✨ 核心特性

  • 🕸️ Headless 纯 Web 管理面板:告别累赘的系统托盘。所有设置、播放记录、快捷收藏、甚至本地文件的选择都能在手机或另一台电脑浏览器中打开精美的 Web 控制台完成。
  • 📺 双端无缝同步播放:面板左下角提供“设备投放”和“本地网页自播”一件切换!在网页上看了半集,切换到 DLNA 模式点击推送到大屏电视,播放进度无缝衔接。
  • 🤖 连播与智能“跳过片头和片尾”
    • 动态跳过配置:直接在 Web 的高级设置内输入“跳过片头秒数”和“跳过片尾秒数”。
    • 文件夹推流时,只要播放到了接近片尾的时间点,Dollop Cast 会立即为你无视等待、直接计算并推送下一集。
    • 新点开的视频将自动从你设置的“跳过片头秒数(如 20s)”定位切入点开始播放。
  • 🛡️ 内建流媒体代理:内置流媒体代理机制突破防盗链限制,针对复杂外部在线源也可稳定缓冲切割。
  • 📦 现代化部署标准:项目采用标准的 pyproject.toml 构建,配置与缓存分离到独立的 data/ 目录。

💡 高阶玩法推荐:配合 OpenWrt 与 AList 您可以在 OpenWrt 等软路由或软服务设备上运行 Dollop Cast,配合 AList 将网盘资源(如阿里云盘、百度网盘、115网盘等)通过 WebDAV 挂载到了本地路径。然后在 Dollop Cast 的网页端将该挂载目录设为“媒体根目录”。这样无需下载,即可在 Web 面板上轻松浏览云盘资源,一键推送至大屏电视观影,实现超轻量级的聚合影视中心拓扑!


🛠️ 安装指南

确保您的系统已安装 Python 3.8+。建议使用虚拟环境(venv)。

您可以通过 PyPI 直接安装该项目:

pip install dollop-cast

此命令将自动下载所有依赖并注册 dollop-cast 全局执行命令。


🚀 快速上手

1. 启动中心后端

安装完成后,在终端中随时随地输入短命令即可唤起中心服务器:

dollop-cast

你将看到类似如下输出:

=======================================
📺 Dollop Cast 影音控制中心已启动
🔗 管理地址: http://192.168.1.85:5000
=======================================

2. 访问 Web 控制台

在同一局域网下的手机或电脑浏览器中打开 http://<你的服务器IP>:5000

  • 模式切换:点击右上角⚙️图标进入设置,扫描 DLNA 电视设备。
  • 媒体根目录设定:配置你在本机存有视频的根目录,随后系统即可生成可视化的前端文件浏览器,一键推流播放!
  • 跳跃设定:设置你理想的自动越过片头/片尾秒数门槛。

3. 浏览器插件联动 (可选)

使用本项目的配套 Chromium/Edge 扩展,可直接提取并在电视上播放任意含优酷、B站等防盗链流媒体的外部网站视频:

  1. 在浏览器开启“开发者模式”扩展功能 (chrome://extensions);
  2. 选择“加载已解压的扩展程序”,指引并加载本项目下的 browser_extension/ 文件夹;
  3. 打开视频页面,点击插件图标即可一键投流至 Dollop Cast 后端!

📁 核心目录结构

Dollop-Cast/
├── pyproject.toml           # 现代打包与依赖的核心配置文件(Hatchling)
├── README.md                # 本文档
├── LICENSE                  # CC BY-NC-SA 4.0 开源授权协议
├── data/                    # (运行时自动生成) 存放配置、快捷方式、历史播放进度
├── src/
│   └── dollop_cast/         # Python 包源码
│       ├── __init__.py      
│       ├── main.py          # HTTP 后端、DLNA 抓包控制与 Jinja2 HTML 界面分发
│       └── stream_proxy.py  # 智能媒体代理层 (防盗链注入, 大文件 Range 支持)
└── browser_extension/       # 🚀 浏览器端流媒体嗅探与一键推流插件

让跨屏观影如丝般顺滑 🎉
版权所有 © 2026 Dollop Cast

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dollop_cast-0.1.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dollop_cast-0.1.1-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file dollop_cast-0.1.1.tar.gz.

File metadata

  • Download URL: dollop_cast-0.1.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dollop_cast-0.1.1.tar.gz
Algorithm Hash digest
SHA256 eef89f6161e877a7d7b9309c3b05263b8f867708d5db25c2c44f50e6959aca4c
MD5 b2ee4d34c7de7b7b32429c4bf84e07c6
BLAKE2b-256 7534567b85ce02db45d2262e8f212755b116edd843dafb7d3c0b995a18ca88ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for dollop_cast-0.1.1.tar.gz:

Publisher: python-publish.yml on kyle-meng/Dollop-Cast

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dollop_cast-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dollop_cast-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dollop_cast-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0de249a801f5a8a39a81a0b54df9b03237d98a036a1b1ece2873dc8baf879e71
MD5 149eee9852d11739d248730f3e966708
BLAKE2b-256 73d82f2d0466b47402b87c8bca8bbc8112860a822feda7954a1f08c3322df53e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dollop_cast-0.1.1-py3-none-any.whl:

Publisher: python-publish.yml on kyle-meng/Dollop-Cast

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page