קידוד קבצי וידאו יכול להיות גרור מלא. אפילו עם המעבדים המהירים ביותר בשוק, התהליך עשוי להימשך עד סוף הסרטון עצמו (לדוגמה, שלושים דקות של קידוד במשך שלושים דקות של וידאו). לא משנה מה תוכניות קידוד להציע לך, הם מוגבלים תמיד על ידי כוח של הצ 'יפס שלך.

כדי לפתור בעיה זו, כרטיסי NVIDIA יש טריק קטן nifty כי הם כבר משתמשים מאז שחרורו של Geforce 600 סדרת כרטיסים גרפיים בחזרה 2012 שנקרא NVENC. זה מאפשר לך להשתמש GPU לקודד זרמי וידאו. באמצעות NVENC, לא רק אתה יכול להמיר קטעי וידאו מהר יותר מאשר עם מעבד קונבנציונאלי, אבל אתה יכול גם להזרים וידאו באמצעות תוכנה כמו Open Broadcaster תוכנה (OBS) תוך צמצום או לחלוטין ביטול גמגום בפיגור. מאז לינוקס אין NVNC כברירת מחדל, אתה הולך לקבל את זה עובד ביד. אני מסביר כאן כיצד ניתן לעשות זאת בחלוקה המבוססת על אובונטו.

קודם כל

כדי לקבל NVENC NVIDC עובד על אובונטו, אתה קודם צריך להוריד את NVIDIA וידאו Codec ערכת פיתוח תוכנה (SDK) מאתר זה. יהיה עליך לבצע חשבון, אבל התהליך הוא פשוט למדי. אתה לא צריך את כל הקבצים ב- ZIP, אז אנחנו הולכים עכשיו לנווט אל "דוגמאות / משותף / inc." העתק את כל מה שאתה רואה שם את התיקייה "/ usr / local / include". אתה צריך להעתיק קבצים אלה כך "ffmpeg" (מקודד לעתים קרובות נמצא עם הפצות לינוקס) יזהה NVENC ולשלב אותו.

קביעת תצורה של מאגרי קוד מקור

השלב הבא יהיה כרוך recompiling הגירסה הנוכחית של ffmpeg. זה אומר שאתה צריך את התלות לבנות עבור התוכנה, ועל כך תצטרך להגדיר את לינוקס כדי לאפשר הורדה ממאגרי קוד המקור במקורות התוכנה שלך.

ב- Ubuntu ניתן לנווט אל "הגדרות מערכת -> תוכנה ועדכונים", ולאחר מכן לחץ על "קוד מקור" תחת "תוכנת אובונטו". ב- Linux Mint (ההפצה שבה אני משתמש כי אני עצלן), זה יכול להיעשות על-ידי לחיצה על "עריכה", לחיצה על "מקורות תוכנה" ולאחר מכן סימון התיבה הקטנה באמצעות "אפשר מאגרי קוד מקור". שיטה זו עשויה להשתנות בהתאם לסביבת שולחן העבודה שלך ולהפצת לינוקס, לכן ייתכן שיהיה עליך לעשות זאת קצת נפש בחיפוש כדי לקבל את זה נעשה.

עכשיו על השן חלק שחיקה של התהליך!

בנייה מחדש של ffmpeg

מכיוון ש- ffmpeg אינו בנוי עם אפשרויות רבות של האפשרויות שלו מופעלות באופן אוטומטי (כלומר, הן כמעט כל opt-in ולא opt-out), יהיה עליך לגלות כיצד הוא נבנה במערכת שלך ולאחר מכן לבנות אותו באמצעות אותה תצורה ותמיכה עבור NVENC ו AAC אודיו. זה המקום שבו כותרות שהעתקת קודם לכן לבוא. ראה, ffmpeg ייקח קצת להציץ קבצים שלך "/ usr / local / include" למצוא כל רכיבי codec זה לא מוצא בכיסים שלה.

ראשית, אנו בונים תלות עם

 sudo apt-get build-dep ffmpeg 

הבא, אנחנו רוצים להוריד את AAC אודיו codec עם

 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 = 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-x11gr ab -enable-libdc1394 - זמין-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv 

עכשיו, להדביק את כל מה שיש לך לתוך gedit או עורך טקסט אחר ולהוסיף את זה עד הסוף:

 - ניתן ללא תשלום --enable-nvenc --enable-libfdk-aac 

בסדר, עכשיו כל מה שאתה צריך לעשות הוא להקליד

 ./configure 

שבו מייצג את הקיר מסיבי של טקסט אתה פשוט נערך להוסיף תמיכה ללא רכיבי codec, NVENC, ו AAC אודיו. פעולה זו עשויה להימשך זמן מה.

אחרי כל זה הוא סיים, הקלד

 עשה 

חכה שזה ייגמר, ואז להקליד

 להתקין להתקין 

אתה סיימת!

בדיקת זה

בסדר, אז איך אתה יודע שקיבלת בהצלחה תמיכה NVNC? זה הזמן לקחת ffmpeg החוצה לסובב לקודד וידאו עם זה.

לשם כך, תזדקק לקובץ וידאו להמרה. נניח שהסרטון שלנו נמצא ב- "/home/miguel/Desktop/test.mkv", ואנחנו רוצים לקודד אותו כ- "/home/miguel/Desktop/test.mp4". הנה איך אנחנו עושים את זה עם ffmpeg ו אהבתה החדשה ל- NVENC:

 שעה ffmpeg -i /home/miguel/Desktop/test.mkv - עותק של עותק -vcodec nvenc /home/miguel/Desktop/test.mp4 

אתה צריך לראות משהו כזה:

וזה הכל! הרגנו שתי ציפורים באבן אחת: למדת איך להשיג את NVENC על מערכת הלינוקס שלך וכיצד לקודד וידאו באמצעות הפקודה המסופקת של ffmpeg. אם אתה תקוע איפשהו או למצוא דרך טובה יותר לעשות זאת, הקפד להשאיר תגובה!