Skip to main content

全网短视频/图集去水印链接提取、视频文本内容提取MCP服务

Project description

全网短视频去水印链接提取 MCP服务

项目简介

本项目是一个基于 FastMCP 的全网短视频去水印解析服务,支持多平台视频分享链接的解析,自动提取视频真实地址及相关信息。
适用于需要批量解析、去水印、采集短视频的场景。本项目还支持视频内容文本提取功能,可以通过语音识别将视频内容转为文本。

PyPI version

主要特性

  • 支持20+种短视频平台(抖音、快手、小红书、微博、西瓜视频等)
  • 一键解析视频分享链接,获取无水印视频地址
  • 支持多种传输方式(stdio、SSE、HTTP)
  • 支持视频内容文本提取功能(需要FFmpeg和API Key、默认使用硅基流动:https://cloud.siliconflow.cn/i/tbvUltCF
  • 支持Docker容器化部署
  • 代码结构清晰,易于扩展

演示

image image

支持平台

目前支持以下短视频平台的解析:

  • 抖音(DouYin)
  • 快手(KuaiShou)
  • 小红书(RedBook)
  • 微博(WeiBo)
  • 皮皮虾(PiPiXia)
  • 微视(WeiShi)
  • 绿洲(LvZhou)
  • 最右(ZuiYou)
  • 度小视/全民小视频(QuanMin)
  • 西瓜视频(XiGua)
  • 梨视频(LiShiPin)
  • 皮皮搞笑(PiPiGaoXiao)
  • 虎牙(HuYa)
  • AcFun(AcFun)
  • 逗拍(DouPai)
  • 美拍(MeiPai)
  • 全民K歌(QuanMinKGe)
  • 六间房(SixRoom)
  • 新片场(XinPianChang)
  • 好看视频(HaoKan)

目录结构

crawling-short-video-mcp/
├── yby6_video_mcp_server/
│   ├── server.py                # 主服务入口
│   ├── functionality/           # 各平台解析功能模块
│   │   ├── base.py             # 基础类和枚举定义
│   │   ├── douyin.py           # 抖音解析实现
│   │   ├── kuaishou.py         # 快手解析实现
│   │   ├── ...                 # 其他平台实现
│   │   └── video_processor.py  # 视频处理和文本提取
│   └── utils/                   # 工具函数
├── Dockerfile.base              # 基础镜像构建文件
├── Dockerfile.mcp               # MCP服务镜像构建文件
├── requirements.txt             # 依赖包列表
├── pyproject.toml              # 项目配置和元数据
└── README.md                    # 项目说明

安装方法

前置依赖

FFmpeg 安装(视频文本内容提取必需)

Ubuntu/Debian:

sudo apt update
sudo apt install ffmpeg

CentOS/RHEL:

sudo yum install epel-release
sudo yum install ffmpeg ffmpeg-devel

macOS:

brew install ffmpeg

Windows:

  1. 下载 FFmpeg: https://ffmpeg.org/download.html#build-windows
  2. 解压到指定目录,如 C:\ffmpeg
  3. 添加到系统环境变量 PATH: C:\ffmpeg\bin
  4. 重启命令行或系统以使环境变量生效

验证安装:

ffmpeg -version

方法一:pypi 使用 pip 安装 (可能版本落后,没有及时更新)

当前最新版本: PyPI version

# 安装最新版本
pip install -i https://pypi.org/simple yby6-video-mcp-server

# 或指定版本安装
pip install -i https://pypi.org/simple yby6-video-mcp-server==1.0.2

安装完成后,可以通过以下命令验证安装:

yby6_video_mcp_server --version

MCP 配置使用

"yby6_video_mcp_server": {
  "command": "uv",
  "args": ["yby6_video_mcp_server"],
  "env": {
    "API_KEY": "前往获取免费apikey: https://cloud.siliconflow.cn/i/tbvUltCF"
  }
}

方法二:从源码安装 (推荐 最新版本)

  1. 克隆本项目

    git clone https://github.com/yangbuyiya/yby6-crawling-short-video-mcp.git
    cd yby6-crawling-short-video-mcp
    
  2. 安装依赖

    推荐使用 Python 3.10+,并建议使用虚拟环境:

    macOS/Linux:

    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    

    Windows:

    python -m venv venv
    venv\Scripts\activate
    pip install -r requirements.txt
    

方法三:使用 Docker 部署

本项目提供了 Docker 支持, 快速部署运行

  1. 运行容器 拉取镜像 sse 模式

    docker run -d -p 8637:8637 registry.cn-hangzhou.aliyuncs.com/yby6/yby6_video_mcp_server:1.0.2
    

可以通过以下命令快速构建部署:

  1. 构建基础镜像(包含 FFmpeg 和 Python 环境)

    docker build -t ffmpeg-python-base:1.0.2 -f Dockerfile.base .
    
  2. 构建 MCP 服务镜像

    docker build -t yby6-video-mcp:latest -f Dockerfile.mcp .
    
  3. 运行容器

    docker run -d -p 8637:8637 yby6-video-mcp:latest
    

使用方法

stdio MCP启动服务

//  pypi 拉取运行 
"yby6_video_mcp_server": {
  "command": "uv",
  "args": ["yby6_video_mcp_server"],
  "env": {
    "API_KEY": "sk-xcazqbgbnoagddpyaorhqhioxazvqdtednppksiqaotjsboe"
  }
},

// 从源码运行
"yby6_video_mcp_server": {
  "command": "uv",
  "args": [
    "--directory",
    "to/path/yby6-crawling-short-video-mcp/yby6_video_mcp_server",
    "run",
    "-m",
    "yby6_video_mcp_server.server"
  ],
  "env": {
    "API_KEY": "sk-xcazqbgbnoagddpyaorhqhioxazvqdtednppksiqaotjsboe"
  }
},

SSE or HTTP MCP服务地址

  • 支持请求头配置apikey
  • 支持请求参数配置apikey
"yby6_video_mcp_server": {
  "url": "http://127.0.0.1:8637/sse?apikey=xxxxxx",
}

启动服务

# 使用pip安装后
yby6_video_mcp_server --transport http --host 0.0.0.0 --port 8637

# 或从源码运行
python -m yby6_video_mcp_server.server --transport http --host 0.0.0.0 --port 8637

参数说明:

  • --transport 传输方式,可选:stdiossehttp(推荐 http)
  • --host 主机地址,默认 0.0.0.0
  • --port 端口号,默认 8000
  • --path 自定义MCP请求路径(可选)

API 接口说明

1. 解析视频分享链接

接口名称: share_url_parse_tool

请求参数:

参数名 类型 必填 说明
url string 视频分享链接

返回示例:

{
  "code": 200,
  "msg": "解析成功",
  "data": {
    "video_url": "https://xxx.com/xxx.mp4",
    "cover_url": "https://xxx.com/cover.jpg",
    "title": "视频标题",
    "music_url": "https://xxx.com/music.mp3",
    "images": [],
    "author": {
      "uid": "用户ID",
      "name": "用户名",
      "avatar": "头像URL"
    }
  }
}

2. 根据视频ID解析

接口名称: video_id_parse_tool

请求参数:

参数名 类型 必填 说明
source string 视频来源,如 douyin、kuaishou 等
video_id string 视频ID

返回示例: 同上

3. 视频内容文本提取

接口名称: share_text_parse_tool

请求参数:

参数名 类型 必填 说明
share_link string 抖音分享链接或包含链接的文本
api_base_url string API基础URL,默认使用SiliconFlow
model string 语音识别模型,默认使用SenseVoiceSmall

链接 sse、Streamable HTTP模式的时候只需要将 apikey 带入请求参数当中: http://127.0.0.1:8637/sse?apikey=xxxxxx 使用的大模型是硅基流动前往获取apikey即可:https://cloud.siliconflow.cn/i/tbvUltCF

返回示例:

{
  "code": 200,
  "msg": "解析成功",
  "data": {
    "video_url": "https://xxx.com/xxx.mp4",
    "cover_url": "https://xxx.com/cover.jpg",
    "title": "视频标题",
    "author": {
      "uid": "用户ID",
      "name": "用户名",
      "avatar": "头像URL"
    }
  },
  "text_content": "视频中的语音文本内容"
}

依赖说明

主要依赖包括:

  • fastmcp: MCP服务框架
  • httpx: 异步HTTP客户端
  • ffmpeg-python: 视频处理
  • lxml & parsel: HTML解析
  • fake-useragent: 模拟浏览器请求
  • pydantic: 数据验证

Docker 部署

项目提供了两个Dockerfile:

  • Dockerfile.base: 构建基础镜像,包含Python环境和FFmpeg
  • Dockerfile.mcp: 构建MCP服务镜像

使用脚本快速部署:

# Windows
.\script\deployBase.bat
.\script\deployMcp.bat

# Linux/macOS
bash script/deployBase.sh
bash script/deployMcp.sh

运行容器 拉取镜像 sse 模式

docker run -d -p 8637:8637 registry.cn-hangzhou.aliyuncs.com/yby6/yby6_video_mcp_server:1.0.2

贡献与反馈

欢迎提交 issue 或 PR 参与项目改进!


本项目站在巨人的肩膀上二次开发,感谢以下项目:

⚠️ 免责声明

  1. 本项目为开源工具,仅供学习与研究用途。用户在使用本项目过程中产生的任何风险、损失或法律责任,均由用户本人承担,作者及贡献者不承担任何直接或间接责任。
  2. 本项目的功能和代码基于现有技术实现,作者不承诺其完全正确、无缺陷或持续可用。因项目缺陷或不可用导致的任何后果,作者概不负责。
  3. 本项目依赖的第三方库、插件或服务,均遵循其原有协议。用户需自行查阅、遵守相关协议,因违反第三方协议产生的责任由用户自负。
  4. 用户应确保自身的使用行为合法、合规,不得利用本项目从事任何违法、违规或侵犯他人权益的活动。因违法违规使用本项目产生的后果,均由用户自行承担。
  5. 严禁将本项目用于侵犯知识产权、传播违法信息、商业破解、数据爬取等非法用途。作者坚决反对并不支持任何非法用途。
  6. 用户在处理数据时,应确保符合相关法律法规(如数据合规、隐私保护等),因违规操作产生的责任由用户承担。
  7. 作者、贡献者与用户的具体使用行为无关,不承担任何连带责任。基于本项目的二次开发、修改、分发等行为,均与作者无关,相关责任由行为人自负。
  8. 本项目不授予任何专利许可。因专利纠纷或侵权产生的风险由用户承担。未经作者书面授权,禁止将本项目用于商业宣传、再授权或其他商业用途。
  9. 作者有权随时终止对违规用户的服务,并要求其删除相关代码和数据。
  10. 作者有权随时更新本免责声明,用户继续使用即视为接受最新条款。如不同意本声明,请立即停止使用本项目。

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

yby6_video_mcp_server-1.0.2.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

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

yby6_video_mcp_server-1.0.2-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file yby6_video_mcp_server-1.0.2.tar.gz.

File metadata

  • Download URL: yby6_video_mcp_server-1.0.2.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for yby6_video_mcp_server-1.0.2.tar.gz
Algorithm Hash digest
SHA256 da2523b59c34046cc94778170686f11048c5521f1f4023bbe2dfe84149bdda79
MD5 fd5cece1172298920fbe3de95b787d88
BLAKE2b-256 7b2dc31db862fb80a8cd72e2f4c44d4e5a22b2d47ae05261598826cd9d24d562

See more details on using hashes here.

File details

Details for the file yby6_video_mcp_server-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for yby6_video_mcp_server-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe7e0f2b401b8aa03c3d0866c8140cc9783117ec3e39cb5772d75b4ffd44ab1d
MD5 fe664d7f413f0f985c3337ccc83dc8f5
BLAKE2b-256 32e5f2d4b20578dfa885ad782e6f134c12cf49e9040454f411ee3026b51343b0

See more details on using hashes here.

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