برای طرح سوال و دسترسی به آموزش ها  کانال ما در تلگرام بپویندید  

فعال کردن NVENC رو ffmpeg لینوکس

شاید مطلبی که من می‌نویسم خیلی بازدید نداشته باشه ولی خوب ولی به درد یکی بخوره حتما خیلی گیر بوده، ولی تو ما کاربران لینوکس سعی می‌کنیم هوای همه دیگه رو داشته باشیم، خب یکی از عمده مشکلاتی که برای کاربرانی که کارت گرافیک nvidia دارند تو لینوکس اینه که محصولات خیلی همگام با سخت افزارشون نیست و این موضوع آزارشون میده یکی از این محصولات ffmpeg هستش برای افزایش کارایی نیاز هستش با کارت گرافیک مچ شه برای این موضوع اول باید درایور کارت گرافیک نصب باشه که اینجا توضیح دادیم و بعدش نصب ffmpeg از روی سورس کد با فعال کردن cuda هستش.

 

مرحله اول – نصب پیش نیاز ها برای کامپایل ffmpeg

$  sudo apt install build-essential nasm pkg-config git
$ sudo apt install libass-dev libfdk-aac-dev libmp3lame-dev libopus-dev libvpx-dev libx264-dev libx265-dev

پیش نیاز هدر cuda و nvidia ضروری

$ make install PREFIX=/usr


$ git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
$ cd nv-codec-headers
$ make
$ sudo make install

اگر اینو نصب نکنید این ارور رو خواهید داشت :

ERROR: cuvid requested, but not all dependencies are satisfied: ffnvcodec

مرحله دوم – دانلود و نصب ffmpeg از رو کد منبع source code

دریافت سورس آماده سازی برای کامپایل




$ git clone https://git.ffmpeg.org/ffmpeg.git
$ cd ffmpeg
$ ./configure --enable-gpl --enable-nonfree --enable-libx264 --enable-libx265 --enable-libvpx --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-cuda-nvcc --enable-nvenc --enable-cuvid

اگر مراحل رو درست رفته باشید در خط آخر نباید error داشته باشید.

کامپایل و نصب:

$ make -j$(nproc)
$ sudo make install

خب تموم شد به همین راحتی 🙂

تست نهایی :

$ ffmpeg -encoders | grep nvenc

نتیجه باید چیزی شبیه این باشه:

V....D av1_nvenc NVIDIA NVENC av1 encoder (codec av1)
V....D h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V....D hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)

امیدوارم مفید بوده باشه 🙂


انتشار

در

توسط

برچسب‌ها:

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *