
这是一个为 n8n 工作流自动化平台集成 FFmpeg 功能的 Docker 镜像项目。通过此项目,您可以在 n8n 中使用 FFmpeg 进行音视频处理、转码、分析等多媒体操作。
docker pull skyjilygao/n8n-with-ffmpeg:1.122.5-20251216154621随着短视频和内容创作需求爆发式增长,企业急需将专业的音视频处理能力集成到自动化工作流中。然而 FFmpeg 命令复杂、学习成本高,缺乏可视化操作界面。n8n-ffmpeg 项目应运而生,通过将 FFmpeg 集成到 n8n 平台,让媒体处理变得简单高效,助力企业数字化转型。
本项目基于官方 n8n 镜像(1.122.5),集成了 FFmpeg 7.0.2 静态编译版本,提供了完整的音视频处理能力。适用于需要在 n8n 工作流中进行媒体文件处理的各种场景。
包含完整的 VMAF (Video Multimethod Assessment Fusion) 模型库:
git clone <项目地址>
cd n8n-ffmpeg./build-image.sh
# 或docker build -t n8n-with-ffmpeg:latest .脚本说明:build-image.sh
./restart.sh
# 或 docker-compose up -d脚本说明:restart.sh
项目提供了几个便捷的 shell 脚本来简化容器管理:
build-image.sh) <a name="build-image"></a>自动化构建新镜像并更新 docker-compose.yml 文件:
./build-image.sh功能特点:
构建过程:
n8n-with-ffmpeg:1.122.5-YYYYMMDDhhmmss)restart.sh) <a name="restart"></a>快速重启 n8n 容器:
./restart.sh执行流程:
(stop.sh)停止 n8n 容器:
./stop.sh功能:
打开浏览器访问 http://localhost:5678 即可使用 n8n。
version: '3.8'
services:
n8n:
image: n8n-with-ffmpeg:1.122.5-20251208182708
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
# 本地化配置
- N8N_DEFAULT_LOCALE=zh-CN
- GENERIC_TIMEZONE=Asia/Shanghai
- TZ=Asia/Shanghai
# URL 配置
- N8N_EDITOR_BASE_URL=https://your-domain.com
- WEBHOOK_URL=https://your-domain.com/
- N8N_HOST=your-domain.com
# 性能优化
- N8N_DEFAULT_BINARY_DATA_MODE=filesystem
- N8N_RUNNERS_ENABLED=false
# 日志配置
- LOG_LEVEL=debug
- N8N_LOG_OUTPUT_FORMATTER=simple
volumes:
- n8n_data:/home/node/.n8n
- /your/path/files:/home/node/files
shm_size: '256mb'变量名 | 说明 | 默认值 |
|---|---|---|
| 默认语言 |
|
| 时区设置 |
|
| 系统时区 |
|
| n8n 编辑器基础 URL | - |
| Webhook 基础 URL | - |
| n8n 主机名 | - |
| 二进制数据存储模式 |
|
| 日志级别 |
|
在 Execute Command 节点中,您可以直接使用 ffmpeg 命令:
# 获取视频信息
ffmpeg -i input.mp4
# 转换视频格式
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
# 提取音频
ffmpeg -i input.mp4 -vn -acodec copy output.aac
# 调整视频分辨率
ffmpeg -i input.mp4 -vf scale=1280:720 output_720p.mp4# 使用 VMAF 模型比较两个视频的质量
ffmpeg -i reference.mp4 -i distorted.mp4 -lavfi "libvmaf=model_path=/usr/local/share/model/vmaf_v0.6.1.pkl" -f null -# 批量转换目录中的所有视频文件
for file in *.mov; do
ffmpeg -i "$file" -c:v libx264 -c:a aac "${file%.mov}.mp4"
donen8n-ffmpeg/
├── Dockerfile # Docker 镜像构建文件
├── docker-compose.yml # Docker Compose 配置文件
├── build-image.sh # 智能构建镜像脚本
├── restart.sh # 快速重启容器脚本
├── stop.sh # 停止容器脚本
├── ffmpeg-7.0.2-amd64-static/ # FFmpeg 静态编译版本
│ ├── ffmpeg # FFmpeg 可执行文件
│ ├── ffprobe # FFprobe 可执行文件
│ ├── manpages/ # 帮助文档
│ └── model/ # VMAF 模型库
└── README.md # 项目说明文档本项目提供了三个实用的 shell 脚本,用于简化容器管理操作:
这是最强大的脚本,自动化了整个镜像构建和部署流程。
使用方法:
chmod +x build-image.sh # 确保脚本有执行权限
./build-image.sh脚本功能详解:
输出示例:
🎯 Building new image: n8n-with-ffmpeg:1.122.5-20241216153045
✅ Image built successfully.
🔍 Verifying built image:
REPOSITORY TAG IMAGE ID SIZE
n8n-with-ffmpeg 1.122.5-20241216153045 abc123def456 1.23GB
💾 Backup saved as: docker-compose.yml.bak.20241216153045
🔍 Step 3/5: Previewing change...
--- docker-compose.yml
+++ docker-compose.yml
@@ -1,5 +1,5 @@
services:
n8n:
- image: n8n-with-ffmpeg:1.122.5-20241216150000
+ image: n8n-with-ffmpeg:1.122.5-20241216153045
✅ Compose file is valid and ready to deploy.用于快速重启 n8n 容器,常用于配置更新后。
使用方法:
chmod +x restart.sh
./restart.sh执行过程:
stop...
[+] Running 2/2
✔ Container n8n Stopped
start...
[+] Running 2/2
✔ Container n8n Started优雅地停止 n8n 容器服务。
使用方法:
chmod +x stop.sh
./stop.sh执行结果:
stop...
[+] Running 2/2
✔ Container n8n Stoppedbuild-image.sh 获取最新的安全更新restart.sh 而不是手动操作chmod +x *.sh)脚本执行权限问题:
# 如果提示权限不足
chmod +x build-image.sh restart.sh stop.shDocker 命令未找到:
# 确保 Docker 和 Docker Compose 已正确安装
docker --version
docker compose version构建失败:
shm_size: '256mb' 或更高N8N_DEFAULT_BINARY_DATA_MODE=filesystem 模式# 查看容器日志
docker logs n8n
# 实时查看日志
docker logs -f n8n推荐使用提供的脚本来简化更新过程:
# 构建新镜像并自动更新配置
./build-image.sh
# 重启容器应用更新
./restart.shffmpeg-7.0.2-amd64-static 目录./build-image.sh 重新构建镜像./build-image.sh 重新构建镜像本项目采用 GPLv3 许可证。FFmpeg 静态包及其包含的组件遵循各自的许可证条款。
欢迎提交 Issue 和 Pull Request 来改进此项目。
如果您遇到问题或有建议,请通过以下方式联系:
注意: 使用此项目即表示您同意遵守所有相关软件许可证条款和条件。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。