Ffmpeg का उपयोग करके एक पेंचकस कैसे बनाया जाए

जो नहीं जानते, उनके लिए ए screencast यह कंप्यूटर स्क्रीन आउटपुट की एक डिजिटल रिकॉर्डिंग है, जिसमें कभी-कभी ऑडियो कथन होता है।

En Linux, वहाँ कई हैं उपकरण करने के लिए स्क्रीनकास्टिंग। हालांकि, जो लोग ऐसा करना पसंद करते हैं कम से कम संसाधनों का उपभोग वे इस लेख को पढ़ना बंद नहीं कर सकते।


2 उपकरणों का उपयोग करना (स्क्रीन और xwininfo को कैप्चर करने के लिए फ़ाइल के निर्देशांक और आयामों को रिकॉर्ड करने के लिए कैप्चर करने के लिए) मैंने न्यूनतम संसाधनों का उपयोग करके और अधिकतम परिणाम प्राप्त करने के लिए स्क्रेंकास्ट करने में कामयाबी हासिल की।

स्क्रिंकस्ट शुरू करने के लिए स्क्रिप्ट

#! / Bin / bash

# चयनित विंडो के निर्देशांक और आकार प्राप्त करें
# यह खिड़की की सजावट को बाहर करता है।
  परेशान xywh
  eval $ (xwininfo -frame |
    sed -n -e "s / ^ + निरपेक्ष ऊपरी-बाएँ X: + ([0-9] +)। * / x = 1 / p"
           -य "s / ^ + पूर्ण ऊपरी-बाएँ Y: + ([0-9] +)। * / y = 1 /"
           -ए "s / ^ + चौड़ाई: + ([0-9] +)। * / w = 1 / p"
           -ए "s / ^ + ऊंचाई: + ([0-9] +)। * / एच = 1 / पी")
$ w = $ w + $ w% 2 # कि चौड़ाई 2 से अधिक है, अन्यथा ffmpeg शिकायत करता है
WIN_XY = $ x "," $ y # प्रारूप XY निर्देशांक
WIN_GEO = $ w "x" $ h # प्रारूप विंडो का आकार
# नोटिस्-सेंक एक संदेश प्रदर्शित करेगा जिसमें पेंचकस की शुरुआत का संकेत होगा।
# अपने कॉन्फ़िगरेशन के अनुरूप मापदंडों के साथ ffmpeg चलाएं।
सूचना-भेजें "शुरू पेंचकान्ट ..." && ffmpeg -f alsa -i hw: 0 -f x11grab -r 25 -s $ WIN_GEO -i: 0.0 + $ WIN_XY -acodecec MP3_lync -async 1 -vcodec libx264 -preset ultrafast - crf 0 -थ्रेड्स 0 save.mp4

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

ऑडियो वास्तुकला

1) यदि आप OSS का उपयोग करते हैं, तो -f alsa -i hw: 0 with -f oss -i / dev / dsp

2) यदि आप केवल ALSA का उपयोग करते हैं, तो आपको स्क्रिप्ट में आने वाले मापदंडों का उपयोग करना होगा (-f alsa -i hw: 0)। Hw के बाद संख्या निर्धारित करने के लिए: आप aplay -l चला सकते हैं और उपयुक्त साउंड कार्ड नंबर चुन सकते हैं।

3) यदि आप पल्स ऑडियो (उबंटू और डेरिवेटिव इस का उपयोग करते हैं) का उपयोग करते हैं, तो मापदंडों -f alsa -ac 1 -i पल्स का उपयोग करें।

एफपीएस

-r 25 एफपीएस (प्रति सेकंड या फ्रेम प्रति सेकंड) को इंगित करता है जिसे आप रिकॉर्ड करना चाहते हैं। 25 एक अच्छा विकल्प है।

ऑडियो, वीडियो और सिंक कोडेक

-acodec libmp3lame ऑडियो कोडेक है। मैंने इसे एमपी में रिकॉर्ड करने के लिए चुना। आप किसी अन्य का उपयोग कर सकते हैं।

-sync 1 वीडियो के साथ ऑडियो के सिंक्रनाइज़ेशन की अनुमति देता है।

