基于 docker 的 ffmpeg 视频处理应用
1. 基于纯 Docker 应用
此基于纯 docker 命令行模式仅适用于测试开发,生产部署推荐使用以 service 方式部署,例如部署在 Kubernetes
- 使用 docker jrottenberg/ffmpeg 镜像,将 iPhone 上录制的
MOV
(video/quicktime
) 格式视频转为mp4
# pull 镜像 & 打印 help
docker run --rm -v $(pwd):$(pwd) -w $(pwd) jrottenberg/ffmpeg:3.4-scratch --help
# 执行转码任务
docker run --rm \
-v $(pwd):$(pwd) \
-w $(pwd) \
jrottenberg/ffmpeg:3.4-scratch \
-stats \
-i file:///tmp/trim.1005FDA4-246A-4755-BC5A-624AE4AE4C17.MOV \
-f mp4 test.mp4
2. 基于 Kubernetes 部署
此使用以 service 方式部署是推荐为生产的,主要原理是使用 v1.PodSpec
的 ShareProcessNamespace
,参见: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/#configure-a-pod
TODO