FFMPEG static build?

Okay so I’m just some video editing dude with very litle programming experience and I want an FFMPEG build with ALL the nv stuff enabled. Basically what I want is described here


FFmpeg supports hardware accelerated decoding and encoding via the h264_cuvid, hevc_cuvid and h264_nvenc, hevc_nvenc modules. Activating support for hardware acceleration when building from source requires some extra steps:

    Clone the FFmpeg git repository https://git.ffmpeg.org/ffmpeg.git 
    Download and install a compatible driver from the NVIDIA web site 
    Download and install the CUDA toolkit 
    Clone the nv-codec-headers repository  and install using this repository as header-only: make install
    Configure FFmpeg using the following command (use correct CUDA library path):

./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include  --extra-ldflags=-L/usr/local/cuda/lib64

    Build with multiple processes to increase build speed and suppress excessive output: make -j -s

But because I don’t really know what I am doing, I am struggling to get a build done for windows 10.

vanila windows binaries for ffmpeg on the web only include partial suport (encorder only), I want to be able to use the decoder and filters on the GPU as well.

  1. Does anyone know where I can download a win64 build of FFMPEG that has full nv enablement?
  2. Is someone able to show me a more detailed tutorial on how to build it with windows 10?

I had acrack at it, and I got past the configure stage using MinGW but could not do the build with ‘make’.

C:\ffmpeg_nv\ffmpeg (master -> origin)
λ sh configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include  --extra-ldflags=-L/usr/local/cuda/lib64
Native MSYS builds are discouraged, please use the MINGW environment.

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
rm: cannot remove '/tmp/ffconf.LLr9KvtV': Device or resource busy

C:\ffmpeg_nv\ffmpeg (master -> origin)
λ make -j -s
Makefile:2: ffbuild/config.mak: No such file or directory
Makefile:40: /tools/Makefile: No such file or directory
Makefile:41: /ffbuild/common.mak: No such file or directory
Makefile:97: /libavutil/Makefile: No such file or directory
Makefile:97: /ffbuild/library.mak: No such file or directory
Makefile:99: /fftools/Makefile: No such file or directory
Makefile:100: /doc/Makefile: No such file or directory
Makefile:101: /doc/examples/Makefile: No such file or directory
Makefile:166: /tests/Makefile: No such file or directory
make: *** No rule to make target '/tests/Makefile'.  Stop.

C:\ffmpeg_nv\ffmpeg (master -> origin)

I should point out that I did install the headers and that seemed to work fine…

C:\ffmpeg_nv\nv-codec-headers (master -> origin)
λ make install
sed 's#@@PREFIX@@#C:/Program Files/Git/usr/local#' ffnvcodec.pc.in > ffnvcodec.pc
install -m 0755 -d '/usr/local/include/ffnvcodec'
install -m 0644 include/ffnvcodec/*.h '/usr/local/include/ffnvcodec'
install -m 0755 -d '/usr/local/lib/pkgconfig'
install -m 0644 ffnvcodec.pc '/usr/local/lib/pkgconfig'