在 docker 上使用 ffmpeg nvenc 编码加速视频转码

lnkToKing 2019-06-26

系统信息

OS: Ubuntu 18.04

安装 NVIDIA 驱动

sudo ubuntu-drivers autoinstall

这里吐槽下 Ubuntu 16.04 安装 NVIDIA 驱动有多么困难,升级到 Ubuntu 18.04 后一句命令即可。

重启机器并继续

安装 docker

docker.com

安装 nvidia-docker2

https://github.com/NVIDIA/nvi...

这里如果安装是nvidia-docker2,运行 nvenc 编码时会报错,提示Cannot load libnvidia-encode.so.1,只是因为没有把库加载,需要手动挂载库文件 /usr/lib/nvidia-384/:/usr/local/nvidia/lib/

构建镜像

git clone https://github.com/larry011/docker-ffmpeg-nvidia

cd docker-ffmpeg-nvidia/

./build.sh

启动容器

docker-compose up -d

docker-compose exec  ffmpeg /bin/bash

ffmpeg -y -i example.mp4 -c:v h264_nvenc 1.mp4

将视频编码为 hls 格式,方便在移动设备上播放

ffmpeg -y -i example.mp4  -c:v h264_nvenc -c:a aac -hls_list_size 0 -hls_time 10 -hls_flags single_file -f hls 1.m3u8

参考链接

https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-18-04-bionic-beaver-linux
http://notes.maxwi.com/2017/0...
http://notes.maxwi.com/2017/0...

相关推荐

cherayliu / 0评论 2020-06-13

83096129 / 0评论 2020-01-05