# 视频自动翻译剪辑

# 生成基础镜像,将所有依赖都放到基础镜像中
<!-- v0 -->
docker rmi harbor.5jstore.com:8020/ai/wm_video_cut:v0
docker build -f Dockerfile_v0 -t harbor.5jstore.com:8020/ai/wm_video_cut:v0 .

<!-- 0.1 根据v0手工生成,主要安装完整版的 cuda -->
docker rmi harbor.5jstore.com:8020/ai/wm_video_cut:v0.1
docker run --gpus all --runtime=nvidia -it harbor.5jstore.com:8020/ai/wm_video_cut:v0 /bin/bash
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sh cuda_11.3.0_465.19.01_linux.run
1、不选驱动
2、报警说发现一个已存在的cuda,是否update,选择否。
3、修改PATH等环境变量:
vi ~/.bashrc
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.3
删除下载文件
rm cuda_11.3.0_465.19.01_linux.run
提交新镜像
docker commit c9c2a347491d harbor.5jstore.com:8020/ai/wm_video_cut:v0.1
<!-- end -->

<!-- 0.2 在0.1基础上安装项目依赖 -->
docker rmi harbor.5jstore.com:8020/ai/wm_video_cut:v0.2
docker build -f Dockerfile_v0.2 -t harbor.5jstore.com:8020/ai/wm_video_cut:v0.2 .

# 生成主镜像
docker rmi harbor.5jstore.com:8020/ai/wm_video_cut:v2
docker build -f Dockerfile -t harbor.5jstore.com:8020/ai/wm_video_cut:v2 .

docker-compose up -d

上述命令会开启一个http服务,公布如下接口:
* http://localhost:8181/ai_generate_video
* http://localhost:8181/ai_generate_image

网关可根据接口做路由和负载


<!-- 调试docker镜像,去掉Dockerfile里最后一句启动命令 -->
docker run -it harbor.5jstore.com:8020/ai/wm_video_cut:v0 /bin/bash
docker run -it harbor.5jstore.com:8020/ai/wm_video_cut:v1 /bin/bash
docker run -it harbor.5jstore.com:8020/ai/wm_video_cut:v2 /bin/bash

docker run --gpus all --runtime=nvidia -v ./inputs/:/app/inputs/ -v ./outputs/:/app/outputs/ -it harbor.5jstore.com:8020/common/ai_generate_video:proc_v4 /bin/bash

ffmpeg -hwaccels

<!-- 调试命令 -->
python start.py
gunicorn start:app -c ./gunicorn.conf.py

flask --app start run --debug