मैं एफएफएमपीई पर लिबाव क्यों चुनूंगा, या क्या कोई अंतर है?


72

मैंने जो देखा है, उससे मुझे ऐसा लगता है कि जैसे लीलाव का avconvउत्तराधिकारी बनना तय है ffmpeg- क्या यह सही है?

अगर यह सच है, तो ऐसा क्यों है? क्या वास्तव में काम करना बेहतर है और मैं इसे ffmpeg पर क्यों चुनना चाहूंगा?

मैं एक VM में Ubuntu 12.04.1 LTS को स्थापित करते समय इस "मुद्दे" पर आया था और जब मैंने ffmpeg स्थापित किया है, तो यह एक संदेश के साथ आया जिसमें एक संदेश बता रहा है कि mit ffmpeg को पदावनत किया गया है और मैंने पहली बार सोचा "wtf?"।

यदि मैं उपयोग करता हूँ तो avconvक्या मैं अपनी स्क्रिप्ट्स को ffmpeg के आधार पर अधिक या कम परिवाद में आसानी से स्थानांतरित कर पाऊंगा? मैं ज्यादातर मेटा डेटा लिखने और ऑडियो रूपांतरण (wav, flac, vorbis, एमपी 3, एएसी) का उपयोग कर रहा हूं।


1
ffmpeg निश्चित रूप से अप्रचलित नहीं है, यह जो भी करता है उसके लिए नस्ल में बहुत अधिक श्रेष्ठ है।
जेम्स कैंपबेल

जवाबों:


94

सबसे पहले यह देखें कि कौन मुझे ffmpeg, libav और avconv के बीच अंतर और संबंध बता सकता है । अधिकांश भ्रम का परिणाम है:

  1. उपयोगकर्ता प्रोजेक्ट्स, FFmpeg और libav और उनके संबंधित कमांड-लाइन टूल ffmpegऔर के बीच अंतर नहीं कर रहे हैं avconv
  2. खराब शब्द वाले संदेश (संदेश) उपयोगकर्ताओं को तब मिलते हैं जब वे libav का उपयोग करने का प्रयास करते हैं ffmpeg

FFmpeg बनाम ffmpegऔर libav बनामavconv

  • FFmpeg प्रोजेक्ट का नाम है। ffmpegउनके कमांड लाइन टूल का नाम है।
  • libav प्रोजेक्ट नाम है। avconvउनके कमांड लाइन टूल का नाम है। थोड़े समय के लिए लिबाव भी था ffmpeg

उपयोगकर्ताओं को अक्सर लगता है कि "प्रोजेक्ट" जब "टूल" पर चर्चा की जा रही है, जिसके कारण ...

घटिया शब्द का संदेश

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

उबंटू ने संक्रमणकालीन अवधि के दौरान स्विच किया जब लिबाव ने उनके ffmpegऔर उनके नामांकित टूल के दोनों संस्करण की आपूर्ति की avconv। जब उपयोगकर्ताओं ने libav का उपयोग करने का प्रयास किया ffmpegतो उन्हें निम्न संदेश मिला:

This program is not developed anymore and is only provided for compatibility.  
Use avconv instead (see Changelog for the list of incompatible changes).

इस मामले में संदेश में उल्लिखित "ffmpeg" लिबाव का अस्थायी संस्करण था जिसे बाद में हटा दिया गया था (जैसा कि संदेश था)। FFmpeg और के बीच का अंतर याद है ffmpeg? बेशक इस संदेश ने कई उपयोगकर्ताओं को अच्छी तरह से भ्रमित कर दिया, जिन्होंने परियोजना और उपकरण के बीच अंतर नहीं किया; विशेष रूप से उबंटू उपयोगकर्ताओं को जो इस बात से अवगत नहीं थे कि उनके डिस्ट्रो ने एक स्विचरो या उन उपयोगकर्ताओं को किया है जिन्होंने कभी लिबाव के बारे में नहीं सुना है। मुझे नहीं पता कि लिबाव ने उपयोगकर्ताओं को यह सोचने का इरादा किया था, लेकिन उन्होंने शायद इस दुष्प्रभाव का आनंद लिया।

कुछ उबंटू उपयोगकर्ताओं को लगा कि संदेश बहुत भ्रामक था और इसे बाद में बदल दिया गया:

***THIS PROGRAM IS DEPRECATED***
This program is not developed anymore and is only provided for compatibility.  
Use avconv instead (see Changelog for the list of incompatible changes).

मेरी राय में एक छोटा सा सुधार, लेकिन मुझे लगता है जैसे यह पर्याप्त स्पष्ट नहीं है।

मैं किसका उपयोग करूं?

कोई भी आपको यह नहीं बता सकता है कि किसका उपयोग करना है। उपयोगकर्ताओं के लिए मुख्य अंतर यह है कि एफएफएमपीएफ परिवाद से कई कमानों का विलय कर देता है, लेकिन यह पारस्परिक रूप से पारस्परिक नहीं है क्योंकि लिबाव यह दिखावा करता है कि एफएफएमपीएफ मौजूद नहीं है और केवल कभी-कभी एफएफएमपीपी से चेरी-पिक्स होता है।

