मैं इस तरह की चीजों का उपयोग कर रहा हूं:
avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm
कहाँ पे:
-f x11grab
- इनपुट के स्क्रीन कैप्चर "प्रारूप" को लागू करता है।
-s 1024x768
इनपुट फ़ाइल (उर्फ कब्जा क्षेत्र) का संकल्प है। उदाहरण के लिए डेस्कटॉप रिज़ॉल्यूशन के बराबर। यदि इससे छोटा है, तो रिकॉर्डिंग क्षेत्र बाईं और सबसे ऊपर होगा। मैंने इस उदाहरण में 1024x768 रिकॉर्डिंग क्षेत्र का उपयोग किया।
-r 24
- फ्रेम रेट। मूल रूप से, 23 से 30 एफपीएस एक चिकनी रिकॉर्डिंग तस्वीर देने के लिए वास्तविक फिल्मों द्वारा उपयोग किया जाता है। हालाँकि, स्क्रेंकास्ट के लिए यह कम हो सकता है कि इसे कम बिट्रेट पर बेहतर चित्र प्राप्त करने के लिए कम किया जाए। मैंने गेम स्क्रीन कैप्चर करने के लिए 24 का उपयोग किया।
-i 0:0
प्रदर्शन 0: 0 स्रोत के रूप में उपयोग करने के लिए एक संकेत है (डिवाइस एक्सगोर नोटेशन में है)। यदि आपके पास केवल 1 मॉनिटर और डिफ़ॉल्ट Xorg सेटअप है, तो 0: 0 अधिकतर बार ठीक होगा।
-deadline realtime
- libvpx के लिए एक संकेत है। हम लाइव कैप्चर चाहते हैं। हम रियलटाइम प्रदर्शन चाहते हैं। तो REVTIME में VP8 को एनकोड करने के लिए libvpx सबसे अच्छा करेगा। ऐसा करने के लिए यह कुछ हद तक गति के लिए गुणवत्ता का व्यापार करता है। दी गई बिटरेट क्वालिटी गैर-रियलटाइम तरीके से थोड़ी खराब होगी। लेकिन एन्कोडिंग स्पीड आसमान छू जाएगी। इसलिए मेरे हार्डवेयर पर यह 1024x768 @ 24FPS, तीव्र दृश्य, बिना किसी फ्रेम को गिराए (शक्तिशाली सीपीयू हालांकि अनुशंसित) को क्रंच कर सकता है। इस उदाहरण में, मैं अच्छे एफपीएस और काफी बड़े कैप्चर क्षेत्र में एक सभ्य-गुणवत्ता वाला लाइव कैप्चर चाहता था। तो कोडेक द्वारा सीपीयू उपयोग एक मुद्दा हो सकता है। इसलिए अच्छे परिणाम के लिए इस संकेत की आवश्यकता है।
-b 5000000
- बिट्स / सेकंड में लक्ष्य बिटरेट। मैंने 5Mbits का इस्तेमाल किया और काफी गहन दृश्यों की कम या ज्यादा अच्छी तस्वीर प्राप्त की। कोडेक इस मूल्य के करीब वीडियो की औसत बिटरेट गति रखने की कोशिश करेगा। यह मान जितना कम होगा, गुणवत्ता उतनी ही खराब होगी और फ़ाइल छोटी होगी। आप यह जानने के लिए थोड़ा प्रयोग कर सकते हैं कि विशेष रूप से उपयोग के लिए बिटरेट क्या अच्छा है। यदि आप ओवरशूट करते हैं तो वीडियो शेयरिंग सेवाएं वीडियो को परिवर्तित कर देंगी। यदि आप स्वयं के सर्वर का उपयोग करने वाले हैं, तो ट्रैफिक का ध्यान रखना आपके ऊपर है। यदि आप रेखांकित करते हैं, तो तस्वीर की गुणवत्ता खराब होगी। विचार के लिए मूल्य बदलने के लिए स्वतंत्र महसूस करें जो आपके लिए सबसे अच्छा है। 5Mbits उन खेलों में तीव्र दृश्यों के कम या ज्यादा सुखद-सुखद लाइव कैप्चर के लिए बनाए गए थे जहाँ आप आसानी से नहीं देख सकते हैं कि तस्वीर बहुत ज्यादा प्रभावित है। अभी भी अनुप्रयोगों पर कब्जा करने के लिए आपको मूल रूप से उससे कम की आवश्यकता होगी।
-minrate
200000 - कोडेक के लिए न्यूनतम अनुमत बिटरेट है। जिस चीज़ को आप कैप्चर करना चाहते हैं, उसकी प्रकृति के आधार पर, कभी-कभी आप किसी भी चीज़ पर बिना किसी कारण के चित्रांकन को बनाए रखने के लिए न्यूनतम बिटरेट के लिए बाध्य करना चाह सकते हैं। कभी-कभी कोडेक हेयुरिस्टिक आपको कुछ दृश्यों में खराब तस्वीर देने वाले मूल्यों से बहुत कम नीचे बिटरेट को कम कर सकता है। यह विकल्प कोडेक को न्यूनतम बिटरेट रखने के लिए मजबूर करने की अनुमति देता है, भले ही कोडेक को लगता है कि दृश्य सरल है और बिटरेट को गिराया जा सकता है। इस पैरामीटर का उच्च मान कोडक को कम बिटरेट का उपयोग करने से रोककर फ़ाइल का आकार बढ़ा सकता है।
-maxrate 40000000
- यह मान तीव्र दृश्यों पर अधिकतम फट बिटरेट को नियंत्रित करता है। मैं वास्तव में उच्च मूल्य का उपयोग करता था कोडेक को वांछित औसत से कहीं अधिक जाने की अनुमति देता है अगर यह मानता है कि कुछ दृश्य पर सभ्य गुणवत्ता रखने के लिए उच्च गति अनिवार्य है। सभी स्थितियों में एक अच्छी दिखने वाली तस्वीर प्राप्त करने के लिए इसे पर्याप्त रूप से सेट करना वांछनीय है (40Mbit ब्लू-लाइक गति है और चाल चलेगा)। दूसरी ओर, यदि आप इसे अपने स्वयं के सर्वर का उपयोग करके स्ट्रीम करने जा रहे हैं, तो आपको कुछ दृश्यों की गुणवत्ता को तीव्र दृश्यों पर कम करना होगा। एल्स सर्वर वांछित फट बिटरेट के साथ सामना करने में विफल हो सकता है, उपयोगकर्ताओं को रियलटाइम तरीके से इसे वितरित करने में असमर्थ है। तब खिलाड़ी बफर अंडररन (जो कष्टप्रद है) का सामना करेगा। वीडियो-शेयरिंग सेवाएं अपने दम पर देखभाल करेंगी और आमतौर पर तस्वीर की गुणवत्ता की कीमत पर वीडियो को निचले मापदंडों तक ले जाएंगी।
recording-filename-000.webm
- आउटपुट का एक फ़ाइल नाम है। यदि आप .webm एक्सटेंशन का उपयोग करते हैं, तो ffmpeg / avconv आपको समझने के लिए काफी स्मार्ट हैं। यह सरल है - एवोकन फ़ाइलनाम से वांछित प्रारूप का अनुमान लगाता है। तो .WEBM फाइलें WEBM अंदर हैं।
वह यह है - यह कमांड webm फाइल को डायरेक्ट स्क्रीन रिकॉर्डिंग करता है। किसी अतिरिक्त रूपांतरण की आवश्यकता नहीं है और libvpx
यह जितना हो सके उतना तेज़ होने का संकेत देता है। कोई ध्वनि नहीं है क्योंकि ध्वनि इनपुट के लिए कोई विनिर्देश नहीं है। यह हो सकता है या आप क्या चाहते हैं नहीं हो सकता है। ध्वनि के लिए, आपको ध्वनि प्रवाह के लिए इनपुट स्रोत भी निर्दिष्ट करना होगा।
पुनश्च यह थोड़ा अधूरा लग सकता है लेकिन दिन के अंत में आप यह पता लगा सकते हैं कि एक आकार सभी फिट नहीं हो सकता। इसलिए सभी स्थितियों में एक अच्छी दिखने वाली तस्वीर पाने के लिए आप वास्तव में इस्तेमाल किए गए कोडेक के लिए कुछ हैंडल रखना चाहते हैं और उन्हें समायोजित करना चाहते हैं। Ffmpeg आपको वे सभी हैंडल देता है जिनकी आपको कभी आवश्यकता हो सकती है और इससे कहीं अधिक। यह वीडियो रूपांतरण और एन्कोडिंग का भारी हथियार है। तो यह उदाहरण उन लोगों के लिए शुरू करने के लिए एक अच्छा बिंदु है जो कम या ज्यादा उन्नत एन्कोडिंग करना चाहते हैं और वास्तव में अच्छे दिखने वाले परिणाम प्राप्त करने के लिए थोड़ा प्रयोग करने के लिए तैयार हैं।