53 lines
1.4 KiB
Markdown
53 lines
1.4 KiB
Markdown
# docker-ffmpeg-gpu
|
|
|
|
Use `ffmpeg` with `docker` and `nvidia` powers to transcode in Debian 11 Bullseye, based on [this nice docker project](https://git.archive.org/www/ffmpeg-gpu)
|
|
|
|
(__)
|
|
(oo)
|
|
/------\/
|
|
/ | ||
|
|
* /\---/\
|
|
~~ ~~
|
|
..."Have you mooed today?"...
|
|
|
|
## Requisites
|
|
|
|
### This project needs docker and docker-compose working with [nvidia runtime](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)
|
|
|
|
## Build
|
|
|
|
$ git clone https://git.manalejandro.com/ale/docker-ffmpeg-gpu
|
|
$ cd docker-ffmpeg-gpu && docker-compose build --force-rm
|
|
|
|
## Pull docker image
|
|
|
|
$ docker pull registry.manalejandro.com/docker-ffmpeg-gpu
|
|
|
|
## Usage
|
|
|
|
### You can use "/ffmpeg" or "/ffmpeg-pascal" for architecture version
|
|
|
|
$ docker-compose up -d
|
|
$ docker-compose run --rm --entrypoint /ffmpeg nvidia-ffmpeg -hwaccels -v 0
|
|
|
|
Hardware acceleration methods:
|
|
vdpau
|
|
cuda
|
|
vaapi
|
|
|
|
## Sample using CUDA for encoding:
|
|
|
|
$ docker-compose run --rm --entrypoint /ffmpeg nvidia-ffmpeg -vsync 0 -i /folder/input -c:a copy -c:v h264_nvenc /folder/output
|
|
|
|
## Full hardware transcode with NVDEC and NVENC:
|
|
|
|
$ docker-compose run --rm --entrypoint /ffmpeg nvidia-ffmpeg -vsync 0 -hwaccel nvdec -hwaccel_output_format cuda -extra_hw_frames 10 -i /folder/input -c:a copy -c:v h264_nvenc /folder/output
|
|
|
|
## Shutdown
|
|
|
|
$ docker-compose down
|
|
|
|
## License
|
|
|
|
MIT
|