आकस्मिक उपयोगकर्ता के लिए, बहुत बड़ा अंतर नहीं होना चाहिए। उबंटू उपयोगकर्ताओं के लिए, जो FFmpeg का उपयोग करना चाहते हैं, आप FFmpeg और x264 को कैसे संकलित करें , जॉन सेवेरिनसन के FFmpeg PPA का उपयोग कर सकते हैं, या FFmpeg डाउनलोड पृष्ठ से जुड़ा एक साधारण स्थिर बाइनरी प्राप्त कर सकते हैं ।

अधिक जानकारी के लिए FFmpeg / Libav स्थिति देखें


27
यह एक बुरी तरह से लिखे गए संदेश से परे है, यह गलत है। FFmpeg ने विकास को बिल्कुल भी नहीं रोका है, वास्तव में FFmpeg में LibAV से कहीं अधिक बड़ा समुदाय है ... उबंटू के अनुचर ने उपयोगकर्ताओं को गलत संदेश से LibAV का उपयोग करने के लिए उस संदेश को धोखा देने के लिए बनाया जिससे FFmpeg मर गया। यह 100% शुद्ध द्वेष है।
मार्कस जे।

1
avconv भी LADSPA का समर्थन नहीं करता
Vassilis

5
@MarcusJ ... तकनीकी रूप से यह डेबियन मेंटेनर था। लेकिन हां, मैं सहमत हूं; यह धोखेबाज है।
व्याट8740

डाउनवॉट के लिए "एक खराब शब्द संदेश" वाक्यांश जहां यह नहीं था। यह एक जानबूझकर किया गया गलत काम था।
अनवर

1
@ अनवर हां, ऐसा लगा। इसलिए मैंने कहा कि यह "खराब तरीके से लिखा गया" था, लेकिन मुझे लगता है कि खराब शब्द था।
ललगन

32

अपडेट (2016 की शुरुआत में)

  • बाधाओं ffmpeg के पक्ष में रहते हैं। अधिकांश डिस्ट्रोस वापस स्विच हो गए हैं / वापस ffmpeg पर स्विच कर रहे हैं ( जेंटू , डेबियन )
  • Ffmpeg का एक व्यावहारिक लाभ कई प्लेटफार्मों के लिए बायनेरिज़ की व्यापक लाभप्रदता है। स्टेटिक लिबास / डायनेमिक लिबास / बायनेरिज़ के लिए गुगली करने से ffmpeg के लिए linux, mac, windows, ios और android के अच्छे परिणाम मिलते हैं, जबकि मैं केवल libux के लिए linux और windows बनाता है। यह एक महत्वपूर्ण बिंदु हो सकता है अगर आपको C / makefiles के साथ बहुत कम अनुभव है।

वर्तमान स्थिति (मध्य 2015)

यह FFmpeg के साथ रहना बेहतर प्रतीत होता है। पूरी स्थिति बल्कि गड़बड़ और बदसूरत है। मैंने अभी कुछ दिनों पहले कांटे पर पढ़ना शुरू किया था। सभी नाटक को नजरअंदाज करते हुए, यहां तथ्य सामने आते हैं:

  • FFmpeg में लिबाव से परिवर्तन सेट शामिल हैं, जबकि लिबाव ऐसा करने के लिए अनिच्छुक है ( डेबियन बहस देखें )
  • Chrome ffmpeg का उपयोग करता है, और Google ने इसे सुरक्षित बनाने में गंभीर प्रयास किए हैं। लिबाव उन परिवर्तनों को भी शामिल कर रहा है, लेकिन धीमी गति से ( Google ब्लॉग पोस्ट )
  • FFmpeg के लिए संभव के रूप में कई कोडेक्स रखने का प्रयास करता है, जबकि libav कुछ गिरा दिया ( libav मेलिंग सूची , एक libav से पोस्ट )
  • FFmpeg समुदाय, libav से बड़ा है, और सबसे समर्पित डेवलपर (michael niedermayer) FFmpeg ( प्रतिबद्ध आँकड़े ) के साथ अटक गया है
  • FFmpeg के लिए ubuntu / debian अनुचर लिबास फोर्क का हिस्सा थे। उन्होंने कुछ कमांड लाइन टूल में डेप्रिसिएशन मैसेज जोड़े, यह संकेत देते हुए कि ffmpeg को अपग्रेड किया गया है। इससे बहुत भ्रम पैदा हुआ। दोनों डेबियन और ubuntu ffmpeg पर वापस स्विच कर रहे हैं।

मैं Google माइकल Niedermayer के साथ हुआ और इस पद के साथ समाप्त हुआ , जिसमें उन्होंने इस्तीफा दे दिया।
बेज़मैन

