इस प्रोजेक्ट के बारे में
FFMpegCore एक .NET Standard लाइब्रेरी है जो FFMpeg और FFProbe कमांड-लाइन टूल्स को रैप करती है, जिससे .NET एप्लिकेशन से मीडिया विश्लेषण और रूपांतरण संभव हो जाता है। यह सिंक्रोनस और असिंक्रोनस दोनों कॉल का समर्थन करती है।
मीडिया विश्लेषण FFProbe के माध्यम से किया जाता है, जो Analyse या AnalyseAsync के जरिए किसी दिए गए इनपुट पथ के लिए मीडिया जानकारी लौटाता है।
रूपांतरण FFMpeg के माध्यम से एक fluent argument builder का उपयोग करके संभाला जाता है। इनपुट फ़ाइलों या pipes से आ सकते हैं, और आउटपुट फ़ाइलों या pipes पर जा सकते हैं। विकल्पों में वीडियो और ऑडियो कोडेक, constant rate factor, variable bitrate, scaling जैसे वीडियो फ़िल्टर, और वेब प्लेबैक के लिए faststart शामिल हैं। लाइब्रेरी स्ट्रीम से और स्ट्रीम में रूपांतरण का भी समर्थन करती है, उदाहरण के लिए VP9/WebM आउटपुट को स्ट्रीम में लिखना।
Helper methods सामान्य कार्यों को सरल बनाते हैं: वीडियो से image snapshots कैप्चर करना (डिस्क पर सहेजना या वैकल्पिक System.Drawing.Common या SkiaSharp extension packages के माध्यम से मेमोरी में प्रोसेस करना), वैकल्पिक aspect-ratio-preserving resize के साथ GIF snapshots कैप्चर करना, वीडियो भागों को जोड़ना, समय सीमा के अनुसार sub-videos बनाना, image sequence को वीडियो में जोड़ना, ऑडियो म्यूट करना, ऑडियो ट्रैक निकालना, ऑडियो ट्रैक बदलना, और एक स्थिर छवि को ऑडियो फ़ाइल के साथ संयोजित करना।
Input piping प्रोग्राम मेमोरी से सीधे वीडियो फ़्रेम लिखने की अनुमति देता है, बिना मध्यवर्ती छवि फ़ाइलें सहेजे, और फ़्रेम उत्पन्न या प्राप्त होते समय on-the-fly रूपांतरण सक्षम करता है। IPipeSource इंटरफ़ेस में स्ट्रीम, raw video frames और raw audio samples के लिए कार्यान्वयन हैं। Raw video frame स्रोत एक frame rate सेट कर सकते हैं, और image extension packages System.Drawing.Bitmap या SKBitmap को frame इंटरफ़ेस में अनुकूलित करने वाले wrappers प्रदान करते हैं।
Binaries को रनटाइम पर FFMpegCore.Extensions.Downloader पैकेज के माध्यम से इंस्टॉल किया जा सकता है, जो ffbinaries API का उपयोग करके ffmpeg और ffprobe को एक कॉन्फ़िगर किए गए binary फ़ोल्डर में लाता है। वैकल्पिक रूप से, binaries को Windows पर Chocolatey, macOS पर Homebrew, या Ubuntu पर apt जैसे package managers के माध्यम से मैन्युअल रूप से इंस्टॉल किया जा सकता है।
Path configuration FFOptions क्लास के माध्यम से विश्व स्तर पर, प्रति रन, या पहले उपयोग पर पढ़ी जाने वाली ffmpeg.config.json फ़ाइल के माध्यम से उपलब्ध है। विकल्पों में binary फ़ोल्डर, temporary files फ़ोल्डर और working directory शामिल हैं। मिश्रित 32-bit और 64-bit परिनियोजन के लिए, binary फ़ोल्डर के अंदर अलग x64 और x86 सबफ़ोल्डर architecture-specific binaries रख सकते हैं; अन्यथा लाइब्रेरी सीधे binary फ़ोल्डर में देखती है।
प्रोजेक्ट नोट करता है कि पुराने ffmpeg संस्करण लाइब्रेरी द्वारा उजागर किए गए हर argument का समर्थन नहीं कर सकते हैं, और CI ffmpeg 8.1 के विरुद्ध परीक्षण करता है। यह MIT लाइसेंस के तहत जारी किया गया है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.