Selur's Little Message Board

Full Version: NVEnc (FFmpeg) ?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hallo Selur,

Ich wollte nach längerer Zeit mal wieder ein UHD-Video mit "NVEnc-FFmpeg" encoden (Hybrid 2019.08.24.1 Linux-Arch). Aber "NVEnc-FFmpeg" ist bei mir gar nicht vorhanden. Hast Du den Encoder entfernt ?

Gruß ggrub
Support für 'NVEnc (FFmpeg)' wurde nicht entfernt. (hätte ich wenn auch ins Changelog geschrieben)
Encoder wird nicht angezeigt, wenn:
  • keine NVIDIA kompatible Karte gefunden wurde
    Hier ruft Hybrid einfach 'lspci' und schaut ob es eine NVIDIA Karte findet.
    Wenn Du Hybrid aus dem Terminal herraus aufrufst sollte es beim Starten 'Detected graphic cards: ...' ausgeben.
  • Davon ausgegangen wird, dass ffmpeg nicht mit support für den Encoder gebaut wurde.
    Habe gerade mal gecheckt mit was für Optionen die FFmpeg Version die ich im Hybrid Paket reingepackt habe gebaut wurde:
    Code:
    ffmpeg version git-2019-09-28-9fdc2c7 Copyright (c) 2000-2019 the FFmpeg developers
      built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.0[align=right][/align]4.11) 20160609
      configuration: --disable-debug --pkg-config-flags=--static --extra-cflags='-O3 -ffunction-sections -fdata-sections -I/home/selur/workspace/scripts/Hybrid/tools/build/libs/include' --extra-ldflags='-Wl,--gc-sections -pthread -L/home/selur/workspace/scripts/Hybrid/tools/build/libs/lib' --ld=g++ --enable-gpl --enable-version3 --disable-ffplay --disable-ffprobe --disable-doc --enable-avisynth --enable-frei0r --enable-libass --enable-libbluray --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libtheora --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libkvazaar --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-cuvid --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-vaapi --enable-vdpau --enable-openal --enable-libpulse --disable-libjack
      libavutil      56. 35.100 / 56. 35.100
      libavcodec     58. 59.101 / 58. 59.101
      libavformat    58. 33.100 / 58. 33.100
      libavdevice    58.  9.100 / 58.  9.100
      libavfilter     7. 59.100 /  7. 59.100
      libswscale      5.  6.100 /  5.  6.100
      libswresample   3.  6.100 /  3.  6.100
      libpostproc    55.  6.100 / 55.  6.100
    Hybrid holt sich auch diese Ausgabe und wenn es in der Ausgabe 'nvenc' entdeckt wird davon ausgegangen, dass 'NVEnc (FFmpeg)' genutzt werden kann.
-> Keine Ahnung wo genau bei Dir das Problem liegt, an sich ist 'NVEnc (FFmpeg)' aber nicht entfernt.

Cu Selur

agrum

Hallo, ich hänge mich mal an den Thread an : Habe das gleiche Problem, und bei mir liegt es daran das meine Grafikkarte noch nicht in der Nvidia Liste drin steht

https://developer.nvidia.com/cuda-gpus

Ich habe eine RTX 2070 SUPER, diese Karten sind Anfang Juli 2019 erschienen, aber noch nicht dort gelistet - und werden deswegen wahrscheinlich nicht von Hybrid erkannt.

Es wäre schön wenn Hybrid auch die letzte Generation and Nvidia Karten benutzen könnte, kann man da was machen ?
Hybrid sollte den Namen den es in der Registry findet eigentlich ausgeben.
Ist der 'RTX 2070 SUPER' ?

agrum

Nach dem Start von Hybrid steht in der Log folgendes :

This log is only intended for user information. It should not be part of a bug/problem report!!


Detected the following cards which seem to lack NVIDIA PureVideo support:   NVIDIA GeForce RTX 2070 SUPER


No card found that's supported by nvenc, the CUDA encoding library. -> Removing CUDA based encoding support. Card name was compared against: https://developer.nvidia.com/cuda-gpus


    Avisynth+ is available,..


    Vapoursynth is available,..
send you a pm with a link to a dev version for testing.

Cu Selur
Quote:Hier ruft Hybrid einfach 'lspci' und schaut ob es eine NVIDIA Karte findet.

Ok, daran sollte es aber nicht liegen:

Code:
01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080 Rev. A] (rev a1)

Ist mir jetzt auch ein Rätsel. Mit ffmpeg (Kommandozeile) alleine funktioniert nvenc. Huh

Hybrid über Terminal gestartet:

Code:
$ hybrid
bash: hybrid: Kommando nicht gefunden.
[user@user-pc ~]$ Hybrid
  no file '/home/user/misc.ini' found,..
  no file '/home/user/.hybrid/misc.ini' found,..
No misc.ini file used,..
Hybrid 2019.08.24.1 by Selur
Pre-GUI initialization starting 11:12:09.231
Checking for styles,...
Checking for inputs,...
Checking for global profile,...
Checking for debug level,...
Checking for auto add,...
Loading resources:
  model versions,...
  raw video file extensions,...
  raw audio file extensions,...
  raw subtitle file extensions,...
  index file extensions,...
  cuda capable cards,..
  ogg extensions,...
  wmv extensions,...
  mp4 extensions,...
  mp3 extensions,...
  mpeg extensions,...
  tsMuxeR extensions,...
  raw output extensions,...
  mov extensions,...
  matroska extensions,...
  subcodes,...
  languages,...
  additional mkv tags,...
  format <> number mapping,...
  avc level -> vbv max bitrate mapping,...
  avc level -> max mps mapping,...
  avc level -> max buffer mapping,...
  avc level -> max dpb mapping for main tier,...
  avc level -> max dpb mapping for high tier,...
  avc level -> max dpb mapping for level,...
  avc level -> max frame size mapping,...
  qtgmc 720x576 memory usage
  qtgmc 1280x720 memory usage
  qtgmc 1920x1080 memory usage
  DNxHD profiles,...
  Avisynth model combis,...
  fraction lists,...
  fraction conversions,...
