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 ffmpegAls nächstes wollen wir den AAC-Audiocodec mit herunterladen
sudo apt-get install libfdk-aac-devSobald diese Dinge erledigt sind, müssen wir die Quelle für die aktuelle Version von ffmpeg abrufen
sudo apt-get source ffmpegUnd 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-libopencvFü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-aacOK, jetzt müssen Sie nur noch tippen
./configureDabei 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.mp4Sie 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!

Schreibe einen Kommentar