एन्कोडिंग वीडियो फाइलें पूरी ड्रैग हो सकती हैं। यहां तक ​​कि बाजार पर सबसे तेज़ CPUs के साथ, प्रक्रिया को तब तक ले जाया जा सकता है जब तक वीडियो स्वयं (जैसे तीस मिनट के वीडियो के लिए एन्कोडिंग के तीस मिनट)। कोई फर्क नहीं पड़ता कि एन्कोडिंग प्रोग्राम आपको क्या पेशकश करते हैं, वे हमेशा आपके चिप्स की शक्ति से सीमित होते हैं।

इस मुद्दे को हल करने के लिए, एनवीआईडीआईए कार्डों में निफ्टी छोटी चाल है जिसे वे 2012 में वापस जेएफफोर्स 600 सीरीज ग्राफिक्स कार्ड के रिलीज के बाद उपयोग कर रहे थे, जिसे एनवीएनसी कहा जाता है। यह आपको वीडियो धाराओं को एन्कोड करने के लिए GPU का उपयोग करने की अनुमति देता है। एनवीएनसीसी का उपयोग करके, न केवल आप पारंपरिक सीपीयू के मुकाबले वीडियो को अधिक तेज़ी से परिवर्तित कर सकते हैं, लेकिन आप स्टूटर और अंतराल को कम करने या पूरी तरह समाप्त करने के दौरान ओपन ब्रॉडकास्टर सॉफ्टवेयर (ओबीएस) जैसे सॉफ़्टवेयर के माध्यम से भी वीडियो स्ट्रीम कर सकते हैं। चूंकि लिनक्स में डिफ़ॉल्ट रूप से एनवीएनसी नहीं है, इसलिए आपको इसे हाथ से काम करना होगा। मैं यहां बताता हूं कि आप उबंटू पर आधारित वितरण में ऐसा कैसे कर सकते हैं।

पहली चीजें पहले

उबंटू पर काम कर रहे एनवीआईडीआईए के एनवीएनसी को प्राप्त करने के लिए, आपको सबसे पहले इस साइट से एनवीआईडीआईए वीडियो कोडेक सॉफ्टवेयर डेवलपमेंट किट (एसडीके) डाउनलोड करने की आवश्यकता है। आपको एक खाता बनाना होगा, लेकिन प्रक्रिया बहुत सरल है। आपको ज़िप में सभी फाइलों की आवश्यकता नहीं है, इसलिए अब हम "नमूने / आम / इंक" पर नेविगेट करने जा रहे हैं। आप अपने "/ usr / local / include" फ़ोल्डर में जो कुछ भी देखते हैं उसे कॉपी करें। आपको इन फ़ाइलों की प्रतिलिपि बनाने की आवश्यकता है ताकि "ffmpeg" (लिनक्स डिस्ट्रोज़ के साथ अक्सर पाया जाने वाला एक एन्कोडर) एनवीएनसी को पहचान लेगा और इसे शामिल करेगा।

स्रोत कोड रेपॉजिटरीज को कॉन्फ़िगर करना

अगले चरण में ffmpeg के आपके वर्तमान संस्करण को पुन: सम्मिलित करना शामिल होगा। इसका मतलब है कि आपको सॉफ़्टवेयर के लिए बिल्ड निर्भरताओं की आवश्यकता होगी, और इसके लिए आपको अपने सॉफ़्टवेयर स्रोतों में स्रोत कोड रिपॉजिटरीज़ से डाउनलोड करने की अनुमति देने के लिए लिनक्स को कॉन्फ़िगर करना होगा।

उबंटू में, आप "सिस्टम सेटिंग्स -> सॉफ़्टवेयर और अपडेट्स" पर नेविगेट कर सकते हैं, फिर "उबंटू सॉफ्टवेयर" के अंतर्गत "स्रोत कोड" पर क्लिक करें। लिनक्स मिंट में (वितरण मैं उपयोग कर रहा हूं क्योंकि मैं आलसी हूं), यह किया जा सकता है अद्यतन प्रबंधक तक पहुंचकर, "सॉफ़्टवेयर स्रोत" पर क्लिक करके "संपादित करें" पर क्लिक करके, "स्रोत कोड भंडार सक्षम करें" के साथ छोटे बॉक्स को चेक करें। यह विधि आपके डेस्कटॉप वातावरण और लिनक्स के वितरण के आधार पर भिन्न हो सकती है, इसलिए आपको ऐसा करने की आवश्यकता हो सकती है ऐसा करने के लिए एक छोटी सी आत्मा खोज रही है।

अब प्रक्रिया के दाँत पीसने के लिए!

Ffmpeg पुनर्निर्माण