Creating application,...
  setting application path,...
  application home: /usr/bin
  application data path: /home/user/.hybrid
  './64bit/vsfilters' doesn't exist
  './vsfilters' doesn't exist
  '/home/user/.hybrid/vsfilters' doesn't exist
'./vsscripts' doesn't exist,..
'/usr/share/vsscripts' doesn't exist,..
'~/opt/vapoursynth/vsscripts' doesn't exist,..
GUI initialization starting 11:12:09.447
connecting model handler,..
GUI Initialization
init system handler,...
  Collecting fonts available on system
init folders,...
set global directories,...
init message handler,..
Initializing the message handlers,...
init helpers,..
current settings path: /home/user/.hybrid
createLinuxFontsFolder
  fontFolder(final):/home/user/.local/share/fonts
  custom fonts folder(3):/home/user/.local/share/fonts
Vapoursynth script path:
Vapoursynth plugins path:
  -> detected no Vapoursynth,..
  looking for avisynth extension, version 20190315
  wineWindowsFolder: /home/user/.wine/drive_c/windows
  wineWindowsSystemFolder: /home/user/.wine/drive_c/windows/syswow64
   -> /home/user/.wine/drive_c/windows/syswow64/DevIL.dll does not exist,...
  -> detected no avisynth extension,..
  Initializing MainWindow
  Initializing helpers
  Initializing preview
  preview set global profile
  preview set vo mode
  preview set ao mode
  preview preview settings
  checking ssl mail support
  checking irc message support
  init shudown/hibernate support
  checking shutdown timer
  checking hibernate timer
  init mkv font extractor
Initializing tabs
QCoreApplication::postEvent: Unexpected null receiver
all tabs are initialized
  loading images and setting font size
Setting button images,...
Loading saved jobs,..
  init model defaults
checking for 'MP4Box'
checking for 'ffmbc'
checking for 'mencoder'
checking for 'neroAacEnc'
checking for 'nvhsp'
checking for 'oggenc'
checking for 'telxcc'
Check name: FrameCounter, path: ./FrameCounter, checkSingle: false
Check name: aften, path: ./aften, checkSingle: false
Check name: faac, path: ./faac, checkSingle: false
Check name: x265, path: ./x265, checkSingle: false
setting tool versions,..
updating tool versions,...
Code:
NVIDIA Corporation TU104 [GeForce RTX 2080 Rev. A] (rev a1)
Sehe das Problem, das 'Rev. A' wird aktuell im Namen drinnen bleiben, womit er dann nicht mehr mit dem gespeicherten Namen übereinstimmt. Smile
-> Ich bastel mal was, damit ein 'Rev. XY' entfernt wird.
Hallo zusammen,

@Selur: Vielen Dank Selur, für dieses großartige Handwerk das du mit uns teilst! Heart

Nun zu meinem Problem:

Leider wird meine Grafikkarte nicht von Hybrid als Nvida Karte erkannt. Im Log steht folgendes:



Quote:-> skipped 'Intel® UHD Graphics 630' since it's no NVIDIA card


Detected the following cards which seem to lack NVIDIA PureVideo support:   Microsoft Basic Display Adapter   NVIDIA Quadro P5200   Intel® UHD Graphics 630


Nun habe ich versucht in der Windows Registry diesen bescheurten Eintrag zu finden, der einfach gleich alle mal installierten Grafikkarteneinträge hinterlegt hat.


Die interne Intel ist im BIOS deaktiviert.

Die Graka die benutzt werden soll ist natürlich die P5200.

Wie komme ich nun dazu, dass die Graka von Hybrid erkannt wird?
Was genau wird ausgelesen und wie kann ich dies manipulieren oder muss dies im Code hinterlegt werden?


Gruß
Patrick

Hab nun den Registry Eintrag gefunden.

Quote:HKEY LOCAL MACHINE /  SYSTEM / CURRENTCONTROLSET / CONTROL / VIDEO
und die falschen Einträge gelöscht.


Nun bekomme ich folgendes Log:



Quote:Detected the following cards which seem to lack NVIDIA PureVideo support:   NVIDIA Quadro P5200

No card found that's supported by nvenc, the CUDA encoding library. -> Removing CUDA based encoding support. Card name was compared against: https://developer.nvidia.com/cuda-gpus
Kann mir nun beim besten Willen nicht vorstellen, dass die P5200 kein PureVideo support bietet, da diese ja genau solche Zwecke (und natürlich Weitere Wink )entwickelt wurde, oder liege ich da falsch?


Gruß
Patrick
Quote:Kann mir nun beim besten Willen nicht vorstellen, dass die P5200 kein PureVideo support bietet, da diese ja genau solche Zwecke (und natürlich Weitere Wink )entwickelt wurde, oder liege ich da falsch?
Wenn "NVEncC --check-features" die Karte akzeptiert kann ich sie (nach der Arbeit heute) in die interne Liste der unterstützten Karten hinzufügen.
-> Was wird da bei Dir ausgegeben?

Cu Selur
Pages: 1 2