
FFmpeg
ओपन सोर्स मल्टीमीडिया प्रोसेसिंग फ्रेमवर्क
FFmpeg API के माध्यम से ऑडियो और वीडियो फ़ाइलों को एन्कोड, डिकोड, ट्रांसकोड, स्ट्रीम और कन्वर्ट करें।
FFmpeg क्या है?
FFmpeg एक प्रमुख ओपन सोर्स मल्टीमीडिया फ्रेमवर्क है जो डेवलपर्स को ऑडियो और वीडियो कंटेंट को रिकॉर्ड, कनवर्ट और स्ट्रीम करने में सक्षम बनाता है। इसमें लाइब्रेरीज़ का व्यापक सेट शामिल है—जैसे libavcodec, libavformat, libavutil, libavfilter, libswscale, और libswresample—जो विविध मल्टीमीडिया कार्यों को संभालने के लिए मजबूत टूल प्रदान करता है। सैकड़ों कोडेक्स और फॉर्मैट्स के समर्थन के साथ, FFmpeg अनगिनत एप्लिकेशन्स को शक्ति देता है, जैसे वीडियो एडिटिंग सॉफ़्टवेयर से लेकर स्ट्रीमिंग सर्वर और मीडिया प्लेयर्स तक।
FFmpeg अपनी लचीलापन, प्रदर्शन और सक्रिय समुदाय समर्थन के कारण विभिन्न उद्योगों में व्यापक रूप से अपनाया गया है। यह सरल फॉर्मेट रूपांतरण से लेकर जटिल वीडियो फ़िल्टरिंग और रीयल‑टाइम स्ट्रीमिंग तक सब कुछ संभालता है। चाहे आप एक मीडिया सर्वर, डेस्कटॉप प्लेयर, या क्लाउड‑आधारित ट्रांसकोडिंग पाइपलाइन बना रहे हों, FFmpeg विश्वसनीय और उच्च‑गुणवत्ता वाली प्रोसेसिंग क्षमताएँ प्रदान करता है। इसके कमांड‑लाइन टूल्स जैसे ffmpeg, ffplay, और ffprobe स्क्रिप्ट्स और ऑटोमेशन वर्कफ़्लो में आसानी से एकीकृत किए जा सकते हैं, जबकि इसका C API और बाइंडिंग्स (जैसे Python के लिए) गहरी प्रोग्रामेटिक नियंत्रण की अनुमति देते हैं।
FFmpeg के साथ शुरुआत
FFmpeg का उपयोग शुरू करने के लिए, इसे अपने सिस्टम के पैकेज मैनेजर के माध्यम से स्थापित करें (उदाहरण के लिए, Ubuntu पर `apt install ffmpeg`, macOS पर `brew install ffmpeg`) या आधिकारिक साइट से प्रीबिल्ट बाइनरी डाउनलोड करें। प्रोग्रामेटिक उपयोग के लिए, Python रैपर को `pip install ffmpeg-python` के द्वारा स्थापित करें या आधिकारिक C लाइब्रेरी हेडर का उपयोग करें। FFmpeg गिटहब पर भी उपलब्ध है [FFmpeg गिटहब](https://github.com/FFmpeg/FFmpeg), जहाँ आप कस्टम कॉन्फ़िगरेशन के लिए स्रोत कोड से बना सकते हैं। इसका हल्का फ़ुटप्रिंट और क्रॉस‑प्लेटफ़ॉर्म समर्थन इसे डेस्कटॉप, सर्वर और एम्बेडेड डिप्लॉयमेंट के लिए आदर्श बनाता है।
पैकेज मैनेजर्स के माध्यम से FFmpeg स्थापित करें
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# macOS (Homebrew)
brew install ffmpeg
# Python wrapper
pip install ffmpeg-python
मीडिया को विभिन्न स्वरूपों में बदलें
FFmpeg सैकड़ों फ़ॉर्मेट और कोडेक के बीच मीडिया फ़ाइलों को परिवर्तित करने में उत्कृष्ट है। आप MP4 से WebM में वीडियो ट्रांसकोड कर सकते हैं, वीडियो फ़ाइलों से ऑडियो निकाल सकते हैं, या बिना री‑एन्कोडिंग (स्ट्रीम कॉपी) के कंटेनर फ़ॉर्मेट बदल सकते हैं। इसकी बुद्धिमान डिफ़ॉल्ट सेटिंग्स उच्च गुणवत्ता सुनिश्चित करती हैं, जबकि उन्नत विकल्प आपको बिटरेट, रिज़ॉल्यूशन, फ्रेम रेट और कोडेक पैरामीटर को सूक्ष्म रूप से समायोजित करने देते हैं। चाहे आप वेब स्ट्रीमिंग, अभिलेखीय या विशिष्ट डिवाइस पर प्लेबैक के लिए सामग्री तैयार कर रहे हों, FFmpeg आउटपुट गुणवत्ता और संगतता पर सटीक नियंत्रण प्रदान करता है। कमांड‑लाइन इंटरफ़ेस जटिल फ़िल्टर चेन का समर्थन करता है जो रूपांतरण के दौरान रिसाइज़िंग, क्रॉपिंग और इफ़ेक्ट्स लागू करने के लिए उपयोगी हैं।
FFmpeg के साथ MP4 को WebM में कैसे बदलें?
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
रियल-टाइम स्ट्रीमिंग और लाइव प्रसारण
FFmpeg RTMP, HLS, और SRT जैसे प्रोटोकॉल पर लाइव मीडिया को इनजेस्ट करने, ट्रांसकोड करने और स्ट्रीम करने का समर्थन करता है। यह वेबकैम, माइक्रोफ़ोन या नेटवर्क स्रोतों से कैप्चर कर सकता है और YouTube, Twitch, या कस्टम RTMP सर्वरों जैसे प्लेटफ़ॉर्म पर स्ट्रीम पुश कर सकता है। कम लेटेंसी विकल्पों और अनुकूलनशील बिटरेट स्ट्रीमिंग के साथ, FFmpeg इवेंट्स, गेमिंग और निगरानी के लिए लाइव ब्रॉडकास्टिंग पाइपलाइन को शक्ति देता है। कई इनपुट को संभालने, ग्राफिक्स ओवरले करने और रीयल‑टाइम फ़िल्टर लागू करने की इसकी क्षमता इसे प्रोफ़ेशनल‑ग्रेड स्ट्रीमिंग सेटअप के लिए आदर्श बनाती है। आप आउटपुट को DASH/HLS के लिए सेगमेंट भी कर सकते हैं ताकि मोबाइल और वेब क्लाइंट्स पर अनुकूलनशील प्लेबैक हो सके।
YouTube Live पर वीडियो फ़ाइल को कैसे स्ट्रीम करें?
ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 160k -f flv "rtmp://a.rtmp.youtube.com/live2/your_stream_key"
वीडियो फ़िल्टरिंग और पोस्ट-प्रोसेसिंग
FFmpeg का libavfilter फ्रेमवर्क एक निर्देशित एसीक्लिक ग्राफ़ के माध्यम से शक्तिशाली रीयल-टाइम वीडियो फ़िल्टरिंग सक्षम करता है। आप क्रॉप, स्केल, रोटेट, डीइंटरलेस, डीनॉइज़, वॉटरमार्क ओवरले, टेक्स्ट जोड़ना, रंग समायोजित करना, और स्लो मोशन या टाइम-लैप्स जैसे जटिल प्रभाव लागू कर सकते हैं—बिना पूरे स्ट्रीम को पुनः-एन्कोड किए। फ़िल्टरों को मल्टी-स्टेज प्रोसेसिंग के लिए चेन किया जा सकता है, और हार्डवेयर एक्सेलेरेशन (जैसे NVENC, VAAPI, VideoToolbox) आधुनिक GPUs पर प्रदर्शन सुनिश्चित करता है। यह FFmpeg को वीडियो संपादकों, कंटेंट निर्माताओं, और उन डेवलपर्स के लिए अनिवार्य बनाता है जो विज़ुअल एन्हांसमेंट या फ़ॉर्मेट नॉर्मलाइज़ेशन की आवश्यकता वाले मीडिया प्रोसेसिंग पाइपलाइन बनाते हैं।
वीडियो को क्रॉप, स्केल और वॉटरमार्क कैसे जोड़ें?
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v]crop=1280:720:0:0[scaled];[scaled][1:v]overlay=10:10" -c:a copy output.mp4
मेटाडेटा और सबटाइटल्स निकालें और संशोधित करें
FFmpeg मीडिया फ़ाइलों में एम्बेड किए गए मेटाडेटा (टैग) और सबटाइटल्स पर पूर्ण नियंत्रण प्रदान करता है। आप सरल कमांड्स का उपयोग करके मेटाडेटा (जैसे, शीर्षक, कलाकार, एल्बम, GPS डेटा) को निकाल सकते हैं, संपादित कर सकते हैं या हटा सकते हैं, या SRT, ASS, और VTT जैसे फ़ॉर्मैट्स के बीच सबटाइटल्स को परिवर्तित कर सकते हैं। यह वीडियो में सबटाइटल्स को बर्न करने या उन्हें अलग ट्रैक्स के रूप में एम्बेड करने का समर्थन करता है। एक्सेसिबिलिटी और लोकलाइज़ेशन वर्कफ़्लो के लिए, FFmpeg सबटाइटल फ़ाइलों की बैच प्रोसेसिंग, टाइमिंग समायोजन, और भाषा ट्रैक प्रबंधन की अनुमति देता है। यह सबटाइटल लोकलाइज़ेशन, मीडिया एसेट प्रबंधन, और एम्बेडेड मेटाडेटा की आवश्यकता वाले प्रसारण मानकों के अनुपालन के लिए आदर्श बनाता है।
वीडियो फ़ाइल से सबटाइटल कैसे निकालें?
ffmpeg -i input.mkv -map 0:s:0 -c:s srt output.srt