1
@bzeaman हाँ, मुझे याद है इस पार आना। लेकिन वह अभी भी औसतन 2 मर्ज करता है / एक दिन में काम करता है: git.videolan.org/…
kritzikratzi

हम्म डिबेट में कोई स्थापित उम्मीदवार नहीं है। अब इसकी जगह क्या ली?
१।

एनवीएम माइंड को यह कामवासना-औजार मिल गया
स्टिग्न्डर

1
Niedermayer फोर्क का कारण था । यह कहा, वह बहुत बदल गया।
इस्माइल लूसिनो

9

जब आप यहां जाते हैं तो आप देखेंगे कि सबसे हालिया अपडेट सितंबर 2012 (कुछ महीने पहले) है।

ऐसा लगता है कि यह कहना है कि वह सिर्फ इस समय Ubuntu और डेबियन के लिए विशिष्ट है।

कुछ समय पहले ffmpeg को ffmpeg और libav के नाम से दो कांटों में विभाजित किया गया था।

डेबियन इसके वितरण में परिवाद कांटे का अनुसरण कर रहा है और एक आगामी अपलोड में बाइनरी / यूएसआर / बिन / एफएफएमपीपी को बदल दिया जाएगा / यूएसआर / बिन / एवोकव।

जहाँ तक मुझे पता है कि तुरंत स्विच करना आवश्यक नहीं है, लेकिन विनफ को द्विआधारी (डेबियन दृष्टिकोण से, एवोकन के लिए प्राथमिकता के साथ) की अनुमति देने के लिए उन्नत किया जाना चाहिए। मुझे पता है कि आप वरीयताओं में बाइनरी का स्थान निर्धारित कर सकते हैं, लेकिन मुझे लगता है कि स्थान सेट के साथ, विनफ को उचित बाइनरी खोजने में सक्षम होना चाहिए।

मुझे लगता है कि भविष्य में भी विंडोज और अन्य वितरण इस मुद्दे से प्रभावित हो सकते हैं।

इस बारे में आपके प्रश्न का उत्तर देने के लिए कि क्या यह बिल्कुल समान है:

मैंने अपने स्थानीय चेकआउट में सही बाइनरी के लिए चेक को लागू किया है, लेकिन 1 को पढ़ते हुए , मैं देखता हूं कि एवोकॉन और एफएफएमपी के बीच कुछ विसंगतियां हैं। यह मुद्दा बड़ा है, क्योंकि पूर्व निर्धारित फ़ाइल को समायोजन की आवश्यकता होगी और विशेष रूप से जिस तरह से हम कमांड लाइन बनाते हैं उसे बदलना होगा। इनपुट फ़ाइल पर काम करने वाले विकल्पों को इनपुट फ़ाइल "-i" से पहले जाना चाहिए।

कृपया ध्यान दें, यह विंडोज संस्करण के लिए विशिष्ट हो सकता है। यह लिनक्स संस्करण के बारे में पोस्ट किया गया था:

FFmpeg ऑडियो / वीडियो रूपांतरण उपकरण अब AVConv (मेरी राय में एक बेहतर नाम) के रूप में जाना जाता है। तो "ffmpeg" कमांड लाइन टूल अप्रचलित है और "एवोकन" का उपयोग किया जाना चाहिए। जहां तक ​​मैंने देखा सभी पैरामीटर समान थे, लेकिन आगे की जांच की जानी चाहिए। कुछ संशोधनों को सीआईएस में किए जाने की आवश्यकता है।

कार्य:

मशीन पर AVConv स्थापित करें जो CIS चलाते हैं। आमतौर पर एवोकन एफएफएमपी को अपडेट करते हुए दिखना चाहिए (जो कि उबंटू पर काम करता है; डेबियन के लिए परीक्षण नहीं किया गया है)। "Ffmpeg" को "avconv" के साथ cis / api / ffmpeg.py, क्लास FFmpegTranscoder, फ़ील्ड prog_bin से बदलें, जो रूपांतरण उपकरण को निष्पादन योग्य बनाता है। रिफ्लेक्टर फ़ाइल नाम, वर्ग नाम, विधि नाम, चर नाम आदि जिसमें "FFmpeg" या "ffmpeg" शामिल होते हैं जैसे कि वे AVConv होते हैं। ग्रहण जैसी आईडीई स्वचालित रूप से ऐसा कर सकती है। परीक्षा! यदि समस्याओं पर ध्यान दिया जाता है, तो डिबग करें!


9
मैं उस पोस्ट से दृढ़ता से असहमत हूं जो कहती है "ffmpeg अप्रचलित है और एवोकॉन का उपयोग किया जाना चाहिए"।
14

जब आप किसी प्रोजेक्ट के लिए जा रहे हों तो @slhck मानक अभ्यास प्रतीत होता है। अधिक उपयोगकर्ता आप सोच सकते हैं कि मुख्य शाखा अप्रचलित है, आपके कांटे के लिए बेहतर है।
user253751
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.