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