क्विकटाइम, iMovie या क्विक प्रीव्यू में ffmpeg शो से वीडियो क्यों नहीं होगा?


20

मैं काफी समय से सामयिक वीडियो रूपांतरण के लिए ffmpeg का उपयोग कर रहा हूं , और हाल ही में पता चला है कि ffmpeg द्वारा उत्पन्न H.264 (libx264) वीडियो iMovie या QuickTime में काम नहीं कर रहे हैं (न ही वे फाइंड के साथ पूर्वावलोकन में खेलेंगे या दिखाएंगे) त्वरित दृश्य सुविधा)।

अगर मैं OS X अनुप्रयोगों का उपयोग करके वीडियो उत्पन्न करता हूं जो आंतरिक रूप से ffmpeg का उपयोग करते हैं (जैसे MP4tools या एडाप्टर ) वीडियो ठीक काम करते हैं, लेकिन तब नहीं जब मैं सीधे ffmpeg का उपयोग करने का प्रयास करता हूं, जैसे वीडियो परिवर्तित करने के लिए:

# ffmpeg -i input.avi output.mp4

या कुछ छवियों को वीडियो में संयोजित करने के लिए:

# ffmpeg -f image2 -pattern_type sequence image-%04d.png output.mp4

iMovie सिर्फ काले / रिक्त के रूप में वीडियो आयात करता है, त्वरित पूर्वावलोकन बस फ़ाइल जानकारी दिखाता है, (लेकिन कोई वीडियो पूर्वावलोकन नहीं है), और क्विकटाइम मुझे बताता है कि यह इसे नहीं खेल सकता है:

दस्तावेज नहीं खोला जा सका

क्या चल रहा है?!

जवाबों:


31

संक्षेप में, आपको (अक्सर) -pix_fmt yuv420pApple सॉफ्टवेयर / उपकरणों के लिए H.264 सामग्री उत्पन्न करने के लिए ffmpeg का उपयोग करते समय तर्क को शामिल करने की आवश्यकता होती है, और अन्य डिकोडर्स का एक गुच्छा जो yuv444p को संभाल नहीं करता है।

# ffmpeg -i input.avi -pix_fmt yuv420p output.mp4

चूक का उपयोग करते समय आउटपुट में इसका उल्लेख नहीं किया गया है, लेकिन उनके एनकोड / एच .264 गाइड में पाया जा सकता है ।

यह पता चला है कि ffmpeg ने libx264 एन्कोडिंग (कुछ परिस्थितियों में) के लिए yuv444p का एक डिफ़ॉल्ट पिक्सेल प्रारूप चुना है, जो Apple के सॉफ़्टवेयर / हार्डवेयर H.264 डिकोडर्स (और शायद सामान्य रूप से बहुत व्यापक रूप से संगत नहीं है ) के साथ संगत नहीं है । दुर्भाग्य से यह बदलने की संभावना नहीं लगती है, और इसके बारे में कोई चेतावनी नहीं है, इसलिए एचएफ 64 फाइलें बनाने के लिए ffmpeg का उपयोग करने पर आपको बस कुछ जानना होगा।

जहाँ तक मैं बता सकता हूँ, अगर एक वीडियो है जो पहले से ही yuv420p का उपयोग कर रहा है, तो इसे बनाए रखेंगे, लेकिन अगर कुछ अधिक विदेशी (जैसे चित्र या GIF या जो भी हो) से कनवर्ट करना पिक्सेल प्रारूप को सामान्य Apple संगतता के लिए निर्दिष्ट किया जाना चाहिए।


1
IMovie (Yosemite) के वर्तमान संस्करण में मदद नहीं करता है। कोई अन्य विचार?
मिलन बाबुकोव

1
आप के उत्पादन पोस्ट कर सकते हैं ffprobe -select_streams v -show_streams output.mp4?
ड्रफ्रोप्लास्पैट

+1, यहां तक ​​कि yuv420p वीडियो हाई सिएरा में भी नहीं चल रहे हैं।
trisweb

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