看剧的时候想离线下载,但官方又不提供下载功能,这事儿挺让人头疼的。市面上的下载工具要么功能有限,要么用起来复杂,要么只支持特定平台。想下载个电影或者动漫,往往得折腾好几个工具才能搞定。
最近在GitHub上发现了一个叫StreamingCommunity的开源项目,这玩意儿真的挺实用的。
简单说,它就是一个万能的流媒体下载工具,支持电影、电视剧、动漫等多种内容。最重要的是,它支持30多个流媒体网站,基本上覆盖了主流平台。

01 项目简介
StreamingCommunity是开发者Arrowar推出的一款流媒体内容下载工具,核心功能是从在线播放源抓取并下载电影、电视剧和动漫。

这工具跟普通下载器最大的区别在于它的通用性。不像有些工具只能下载特定网站的内容,StreamingCommunity支持多种流媒体协议和格式,基本上是目前最全面的流媒体下载方案之一。
技术实现上,项目采用Python开发,基于PyPI发布,安装使用都非常简单。它通过解析各流媒体网站的播放接口,获取视频流地址,然后支持多种下载方式。
核心下载支持:
- HLS:HTTP Live Streaming (m3u8格式),这是目前最主流的流媒体协议
- DASH:MPEG-DASH协议,支持DRM绕过(需要合法的L3 CDM模块)
平台支持:
项目跨平台支持,Windows、macOS、Linux都能用,而且提供了Docker镜像,部署起来很方便。
主要功能亮点:
- 全球搜索:支持同时搜索多个流媒体网站,一键找到想要的内容
02 如何使用
StreamingCommunity提供了多种安装和使用方式,最简单的是直接通过PyPI安装。
第一步:快速安装
如果你已经安装了Python和pip,一条命令就能搞定:
pip install StreamingCommunity
安装完成后,直接运行:
StreamingCommunity
或者手动克隆项目:
git clone https://github.com/Arrowar/StreamingCommunity.gitcd StreamingCommunitypip install -r requirements.txtpython test_run.py
第二步:基本配置
项目使用config.json文件进行配置,最重要的几个配置项是输出目录和下载设置。
{"OUT_FOLDER": {"root_path": "Video","movie_folder_name": "Movie","serie_folder_name": "Serie","anime_folder_name": "Anime","map_episode_name": "%(episode_name) S%(season)E%(episode)" }}
这个配置会自动把下载的内容分类到不同文件夹,剧集还会自动按剧名 S01E01的格式命名。
第三步:搜索和下载
最基础的用法是搜索并下载:
# 搜索内容python test_run.py --site streamingcommunity --search "interstellar"# 自动下载第一个结果python test_run.py --site streamingcommunity --search "interstellar" --auto-first# 全局搜索多个网站python test_run.py --global -s "cars"
第四步:高级配置
对于有特殊需求的用户,项目提供了丰富的配置选项。
画质选择:
"select_video": "res=.*1080.*:for=best"
这会自动选择1080p画质的视频。你也可以指定4K:
"select_video": "res=3840*:codecs=hvc1:for=best"
音轨和字幕:
"select_audio": "lang='ita|Ita':for=all""select_subtitle": "lang='ita|eng|Ita|Eng':for=all"
这会下载所有意大利语音轨和意大利语、英语字幕。
下载速度控制:
"max_speed": "30MB"
可以限制每秒下载速度,避免占用过多带宽。
03 实战技巧
StreamingCommunity还有一些高级功能,用好了能让下载体验更爽。
Hook系统
这功能允许你在下载前后自动执行自定义脚本,特别适合自动化工作流:
"HOOKS": {"pre_run": [ {"name": "prepare-env","type": "python","path": "scripts/prepare.py","args": ["--clean"],"enabled": true } ],"post_run": [ {"name": "notify","type": "bash","command": "echo 'Download completed'" } ]}
比如你可以在下载完成后自动发送通知,或者自动整理到NAS。
Docker部署
如果你不喜欢配置Python环境,Docker是最简单的方式:
# 构建镜像docker build -t streaming-community-api .# 运行容器docker run -d --name streaming-community --dns 1.1.1.1 -p 8000:8000 streaming-community-api# 自定义存储位置docker run -d --dns 9.9.9.9 -p 8000:8000 -v /your/path:/app/Video streaming-community-api
按类别搜索
项目支持按类别搜索,方便快速找到想要的内容:
# 只搜动漫python test_run.py --category 1# 只搜电影和剧集python test_run.py --category 2# 只搜剧集python test_run.py --category 3
场景举例:
点击下部卡片
这个公众号历史发布过很多宝藏有趣的开源项目,如果你懒得在文章一个个找,你直接keep住微信公众号:赛伦盖蒂大草原,每天等待推送即可。