<a href="https://glama.ai/mcp/servers/@coderjun/shaka-packager-mcp-server"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=3070397460,2295706959&fm=3081&app=3081&f=PNG?w=760&h=200" alt="Shaka Packager Server MCP 服务器" /> </a>⚠️ 实验性状态免责声明
该项目处于早期Alpha阶段,并且高度实验性。不建议在生产环境中使用。它也可能非常混乱!
当前限制:
- 您可能会遇到不一致的行为
- 高级功能(打包、转换等)仍在积极开发中
- Docker与主机环境之间的路径转换可能需要手动配置
- 预期频繁出现破坏性更改和潜在的不稳定
如果您遇到任何问题,请报告以帮助改进项目。
一个集成 Shaka Packager 的 MCP(模型上下文协议)服务器,用于与 Claude AI 应用程序进行视频转码、打包和分析。
此服务器与 Filesystem MCP 服务器配合工作,使 Claude Desktop 能够访问并处理计算机上的视频文件,从而将 Claude 转变为强大的媒体处理助手。
通过 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 Desktop 不直接支持上传视频文件,我们将采用两台服务器的方法:
使用官方 MCP 文件系统服务器允许 Claude 访问您的视频文件:
使用 Docker 安装官方文件系统服务器:
docker pull mcp/filesystem
或者,您可以按照 Filesystem MCP 服务器仓库中的说明从源代码构建
定位您的 Claude Desktop 配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json如果文件不存在,请创建它。
添加以下配置,确保使用绝对路径:
{
"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"
}
}
}
}
编辑配置文件后,重启 Claude Desktop 以应用更改。
首先,使用简化的文件系统服务器浏览您的视频文件:
找到您的视频文件后,使用其路径与 Shaka Packager 工具一起使用:
如果您遇到任何问题:
~/Library/Logs/Claude/mcp*.log一旦 Filesystem MCP 服务器和 Shaka Packager MCP 服务器都在 Claude Desktop 上运行:
访问您的视频文件:
请显示我视频目录中的文件
导航到您的视频文件:
请显示电影子目录中的文件
复制您想要处理的视频的 file:// URI 路径
使用文件路径与 Shaka Packager 工具一起使用:
请分析这个视频:file:///Users/username/Videos/my_video.mp4
或
请将这个视频打包为 HLS 和 DASH 流媒体:file:///Users/username/Videos/my_video.mp4
服务器将执行适当的 Shaka Packager 命令并提供结果的详细摘要
如果您知道视频文件的确切位置,也可以使用直接文件路径:
请分析这个视频:/Users/username/Videos/my_video.mp4
该服务器提供了以下工具:
服务器包括以下提示模板:
服务器可以通过环境变量进行配置:
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)您可以在以下位置设置这些变量:
SHAKA_PACKAGER_PATH 和 VIDEO_PATH).env 文件示例 .env 文件:
SHAKA_PACKAGER_PATH=/usr/local/bin/packager
VIDEO_PATH=/Users/yourusername/Videos
LOG_LEVEL=DEBUG
# 克隆仓库
git clone https://github.com/coderjun/shaka-packager-mcp.git
cd shaka-packager-mcp
# 使用 pip 安装开发依赖项
pip install -e ".[dev]"
# 或使用 uv
uv pip install -e ".[dev]"
pytest
black .
isort .
Shaka Packager MCP 服务器的主要组件是:
shaka_packager_mcp.py:主要服务器实现,包含 MCP 工具和提示tests/:验证功能的测试套件此服务器旨在与官方 MCP 文件系统服务器配合使用,以访问视频文件。
本项目基于 MIT 许可证发布 - 详情见 LICENSE 文件。
欢迎使用 AI 代码助手,作者就是这样做的。
如果您遇到任何问题或有疑问:
get_shaka_documentation 工具在 Claude 中获取交互式帮助