Skip to main content
Glama

Shaka Packager MCP Server

by coderjun

Shaka 打包器 MCP 服务器

⚠️实验状态免责声明

该项目处于早期 Alpha 阶段,高度实验性。不建议用于生产环境。而且它很可能比较混乱!

目前的局限性:

  • 你可能会遇到不一致的行为
  • 高级功能(打包、转换等)仍在积极开发中
  • Docker 和主机环境之间的路径转换可能需要手动配置
  • 预计频繁的重大变化和潜在的不稳定性

请报告您遇到的任何问题以帮助改进项目。

一个 MCP(模型上下文协议)服务器,将Shaka Packager与 Claude AI 应用程序集成,用于视频转码、打包和分析。

该服务器与文件系统 MCP 服务器配合使用,使 Claude Desktop 能够访问和处理您计算机上的视频文件,使 Claude 成为媒体处理任务的强大助手。

特征

  • 视频分析:分析视频文件以提取详细的流信息、编解码器、比特率等
  • 媒体打包:将视频转换为 HLS 和 DASH 格式的流媒体,支持 VOD 和直播
  • 高级选项
    • 应用 DRM 加密(Widevine、PlayReady、FairPlay)
    • 配置广告插入标记
    • 在格式之间转换(MP4、TS 等)
  • 智能路径处理:自动转换 Docker 和主机环境之间的路径
  • 强大的错误管理:提供有意义的错误分析和解决建议
  • 命令协助:帮助正确格式化 Shaka Packager 命令以获得最佳结果
  • 交互式文档:内置帮助和示例,指导用户完成复杂的操作
  • 详细输出:所有操作的综合摘要和执行细节

先决条件

  • Python 3.10 或更高版本
  • Shaka Packager 已安装并可在您的 PATH 中使用
  • 与 MCP 兼容的客户端(例如 Claude Desktop)

安装

使用 pip 或 uv(即将推出)

使用 pip 安装包:

pip install shaka-packager-mcp

或者使用 uv:

uv pip install shaka-packager-mcp

来自源(推荐)

git clone https://github.com/coderjun/shaka-packager-mcp.git cd shaka-packager-mcp pip install -e .

或者使用 uv:

git clone https://github.com/coderjun/shaka-packager-mcp.git cd shaka-packager-mcp uv pip install -e .

Claude 桌面集成

由于 Claude Desktop 不直接支持上传视频文件,我们将使用双服务器方法:

  1. 简化的**文件系统 MCP 服务器,**用于访问计算机上的视频文件
  2. Shaka Packager MCP 服务器用于分析和处理这些视频

步骤 1:设置 MCP 文件系统服务器

使用官方 MCP 文件系统服务器允许 Claude 访问您的视频文件:

  1. 使用 Docker 安装官方文件系统服务器:
    docker pull mcp/filesystem
  2. 或者,您可以按照Filesystem MCP Server 存储库中的说明从源代码构建它

第 2 步:查找配置文件

找到您的 Claude Desktop 配置文件:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows%APPDATA%\Claude\claude_desktop_config.json

如果该文件不存在,则创建它。

步骤 3:将两个服务器添加到配置中

添加以下配置,确保使用绝对路径:

