Sign inSign up

willprice/nvidia-ffmpeg

By willprice

Updated about 6 years ago

NVIDIA Hardware Accelerated FFmpeg build

Image
15

100K+

willprice/nvidia-ffmpeg repository overview

NVIDIA accelerated ffmpeg

Features

NVENCODE (nvenc) and NVDECODE (formerly CUVID) are packaged in the NVIDIA Video Codec SDK.

Hardware Accelerated Encoders:

List options of an encoder using ffmpeg -h encoder=XXXX

  • h264_nvenc, nvenc, nvenc_h264
  • nvenc_hevc, hevc_nvenc
Hardware Accelerated Decoders:

List options of a decoder using ffmpeg -h decoder=XXXX

  • h264_cuvid
  • hevc_cuvid
  • mjpeg_cuvid
  • mpeg1_cuvid
  • mpeg2_cuvid
  • mpeg4_cuvid
  • vc1_cuvid
  • vp8_cuvid
  • vp9_cuvid
Hardware Accelerated Filters:

List options of a filter using ffmpeg -h filter=XXXX

  • hwupload_cuda
  • scale_cuda
  • scale_npp
  • thumnail_cuda

Usage

Run the container mounting the current directory to /workspace processing input.mp4 to output.mp4 without any hardware acceleration

$ docker run --rm -it --runtime=nvidia \
    --volume $PWD:/workspace \
    willprice/nvidia-ffmpeg -i input.mp4 output.avi
$ docker run --rm -it --runtime=nvidia \
    --volume $PWD:/workspace \
    willprice/nvidia-ffmpeg \
      -hwaccel_device 0 \
      -hwaccel cuvid \
      -c:v h264_cuvid \
      -i input.mp4 \
      -c:v hevc_nvenc
      out.mkv

Get a shell prompt inside the container, useful for debugging:

$ docker run --rm -it --runtime=nvidia \
    --volume $PWD:/workspace \
    --entrypoint bash
    willprice/nvidia-ffmpeg

Build

The docker image is a multistage build. The initial stage, the build stage, builds a statically linked ffmpeg binary that is then copied over into the runtime image. By statically linking we minimize the number of external dependencies and shrink the runtime image.

Resources

Tag summary

Content type

Image

Digest

Size

605.7 MB

Last updated

about 6 years ago

docker pull willprice/nvidia-ffmpeg