इस प्रोजेक्ट के बारे में
यह रेपो FFmpeg लाइब्रेरी (libav) का उपयोग करके मल्टीमीडिया प्रोग्राम बनाना सिखाता है। इसे पुराने डिप्रेटेड ट्यूटोरियल्स के आधुनिक विकल्प के रूप में बनाया गया था, और यह कई भाषाओं में उपलब्ध है।
इसमें मीडिया की मूल बातों का परिचय दिया गया है, जो वीडियो, ऑडियो, कोडेक और कंटेनर से संबंधित है। इसके बाद FFmpeg कमांड-लाइन टूल का क्रैश कोर्स है, जिसमें ट्रान्सकोडिंग (कोडेक बदलना), ट्रान्समक्सिंग (कंटेनर बदलना), ट्रान्सरेटिंग (बिटरेट बदलना), ट्रान्ससाइजिंग (रिज़ोल्यूशन बदलना), और DASH का उपयोग करके एडेप्टिव स्ट्रीमिंग जैसी आम वीडियो ऑपरेशन शामिल हैं।
रेपो का मुख्य भाग "Learn FFmpeg libav the Hard Way" है, जो C में कोड-वॉकथ्रू प्रदान करता है:
- चैप्टर 0: एक "हेलो वर्ल्ड" प्रोग्राम जो मीडिया फ़ाइल पढ़ता है, मेटाडेटा निकालता है, फ्रेम डिकोड करता है, और उन्हें ग्रे इमेज के रूप में सहेजता है। इसमें AVFormatContext, AVStream, AVPacket, AVCodec, और AVFrame जैसे FFmpeg libav आर्किटेक्चर घटकों की व्याख्या की गई है।
- चैप्टर 1: ऑडियो और वीडियो सिंक के बारे में बताता है, जिसमें PTS, टाइमबेस, और वीडियो प्लेयर फ्रेम रेंडरिंग को कैसे नियंत्रित करते हैं, इसका विवरण दिया गया है।
- चैप्टर 2: रिमक्सिंग कोड।
- चैप्टर 3: ट्रान्सकोडिंग कोड।
ट्यूटोरियल में कंपाइलेशन समस्याओं से बचने के लिए Docker को डेवलपमेंट और रन समय के रूप में इस्तेमाल किया गया है, और परीक्षण वीडियो प्राप्त करने व उदाहरण चलाने के लिए एक Makefile भी शामिल है। कोड C में लिखा गया है, लेकिन लेखक के अनुसार इन अवधारणाओं को Python और Go जैसे अन्य भाषाओं में FFmpeg बाइंडिंग के साथ आसानी से लागू किया जा सकता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.