-vcodec libx264 -preset ultrafast -crf 0 -threads 0, ffmpeg को बताता है कि उपयोग करने के लिए वीडियो कोडेक x264 है और यह कि प्रीसेट अल्ट्राफास्ट (तेज, धीमा, आदि) है, अन्यथा यह सही ढंग से रिकॉर्ड नहीं करेगा एफपीएस की वांछित राशि। -Crf 0 पैरामीटर कम्प्रेशन स्तर (कम संपीड़न, कम संपीड़न) को इंगित करता है। अंत में, थ्रेड्स 0 का उपयोग करने के लिए थ्रेड्स की संख्या को इंगित करता है, जब 0 ffmpeg पास करना स्वचालित रूप से गणना करता है। ऑडियो सेटिंग्स के साथ, आप अन्य विकल्प चुन सकते हैं।

ये सभी सेटिंग्स मुझे सबसे अच्छा परिणाम देने वाली थीं: एक अपेक्षाकृत छोटी फ़ाइल, एक अच्छी वीडियो गुणवत्ता, जिसमें सिंक्रनाइज़ ऑडियो और कोई लैग नहीं था। हालांकि, मैं आपको दूसरों की खोज के लिए ffmpeg प्रलेखन में गोता लगाने की सलाह देता हूं।

स्क्रिंकस्ट को समाप्त करने के लिए स्क्रिप्ट

#! / Bin / bash
नोटिफ़िकेशन-"एंडिंग स्क्रेंकैस्ट ..." && किलॉल ffmpeg
दोनों लिपियों को काम करने के लिए आपको सूचित-भेजना होगा। सभी उबंटू व्युत्पन्न वितरण इस उपकरण के साथ आने चाहिए। आर्क और डेरिवेटिव में: सुडो पैक्मैन -S का परिचायक है।

ffcast

स्क्रिप्ट लिखने के लिए जानकारी की तलाश में, मुझे पता चला कि किसी को मेरा एक विचार था। Ffcast एक स्क्रिप्ट है जो समान टूल्स (ffmpeg और xwininfo) का उपयोग करती है। मैं इसका उल्लेख करता हूं क्योंकि कुछ को इस स्क्रिप्ट का उपयोग करना अधिक सुविधाजनक लग सकता है।

आर्क और डेरिवेटिव में, मैंने एक टर्मिनल खोला और भाग गया:

यॉटो -एस एफएफकास्ट

बाकी, आप से डाउनलोड कर सकते हैं यहां.

छोर देना…

एक बार जब आप अपने गृह फ़ोल्डर में सहेजे गए स्क्रिप्ट को बना और सहेज लेते हैं, तो आपको इसे निष्पादन अनुमति देनी होगी। Start_screencast और finish_screencast को कहते हैं, एक टर्मिनल में निम्नलिखित कमांड चलाएं:

chmod + x start_screencast
chmox + x terminate_screencast