{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/PATH/TO/VIDEOS/DIRECTORY,dst=/projects/video-drop", "mcp/filesystem", "/projects" ] }, "shaka-packager": { "command": "/ABSOLUTE/PATH/TO/uv", "args": [ "run", "--with", "mcp[cli]", "/ABSOLUTE/PATH/TO/shaka_packager_mcp.py" ], "env": { "VIDEO_PATH": "/PATH/TO/VIDEOS/DIRECTORY", "SHAKA_PACKAGER_PATH": "/PATH/TO/PACKAGER" } } } }

代替:

  • /PATH/TO/VIDEOS/DIRECTORY包含视频文件的目录路径
  • /ABSOLUTE/PATH/TO/uv为您的 uv 可执行文件的完整路径
  • /ABSOLUTE/PATH/TO/shaka_packager_mcp.py以及脚本文件的完整路径
  • /PATH/TO/PACKAGER包含 Shaka Packager 可执行文件的完整路径

例如:

{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/Users/username/Videos,dst=/projects/video-drop", "mcp/filesystem", "/projects" ] }, "shaka-packager": { "command": "/Users/username/.local/bin/uv", "args": [ "run", "--with", "mcp[cli]", "/Users/username/Development/shaka-packager-mcp/shaka_packager_mcp.py" ], "env": { "VIDEO_PATH": "/Users/username/Videos", "SHAKA_PACKAGER_PATH": "/Users/username/.shaka/packager" } } } }

步骤4:重启Claude Desktop

编辑配置文件后,重新启动 Claude Desktop 以应用更改。

如何使用双服务器方法

  1. 首先,使用简化的文件系统服务器浏览您的视频文件:
    • 要求 Claude“列出我的视频目录中的文件”
    • 导航到您想要分析或处理的视频文件
  2. 找到视频文件后,请使用 Shaka Packager 工具的路径:
    • 用于分析:“请分析此视频:/Users/username/Videos/example.mp4”
    • 处理:“请将此视频打包用于 HLS:/Users/username/Videos/example.mp4”

故障排除

如果您遇到任何问题:

  1. 确保两个服务器都正确配置了绝对路径
  2. 验证 Shaka Packager 是否已安装并可访问
  3. 确保为文件系统服务器指定的目录存在且包含视频
  4. 检查 Claude Desktop 日志中的错误:
    • macOS: ~/Library/Logs/Claude/mcp*.log
    • Windows: %APPDATA%\Claude\logs\mcp*.log

用法

一旦 Filesystem MCP 服务器和 Shaka Packager MCP 服务器都在 Claude Desktop 中运行:

  1. 访问您的视频文件
    Please show me the files in my Videos directory
  2. 导航到您的视频文件
    Please show me the files in the Movies subdirectory
  3. 复制要处理的视频的 file:// URI 路径
  4. 使用 Shaka Packager 工具和文件路径
    Please analyze this video: file:///Users/username/Videos/my_video.mp4
    或者
    Please package this video for HLS and DASH streaming: file:///Users/username/Videos/my_video.mp4
  5. 服务器将执行适当的 Shaka Packager 命令并提供详细的结果摘要

如果您知道视频文件的确切位置,您也可以使用直接文件路径:

Please analyze this video: /Users/username/Videos/my_video.mp4

工具

服务器提供以下工具:

  1. analyze_video :检查视频文件并提供详细的流信息以及智能错误处理
  2. run_shaka_packager :使用自定义参数和适当的路径处理执行任何 Shaka Packager 命令
  3. get_shaka_options :检索可用的命令选项和版本信息
  4. get_shaka_documentation :提供使用 Shaka Packager 的全面文档和示例

提示

服务器包含以下提示模板:

  • MP4 到 TS 转换
  • HLS 和 DASH 中的 VOD 打包
  • 直播包装
  • 内容加密
  • 广告插入准备
  • 视频分析
  • 命令格式提醒
  • 错误解释指导

配置

可以使用环境变量来配置服务器:

  • SHAKA_PACKAGER_PATH :Shaka Packager 可执行文件的路径(强烈推荐用于 Claude Desktop)
  • VIDEO_PATH :本地视频目录的路径(用于在 Docker 和主机之间转换路径)
  • DOCKER_PATH :Docker 容器挂载路径(默认值:“/projects/video-drop”)
  • TEMP_DIR :文件上传的自定义临时目录
  • LOG_LEVEL :日志级别(DEBUG、INFO、WARNING、ERROR、CRITICAL)
  • COMMAND_TIMEOUT :Shaka Packager 命令的超时时间(秒)(默认值:300)

您可以在以下位置设置这些:

  1. 您的 Claude Desktop 配置文件( SHAKA_PACKAGER_PATHVIDEO_PATH为首选)
  2. 您的环境变量
  3. 与脚本位于同一目录中的.env文件

示例.env文件:

SHAKA_PACKAGER_PATH=/usr/local/bin/packager VIDEO_PATH=/Users/yourusername/Videos LOG_LEVEL=DEBUG

发展

设置开发环境

# Clone the repository git clone https://github.com/coderjun/shaka-packager-mcp.git cd shaka-packager-mcp # Install development dependencies with pip pip install -e ".[dev]" # Or with uv uv pip install -e ".[dev]"

运行测试

pytest

代码格式化

black . isort .

理解代码结构

Shaka Packager MCP 服务器的主要组件包括:

  • shaka_packager_mcp.py :使用 MCP 工具和提示的主服务器实现
  • tests/ :用于验证功能的测试套件

该服务器旨在与官方 MCP 文件系统服务器配合使用以访问视频文件。

实施中的关键特性

  • 强大的路径处理:自动转换 Docker 和主机环境之间的路径
  • 智能错误处理:提供有意义的错误消息和建议
  • 命令语法帮助:帮助正确格式化 Shaka Packager 命令
  • 文档集成:提供全面的文档和示例

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

获取帮助

请随意使用 AI 代码副驾驶,作者就是这样做的。

如果您遇到任何问题或有疑问:

  1. 查看本自述文件中的故障排除部分
  2. 查看Shaka Packager 文档
  3. 使用get_shaka_documentation工具在 Claude 中获取交互式帮助
  4. 在 GitHub 上打开一个问题

致谢

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

MCP 服务器将 Shaka Packager 与 Claude AI 应用程序相集成,使 Claude 能够分析、转码和打包视频文件,以便以 HLS 和 DASH 等格式进行流式传输。

  1. 特征
    1. 先决条件
      1. 安装
        1. 使用 pip 或 uv(即将推出)
        2. 来自源(推荐)
      2. Claude 桌面集成
        1. 步骤 1:设置 MCP 文件系统服务器
        2. 第 2 步:查找配置文件
        3. 步骤 3:将两个服务器添加到配置中
        4. 步骤4:重启Claude Desktop
        5. 如何使用双服务器方法
        6. 故障排除
      3. 用法
        1. 工具
          1. 提示
            1. 配置
              1. 发展
                1. 设置开发环境
                2. 运行测试
                3. 代码格式化
                4. 理解代码结构
                5. 实施中的关键特性
              2. 执照
                1. 获取帮助
                  1. 致谢

                    Related MCP Servers

                    • -
                      security
                      F
                      license
                      -
                      quality
                      An MCP server that allows Claude AI to perform filesystem operations including reading, writing, listing, moving files, and searching directories within specified allowed paths.
                      Last updated -
                      5
                      1
                      JavaScript
                    • -
                      security
                      A
                      license
                      -
                      quality
                      A MCP Server for TikTok videos that allows you to get video subtitles and post details, such as the number of likes, hashtags, and publishing time.
                      Last updated -
                      54
                      31
                      JavaScript
                      MIT License
                    • -
                      security
                      A
                      license
                      -
                      quality
                      An MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.
                      Last updated -
                      171
                      Python
                      MIT License
                      • Apple
                      • Linux
                    • -
                      security
                      -
                      license
                      -
                      quality
                      A lightweight server that exposes FFmpeg's video processing capabilities to AI assistants through the Model Context Protocol (MCP), supporting operations like video format conversion, audio extraction, and adding watermarks.
                      Last updated -
                      9
                      TypeScript
                      MIT License

                    View all related MCP servers

                    MCP directory API

                    We provide all the information about MCP servers via our MCP API.

                    curl -X GET 'https://glama.ai/api/mcp/v1/servers/coderjun/shaka-packager-mcp-server'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server