Hi vampie,
any help is greatly appreciated!
FYI: I’m trying to bring nvidia-docker into the game aswell (GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs) - so this might complicate the process ;).
My current system (Ubuntu 14.04):
+------------------------------------------------------+
| NVIDIA-SMI 352.93 Driver Version: 352.93 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro K4000 Off | 0000:04:00.0 On | N/A |
| 30% 28C P8 9W / 87W | 46MiB / 3071MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
My current status:
I managed to build the container based on nvidia/cuda:7.5, including the ffmpeg-master branch from github.
“/usr/bin/ffmpeg -encoders | grep enc” shows:
ffmpeg version N-81216-g01f0598 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --prefix=/usr --pkg-config-flags=--static --extra-cflags=-I/usr/include --extra-ldflags=-L/usr/lib --bindir=/usr/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-nvenc --extra-cflags=-I../cudautils --extra-ldflags=-L../cudautils --enable-libxvid --enable-nonfree --enable-libx265 --enable-libx264 --enable-nonfree --disable-sdl
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 51.100 / 57. 51.100
libavformat 57. 44.100 / 57. 44.100
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 49.100 / 6. 49.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
So I thought, this should work. Unfortunately, when running “/usr/bin/ffmpeg -i /test/elephants-dream.webm -c:v hevc_nvenc -b:v 1M -y /test/webm_to_mp4_nvenc_hevc.mp4” I get the following ffmpeg error:
ffmpeg version N-81216-g01f0598 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --prefix=/usr --pkg-config-flags=--static --extra-cflags=-I/usr/include --extra-ldflags=-L/usr/lib --bindir=/usr/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-nvenc --extra-cflags=-I../cudautils --extra-ldflags=-L../cudautils --enable-libxvid --enable-nonfree --enable-libx265 --enable-libx264 --enable-nonfree --disable-sdl
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 51.100 / 57. 51.100
libavformat 57. 44.100 / 57. 44.100
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 49.100 / 6. 49.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, matroska,webm, from '/test/elephants-dream.webm':
Metadata:
encoder : http://sourceforge.net/projects/yamka
creation_time : 2010-05-20 12:00:13
Duration: 00:01:57.70, start: 0.000000, bitrate: 582 kb/s
Stream #0:0(eng): Video: vp8, yuv420p, 540x360, SAR 1:1 DAR 3:2, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
Stream #0:1(eng): Audio: vorbis, 44100 Hz, mono, fltp (default)
<b>[hevc_nvenc @ 0x2d15880] Failed to create nvenc instance: invalid version (15)</b>
Output #0, mp4, to '/test/webm_to_mp4_nvenc_hevc.mp4':
Metadata:
encoder : http://sourceforge.net/projects/yamka
Stream #0:0(eng): Unknown: none, SAR 1:1 DAR 0:0 (default)
Metadata:
encoder : Lavc57.51.100 hevc_nvenc
Stream #0:1(eng): Unknown: none (default)
Metadata:
encoder : Lavc57.51.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (vp8 (native) -> hevc (hevc_nvenc))
Stream #0:1 -> #0:1 (vorbis (native) -> aac (native))
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Googling around for hours did not help. I still have no idea, WHICH version is actually invalid. Cuda? Nvidia Driver? ffmpeg? Combination of something? I already tried to compile with Video_Codec_SDK_7.0.1 and video-sdk-601 - same result/error.
Please let me know if you need more information on any topic. Thank you!