Skip to content

dl-container-registry/ffmpeg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NVIDIA accelerated ffmpeg

Build Status Dockerhub link Singularity hub link

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published