अंत में, यह केवल प्रत्येक स्क्रिप्ट को 2 शॉर्टकट (शॉर्टकट) को असाइन करने के लिए रहता है जो आपके लिए आरामदायक हैं। इस प्रकार, स्क्रिप्ट तब चलेगी जब आप चयनित कुंजी संयोजन को दबाएंगे।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   माइकल एसपी कहा

    जब से मुझे लिनक्स के बारे में पता चला है, मैं बिल्कुल उसी चीज़ के बारे में सोच रहा हूँ जिसका विवरण अभी इस टिप्पणी में दिया गया है। यह एक महत्वाकांक्षी परियोजना होगी.

  2.   पीएफएमई कहा

    ट्यूटोरियल मुझे अच्छा लगता है लेकिन जैसा कि आप कहते हैं, नौसिखिए उपयोगकर्ताओं के लिए कुछ आसान है, ठीक है, जो मुझे सबसे अच्छा लगता है वह काज़म है, इसका उपयोग करना आसान है और मेरी राय में यह ज्यादा खपत नहीं करता है!!!!!! अभिवादन

  3.   चलो लिनक्स का उपयोग करें कहा

    सभी नहीं। साथ ही, मैं ईमानदारी से नहीं सोचता कि स्क्रीनकास्टिंग के लिए कोई अच्छा इंटरफ़ेस है (जिसमें वह सब कुछ है जो मुझे चाहिए), जो मेरे इच्छित प्रारूपों के साथ काम करता है और जो कुछ संसाधनों का उपभोग करता है।

    मेरे मामले में, टर्मिनल सबसे अच्छा विकल्प है। मैं यह दिखावा नहीं करता कि यह हर किसी के लिए है, लेकिन जो सीख रहा है उसे साझा करना अच्छा है, है ना?

    चियर्स! पॉल।

  4.   जॉर्ज रोचा कहा

    यह गलत है कि यदि हम जीएनयू/लिनक्स के तहत ओएस का विस्तार करना चाहते हैं तो हम उपयोगकर्ताओं को टर्मिनल में उस तरह का काम करने की सलाह देते हैं, लोग कुछ आसान और कार्यात्मक चाहते हैं

    @ingjorgerocha

  5.   व्हाईसोयजुआन कहा

    सर्वर स्तर पर, मैं भी केवल कंसोल का उपयोग करता हूं, कोई ग्राफिकल वातावरण नहीं... यह सबसे व्यावहारिक है और मैं वहां से सबकुछ करता हूं (उदाहरण के लिए स्वचालित बैकअप, जैसा कि आप कहते हैं...), लेकिन, एक मशीन पर आप एक सर्वर के रूप में... आप इस पर स्क्रीनकास्ट क्या करना चाहते हैं? हेहे..एफएफएमपीईजी बहुत मान्य है लेकिन मुझे लगता है कि कंसोल का मुद्दा किस वितरण के आधार पर पृष्ठभूमि में जाना चाहिए।
    चूंकि हमारे पास लिनक्स दुनिया में इतने सारे डिस्ट्रो हैं, और कंसोल सभी स्थितियों में ठीक से काम करने के लिए पर्याप्त रूप से परिपूर्ण है (यह लगभग अचूक है, बल्कि...), हमें जनता के लिए ऐप्स में सुधार करना शुरू करना चाहिए, पॉलिश करना शुरू करना चाहिए, कोड और ग्राफ़िक पहलू... जिसकी आज मांग है।
    हमारे पास काफी पुराने और परित्यक्त लिनक्स प्रोजेक्ट हैं, हम सभी जानते हैं कि... एक अच्छा उदाहरण, मेरे लिए, यही कारण है कि अब कोई निष्पादन योग्य फ़ाइल प्रारूप नहीं है जो आपको फ्लैश ड्राइव पर एक प्रोग्राम लेने और बस डबल क्लिक करने और इंस्टॉल करने की अनुमति देता है यह आसानी से रिपॉजिटरी (और इसलिए नेटवर्क) की आवश्यकता के अलावा है..कोई एपीटॉनसीडी नहीं, यह भी पुराना है..हमें एक मानक, एक ".tux" या विंडोज ".exe" के समान कुछ की आवश्यकता है। क्या यह स्थान संबंधी समस्याओं के कारण है? ?..विंडोज़ में, जिम्प निष्पादन योग्य 72 एमबी पर है और लिनक्स (.deb) के लिए समान 4,2 एमबी पर है... ऐसा क्यों है? ठीक है, क्योंकि जिम्प प्रोग्राम स्वयं, विंडोज़ में यह सुनिश्चित करने के लिए सभी पुस्तकालयों के साथ है कि प्रोग्राम इंस्टॉल होने पर काम करता है। लिनक्स में हमारे पास कुछ समान हो सकता है, निष्पादन योग्य अधिक जगह लेगा, हम लाभ खो देंगे आकार का लेकिन हम पोर्टेबिलिटी में लाभ प्राप्त करेंगे (और लेकिन इतनी बड़ी यादों के साथ जो हम आज अपनी जेबों में रखते हैं... अगर हम लगभग सभी 4 जीबी फ्लैश ड्राइव रखते हैं तो 72 एमबी की तुलना में 8 एमबी ले जाने में क्या फर्क पड़ता है?)
    ये सभी चीजें वे हैं जिन्हें चमकाना होगा... सिस्टम स्थिर है, इसमें बहुत अच्छा समर्थन और ड्राइवर अनुकूलता है... जो है उसमें हम सुधार क्यों नहीं करते?... अगर किसी को प्रोत्साहित किया जाता है, तो हम शुरू करते हैं निष्पादन योग्य परियोजना हेहे। नमस्कार!

  6.   हिदाबे कहा

    उह... ठीक है, जो लोग कंसोल को पसंद करते हैं वे इसे पसंद नहीं करते हैं क्योंकि हां, प्रिय मित्र, वे इसे पसंद करते हैं क्योंकि इसके साथ कई चीजें स्वचालित की जा सकती हैं, उदाहरण के लिए, सर्वर स्तर पर (हालांकि यह मामला नहीं है)।

  7.   व्हाईसोयजुआन कहा

    ईमानदारी से कहूं तो, कंसोल बहुत उपयोगी है... लेकिन कुछ जीयूआई वाले प्रोग्राम हैं जो एफएफएमपीईजी का उपयोग करते हैं और संभावित नए लिनक्स उपयोगकर्ताओं के लिए अधिक आकर्षक और रचनात्मक हैं... मैं रिकॉर्डमायडेस्कटॉप की अनुशंसा करता हूं जो लगभग सभी डिस्ट्रोज़ के रिपॉजिटरी में है। मैं वहां जानता हूं बहुत से लोग हैं जो कंसोल को पसंद करते हैं, लेकिन इसे जितना संभव हो सके दूर किया जाना चाहिए... लिनक्स को डेस्कटॉप पर ध्यान केंद्रित किया जाना चाहिए और एक संभावित अंतिम उपयोगकर्ता जो मूल रूप से यह चाहता है, एक ग्राफिकल इंटरफ़ेस और यदि संभव हो तो सुंदर और व्यावहारिक.. .क्या यह इतना मुश्किल है? यार, कि हम खुद को आगे नहीं बढ़ने दे सकते...लिनक्स में जबरदस्त क्षमता है और हमें इसे निचोड़ना चाहिए!
    सब कुछ के बावजूद, यह एक शानदार कार्यक्रम है! अच्छी पोस्ट ^^

  8.   व्हाईसोयजुआन कहा

    सच तो यह है कि, जो कुछ भी सीखा जा रहा है उसे साझा करना बहुत अच्छा है... यह पोस्ट के अवमूल्यन के अर्थ में आलोचना नहीं है, बल्कि इस बात की आलोचना है कि अधिक लोग लिनक्स का उपयोग क्यों नहीं करते हैं... वे जो भी कहें, कंसोल ग्राफिकल सुविधाओं को रास्ता देने के लिए इसे धीरे-धीरे पृष्ठभूमि में कम किया जाना चाहिए (इसका मतलब यह नहीं है कि कंसोल पर काम करने की संभावना को खारिज कर दिया गया है, लेकिन जो कोई भी इसका उपयोग करना चाहता है और जो नहीं करना चाहता है, ठीक है नहीं...)
    दिन के अंत में, जो बिकता है, जो ध्यान आकर्षित करता है वह है ओएस को संभालने में आसानी... आंतरिक रूप से लिनक्स अजेय है, लेकिन अगर हम उपयोग में आसानी और सहज इंटरफेस जोड़ते हैं... तो हमें उपयोगकर्ता मिलते हैं और इससे लाभ होता है समुदाय का विकास, विभिन्न कार्यक्रम, वीडियो गेम कंपनियों से समर्थन और इसलिए विशिष्ट हार्डवेयर (जैसे ग्राफिक्स कार्ड...), विशेष सॉफ़्टवेयर का निर्माण जो वर्तमान में केवल विंडोज़/मैक पर मौजूद है... मुझे नहीं पता, मैं सोचें कि यह 15एम जैसा है... सब कुछ बहुत अच्छा है लेकिन अब समय थोड़ा सा बदलने का है... और मेरा मतलब थोड़ा सा है!

    खैर, मानक लिनक्स निष्पादनयोग्य प्रोजेक्ट अभी भी चालू है, अगर कोई इसे पढ़ता है और चाहता है कि हम यहां सहयोग शुरू करें तो मेरा ईमेल है, मैं छिपा नहीं रहा हूं (whysoyjuan@gmail.com)

    नमस्ते और मुझे यहां और अधिक टिप्पणियाँ देखने की उम्मीद है...चाहे वे आलोचनाएँ हों या प्रशंसा, तथ्य यह है कि बात करने के लिए कुछ न कुछ है। Xao

  9.   चलो लिनक्स का उपयोग करें कहा

    अच्छा! अच्छा योगदान.
    झप्पी! पॉल

  10.   Gerardo कहा

    इस कार्यक्रम में क्या शामिल है... सावधान रहें, मुझे इसके बारे में बहुत जानकारी नहीं है!

    1.    चलो linux का उपयोग करते हैं कहा

      आमतौर पर इसका उपयोग वीडियो कन्वर्ट करने के लिए किया जाता है। इस मामले में, हम प्रदर्शित करते हैं कि उदाहरण के लिए, अपने डेस्कटॉप को रिकॉर्ड करने और वीडियो ट्यूटोरियल बनाने के लिए इसका उपयोग कैसे करें।
      झप्पी! पॉल।

  11.   तारिबालिस कहा

    धन्यवाद। रिज़ॉल्यूशन में, उदाहरण के लिए 1280X800, ffmpeg कमांड के काम करने के लिए X को बड़े अक्षरों में लिखा जाना चाहिए।