So bringen Sie NVIDIAs GPU Assisted Video Encoding (NVENC) in Ubuntu zum Laufen

Das Kodieren von Videodateien kann eine völlige Belastung sein. Selbst mit den schnellsten CPUs auf dem Markt kann der Vorgang bis zu etwa so lange dauern wie das Video selbst (z. B. 30 Minuten Kodierung für ein 30-minütiges Video). Ganz gleich, welche Kodierungsprogramme Ihnen angeboten werden, sie sind immer durch die Leistung Ihrer Chips begrenzt.

Um dieses Problem zu lösen, verfügen NVIDIA-Karten über einen raffinierten kleinen Trick namens NVENC, den sie seit der Veröffentlichung der Grafikkarten der GeForce 600-Serie im Jahr 2012 verwenden. Dadurch können Sie die GPU zum Kodieren von Videostreams verwenden. Mit NVENC können Sie Videos nicht nur schneller konvertieren als mit einer herkömmlichen CPU, sondern auch Videos über Software wie Open Broadcaster Software (OBS) streamen und dabei Ruckeln und Verzögerungen reduzieren oder ganz eliminieren. Da Linux standardmäßig nicht über NVENC verfügt, müssen Sie es manuell zum Laufen bringen. Ich erkläre hier, wie Sie dies in Distributionen tun können, die auf Ubuntu basieren.

Das wichtigste zuerst

Damit NVIDIAs NVENC unter Ubuntu funktioniert, müssen Sie zunächst das NVIDIA Video Codec Software Development Kit (SDK) von herunterladen Diese Seite. Sie müssen ein Konto erstellen, aber der Vorgang ist ziemlich einfach. Da Sie nicht alle Dateien in der ZIP-Datei benötigen, navigieren wir jetzt zu „Samples/common/inc“. Kopieren Sie alles, was Sie dort sehen, in Ihren Ordner „/usr/local/include“. Sie müssen diese Dateien kopieren, damit „ffmpeg“ (ein Encoder, der häufig in Linux-Distributionen zu finden ist) NVENC erkennt und einbindet.

Konfigurieren von Quellcode-Repositorys

Der nächste Schritt besteht darin, Ihre aktuelle Version von ffmpeg neu zu kompilieren. Das bedeutet, dass Sie die Build-Abhängigkeiten für die Software benötigen und dafür Linux so konfigurieren müssen, dass das Herunterladen aus Quellcode-Repositorys in Ihren Softwarequellen möglich ist.

In Ubuntu können Sie zu „Systemeinstellungen -> Software & Updates“ navigieren und dann unter „Ubuntu-Software“ auf „Quellcode“ klicken. In Linux Mint (der Distribution, die ich verwende, weil ich faul bin) können Sie dies tun, indem Sie auf den Update Manager zugreifen, auf „Bearbeiten“ klicken, auf „Softwarequellen“ klicken und dann das kleine Kästchen mit „Quellcode-Repositorys aktivieren“ aktivieren. ” Diese Methode kann je nach Desktop-Umgebung und Linux-Distribution variieren, daher müssen Sie möglicherweise ein wenig in die Tiefe gehen, um dies zu erreichen.

Nun zum zahnknirschenden Teil des Prozesses!

ffmpeg neu erstellen

Da ffmpeg nicht erstellt wird, wenn viele seiner Optionen automatisch aktiviert sind (was bedeutet, dass sie fast alle Opt-In- und nicht Opt-Out-Optionen sind), müssen Sie herausfinden, wie es in Ihrem System erstellt wurde, und es dann mit dem erstellen gleiche Konfiguration plus Unterstützung für NVENC- und AAC-Audio. Hier kommen die Header ins Spiel, die Sie zuvor kopiert haben. Sehen Sie, ffmpeg wirft einen kleinen Blick auf Ihre Dateien in „/usr/local/include“, um alle Codecs zu finden, die es nicht in seinen eigenen Taschen findet.

Zuerst bauen wir Abhängigkeiten mit auf

sudo apt-get build-dep ffmpeg

Als nächstes wollen wir den AAC-Audiocodec mit herunterladen

sudo apt-get install libfdk-aac-dev

Sobald diese Dinge erledigt sind, müssen wir die Quelle für die aktuelle Version von ffmpeg abrufen

sudo apt-get source ffmpeg

Und wenn das erledigt ist, müssen Sie ein wenig in Ihrem Home-Ordner suchen. Suchen Sie einen Ordner, der mit „ffmpeg“ beginnt. Direkt dahinter steht die Versionsnummer, getrennt durch einen Bindestrich. Hier ist meins:

Öffnen Sie Ihr Terminal in diesem Ordner. Wenn das nicht möglich ist, öffnen Sie das Terminal und geben Sie Folgendes ein:

Dabei steht „“ für die vollständige Versionsnummer, die Sie im Namen dieses Ordners gesehen haben. In meinem Fall würde ich tippen

Geben Sie nun ein

Es zeigt Ihnen die gesamte Konfiguration Ihrer aktuellen ffmpeg-Installation. Sie müssen alles nach „configuration:“ kopieren, ohne die Teile unter dieser riesigen Textwand. In meinem Fall kopiere ich Folgendes: (Ihre Konfiguration könnte anders sein, also kopieren Sie nicht, was ich Ihnen hier zeige.)

--prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr /include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable -avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable -libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable -librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable -libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable -libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv

Fügen Sie nun alles, was Sie erhalten haben, in gedit oder einen anderen Texteditor ein und fügen Sie Folgendes am Ende hinzu:

--enable-nonfree --enable-nvenc --enable-libfdk-aac

OK, jetzt müssen Sie nur noch tippen

./configure 

Dabei steht „“ für die riesige Textwand, die Sie gerade bearbeitet haben, um Unterstützung für nicht-freie Codecs, NVENC und AAC-Audio hinzuzufügen. Dies kann eine Weile dauern.

Nachdem alles erledigt ist, geben Sie ein

Warten Sie, bis das erledigt ist, und geben Sie dann ein

Du bist fertig!

Testen Sie es

OK, woher wissen Sie, dass Sie erfolgreich Unterstützung für NVENC erhalten haben? Es ist an der Zeit, ffmpeg auszuprobieren und damit ein Video zu kodieren.

Dazu benötigen Sie eine Videodatei zum Konvertieren. Nehmen wir an, unser Video befindet sich in „/home/miguel/Desktop/test.mkv“ und wir möchten es als „/home/miguel/Desktop/test.mp4“ kodieren. So machen wir das mit ffmpeg und seiner neu entdeckten Liebe zu NVENC:

Zeit ffmpeg -i /home/miguel/Desktop/test.mkv -acodec copy -vcodec nvenc /home/miguel/Desktop/test.mp4

Sie sollten etwa Folgendes sehen:

Und das ist es! Wir haben zwei Fliegen mit einer Klappe geschlagen: Sie haben gelernt, wie Sie NVENC auf Ihr Linux-System installieren und wie Sie ein Video mit dem praktischen Terminalbefehl von ffmpeg kodieren. Wenn Sie irgendwo nicht weiterkommen oder einen besseren Weg finden, hinterlassen Sie unbedingt einen Kommentar!

Index
  1. Das wichtigste zuerst
  2. Konfigurieren von Quellcode-Repositorys
  3. ffmpeg neu erstellen
  4. Testen Sie es

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up