चूंकि ffmpeg अपने कई विकल्पों के साथ स्वचालित रूप से सक्षम नहीं होता है (जिसका अर्थ है कि वे ऑप्ट-आउट के बजाए लगभग सभी ऑप्ट-इन हैं), आपको यह पता लगाना होगा कि यह आपके सिस्टम में कैसे बनाया गया था और फिर इसे एनवीएनसी और एएसी ऑडियो के लिए एक ही विन्यास प्लस समर्थन। यह वह जगह है जहां आपने जिन शीर्षकों की प्रतिलिपि बनाई है, वे आते हैं। देखें, ffmpeg आपकी फ़ाइलों पर "/ usr / local / include" में किसी भी कोडेक्स को खोजने के लिए थोड़ा सा झलक लेगा जो इसे अपने जेब में नहीं मिलता है।

सबसे पहले, हम निर्भरताओं का निर्माण करते हैं

 sudo apt-get build-dep ffmpeg 

इसके बाद, हम एएसी ऑडियो कोडेक को डाउनलोड करना चाहते हैं

 sudo apt-get libfdk-aac-dev स्थापित करें 

एक बार उन चीजों को पूरा करने के बाद, हमें स्रोत को ffmpeg के वर्तमान संस्करण में प्राप्त करने की आवश्यकता होगी

 sudo apt-get स्रोत ffmpeg प्राप्त करें 

और जब यह हो जाता है, तो आपको अपने होम फोल्डर में थोड़ा शिकार करना होगा। "Ffmpeg" से शुरू होने वाला फ़ोल्डर ढूंढें। इसमें डैश द्वारा अलग किए जाने के बाद संस्करण संख्या सही होगी। ये मेरा:

उस फ़ोल्डर में अपना टर्मिनल खोलें। यदि आप ऐसा नहीं कर सकते हैं, तो टर्मिनल खोलें और टाइप करें:

 सीडी ffmpeg- 

जहां "" उस फ़ोल्डर के नाम में आपके द्वारा देखे गए पूर्ण संस्करण संख्या का प्रतिनिधित्व करता है। मेरे मामले में, मैं टाइप करूंगा

 सीडी 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 / शामिल / x86_64-linux-gnu --cc = cc --cxx = g ++ --enable-gpl --enable-shared --disable-stripping --disable-decoder = libopenjpeg --disable-decoder = libschroedinger --enable -अवर्स नमूना --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 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv 

अब, जो भी आपको जीएडिट या कुछ अन्य टेक्स्ट एडिटर में मिला है उसे पेस्ट करें और अंत में इसे जोड़ें:

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

ठीक है, अब आपको बस इतना करना है

 कॉन्फ़िगर 

जहां "" पाठ की विशाल दीवार का प्रतिनिधित्व करता है जिसे आपने अभी गैर-मुक्त कोडेक्स, एनवीएनसी, और एएसी ऑडियो के लिए समर्थन जोड़ने के लिए संपादित किया है। इसमें कुछ समय लग सकता है।

पूरा होने के बाद, टाइप करें

 बनाना 

इसके साथ समाप्त होने की प्रतीक्षा करें, फिर टाइप करें

 सुडो स्थापित करें 

हो गया!

इसका परीक्षण

ठीक है, तो आप कैसे जानते हैं कि आपने एनवीएनसीसी के लिए सफलतापूर्वक समर्थन प्राप्त कर लिया है? अब एक स्पिन के लिए ffmpeg बाहर लेने और इसके साथ एक वीडियो एन्कोड करने का समय है।

ऐसा करने के लिए, आपको कनवर्ट करने के लिए एक वीडियो फ़ाइल की आवश्यकता होगी। आइए मान लें कि हमारा वीडियो "/home/miguel/Desktop/test.mkv" में है, और हम इसे "/home/miguel/Desktop/test.mp4" के रूप में एन्कोड करना चाहते हैं। यहां बताया गया है कि हम ffmpeg के साथ ऐसा करने के बारे में कैसे जाते हैं और एनवीएनसी के लिए इसका नया प्यार:

 समय ffmpeg -i /home/miguel/Desktop/test.mkv -acodec कॉपी -vcodec nvenc /home/miguel/Desktop/test.mp4 

आपको ऐसा कुछ देखना चाहिए:

और बस! हमने एक पत्थर के साथ दो पक्षियों को मार डाला: आपने सीखा है कि कैसे अपने लिनक्स सिस्टम पर एनवीएनसीसी प्राप्त करें और ffmpeg के आसान टर्मिनल कमांड का उपयोग करके वीडियो को एन्कोड कैसे करें। अगर आप कहीं अटक जाते हैं या ऐसा करने का बेहतर तरीका पाते हैं, तो टिप्पणी छोड़ना सुनिश्चित करें!