Кодирането на видео файловете може да бъде пълно влачене. Дори и с най-бързите процесори на пазара, процесът може да продължи до около самия видеоклип (напр. Тридесет минути кодиране за трийсет минути видео). Без значение кои програми за кодиране ви предлагат, те винаги са ограничени от силата на вашите чипове.

За да разрешат този проблем, картите на NVIDIA разполагат с хитри трик, който използват от пускането на GeForce 600 графичните карти от серията през 2012 г., наречена NVENC. Това ви позволява да използвате GPU за кодиране на видео потоци. С помощта на NVENC не само можете да конвертирате видеоклипове по-бързо, отколкото при конвенционален процесор, но можете също да предавате поточно видео чрез софтуер като Open Broadcaster Software (OBS), като същевременно намалявате или напълно премахвате заекването и изоставането. Тъй като Linux по подразбиране няма NVENC, ще трябва да го накарате да работи ръчно. Тук обяснявам как можете да направите това в дистрибуции, базирани на Ubuntu.

Първо най-важното

За да получите NVENC на NVENC, работещ върху Ubuntu, първо трябва да изтеглите комплекта за разработка на софтуер за видео кодеци (SDK) от този сайт. Ще трябва да си направите сметка, но процесът е доста ясен. Нямате нужда от всички файлове в ZIP, така че сега ще отидете на "Samples / common / inc." Копирайте всичко, което виждате в папката "/ usr / local / include". Трябва да копирате тези файлове, така че "ffmpeg" (често срещан енкодер с linux distros) да разпознае NVENC и да го включи.

Конфигуриране на хранилища за изходния код

Следващата стъпка ще включва прекомпилиране на текущата версия на ffmpeg. Това означава, че ще имате нужда от изграждане на зависимости за софтуера и за това ще трябва да конфигурирате Linux, за да позволите изтеглянето от хранилищата на изходния код във вашите софтуерни източници.

В Ubuntu можете да отворите "Настройки на системата -> Софтуер и актуализации", след което да кликнете върху "Изходен код" под "Софтуер Ubuntu". В Linux Mint (разпределението, което използвам, защото съм мързелив) като отворите "Администратор на актуализациите", кликнете върху "Редактиране", щракнете върху "Софтуерни източници", след което поставете отметка в квадратчето с "Активиране на хранилищата на изходния код". Този метод може да варира в зависимост от настолната ви среда и разпространението на Linux. малка душа, която търси да направи това.

Сега за зъб-смилане част от процеса!

Възстановяване на ffmpeg

Тъй като ffmpeg не се изгражда с много от опциите си автоматично активирани (което означава, че те са почти всички опции за включване, а не отказване), ще трябва да разберете как е била изградена във вашата система и след това да я създадете, като използвате същата конфигурация плюс поддръжка за NVENC и AAC аудио. Това е мястото, където заглавията, които сте копирали по-рано, се появяват. Вижте, ffmpeg ще погледа малко на вашите файлове в "/ usr / local / include", за да намери кодеци, които не намира в собствените си джобове.

Първо, изграждаме зависимости

 sudo apt-get build-dep ffmpeg 

След това искаме да изтеглим аудио кодека AAC с

 sudo apt-get инсталирате libfdk-aac-dev 

Щом свършат тези неща, ще трябва да получим източника в текущата версия на ffmpeg

 sudo apt-get източник ffmpeg 

И когато това стане, ще трябва да направите малко лов в домашната си папка. Намерете папка, която започва с "ffmpeg". То ще има номера на версията веднага след като е разделена от тире. Ето ми:

Отворете терминала си в тази папка. Ако не можете да направите това, отворете терминала и въведете:

 cd ffmpeg- 

където "" представлява номера на пълната версия, който сте видели в името на тази папка. В моя случай бих написал

 cd ffmpeg-2.8.8 

Сега въведете

 ffmpeg -buildconf 

Той ще ви покаже цялата конфигурация на вашата инсталация ffmpeg. Ще трябва да копирате всичко след "конфигурация:" без битовете под тази масивна стена на текста. В моя случай аз копирам това: (Вашата конфигурация може да е различна, така че не копирайте това, което ви показвам тук.)

 --prefix = / usr --extra-version = 0ubuntu0.16.04.1 --build-suffix = -ffmpeg -toolchain = закален --libdir = / usr / lib / x86_64-linux-gnu -incdir = / usr / include / x86_64-linux-gnu -cc = cc -cxx = g ++ -възможност-gpl -възможност за споделяне -изтриваем-декодер = libopenjpeg -disable-decoder = libschroedinger - -avresample -ableable-avisynth -enable-gnutls -възможно-ladspa -enable-libass -enable-libbluray -enable-libbs2b -enable-libcaca -enable-libcdio -enable-libflite -libfontconfig -enable-libfreetype -enable-libfribidi -enable-libgme -enable-libgsm -enable-libmodplug -enable-libmp3lame -enable-libopenjpeg -enable-libopus -enable-libpulse -enable -librtmp -възможно-libschroedinger -enable-libshine -enable-libsnappy -enable-libsoxr -възможност-libspeex -enable-libssh -enable-libtheora -enable-libtwolame -enable-libvorbis -възможно -libvpx -enable-libwavpack -възможност-libwebp -enable-libx265 -enable-libxvid -enable-libzvbi -enable-openal -enable-opengl -enable-x11gr ab -enable-libdc1394 -възможност-libiec61883 -enable-libzmq -enable-frei0r -enable-libx264 -възможност-libopencv 

Сега, поставете каквото имате в gedit или друг текстов редактор и добавете това до края:

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

Добре, сега всичко, което трябва да направите е да напишете

 ./configure 

където "" представлява масивната стена на текста, който току-що сте редактирали, за да добавите поддръжка за не-свободни кодеци, NVENC и AAC аудио. Това може да отнеме известно време.

След като всичко приключи, въведете

 правя 

Изчакайте това да приключи, след което въведете

 sudo make install 

Вие сте готови!

Тествайте го

Добре, как знаете, че успешно сте получили подкрепа за NVENC? Време е да вземем ffmpeg за завъртане и да кодираме видео с него.

За да направите това, ще ви е необходим видеофайл за конвертиране. Да приемем, че видеоклипът ни е в "/home/miguel/Desktop/test.mkv" и искаме да го кодираме като "/home/miguel/Desktop/test.mp4". Ето как става това с ffmpeg и новата си любов към NVENC:

 време ffmpeg -i /home/miguel/Desktop/test.mkv -acodec копие -vcodec nvenc /home/miguel/Desktop/test.mp4 

Трябва да видите нещо подобно:

И това е! Убили сме две птици с един камък: научихте как да получите NVENC на вашата Linux система и как да кодирате видео, използвайки удобната команда на ffmpeg за терминал. Ако се забиете някъде или откриете по-добър начин да направите това, не забравяйте да оставите коментар!