सवाल एफएफएमपीईजी मीडिया प्रकार को परिवर्तित करने के साथ-साथ एमओवीवी परमाणु को स्थानांतरित कर रहा है


मुझे यह लाइन ऑनलाइन मिली है

ffmpeg -i input.mp4 -c:a copy -c:v copy -movflags faststart output.mp4

जो इनपुट लेता है, और ऑडियो, वीडियो की प्रतिलिपि बनाता है और आउटपुट.एमपी 4 नामक तत्व में एमओवीवी परमाणु को सेट करता है। मूल रूप से एक ही स्थान पर एमओवीवी परमाणुओं के साथ एक ही वीडियो बनाते हैं।

हालांकि मुझे इस मीडिया के प्रकार को कन्वर्ट करने की ज़रूरत है - इसलिए मेरे पास लाइन है

ffmpeg -i input.wmv -vcodec h264 -f mp4 output.mp4

मेरी समस्या यह है कि क्या यह एक पंक्ति में संभव है? मुझे पता है कि मैं एक के बाद एक चला सकता हूं लेकिन यह कुछ वीडियो बनाता है जब मुझे केवल परिणामी वीडियो की आवश्यकता होती है, जिसके परिणामस्वरूप बहुत सारी यादें बर्बाद हो सकती हैं।

मुझे यकीन है कि रेखा

ffmpeg -i input.wmv -movflags faststart -vcodec h264 -f mp4 output.mp4 

वैध है, लेकिन सीधे प्रतियों के बिना, गणना करने में काफी समय लगता है।

एमओवीवी परमाणुओं और एफएमपीपीईजी गणना पर कोई भी इनपुट स्वागत है।


6
2018-06-11 12:01


मूल


आपको एक वीडियो मंच पर अपने प्रश्न पूछना चाहिए। - Endoro


जवाब:


स्ट्रीम कॉपी करना तेज है

आपका पहला उदाहरण बस है धाराओं की प्रतिलिपि बनाना और फिर moov परमाणु स्थानांतरित। यह स्थानांतरण किसी वीडियो को पूरी तरह से डाउनलोड होने से पहले प्लेबैक शुरू करने की अनुमति देता है जैसे दर्शक आपके ब्राउज़र को ब्राउज़र के माध्यम से देख रहा है।

ffmpeg -i input.mp4 -codec copy -map 0 -movflags +faststart output.mp4

एन्कोडिंग धीमी है

आपके दूसरे उदाहरण में, एन्कोडिंग में कई कारकों के आधार पर लंबा समय लग सकता है: आपके इनपुट की जटिलता और अवधि, आपके एफएमपीपीईजी और एक्स 264 बिल्डों को कैसे संकलित किया गया था, आपके निर्माण की उम्र (सुविधाओं की संभावित कमी, सुधार, और बग फिक्स), आपका सीपीयू, एन्कोडर इस्तेमाल किया गया, और आपकी एन्कोडिंग सेटिंग्स। इन सभी को नियंत्रित नहीं किया जा सकता है, लेकिन आप यह सुनिश्चित कर सकते हैं कि आप हाल के निर्माण का उपयोग कर रहे हैं और आप अपनी आवश्यकताओं को बेहतर ढंग से फिट करने के लिए अपनी एन्कोडिंग सेटिंग्स बदल सकते हैं।

एफएफएमपीजी प्राप्त करना

स्टेटिक बिल्ड का उपयोग करना आसान है: बस डाउनलोड करें, निकालें और चलाएं। देखें एफएफएमपीईजी डाउनलोड करें लिनक्स, विंडोज़ और ओएस एक्स उपयोगकर्ताओं के लिए विकल्पों के लिए पेज। आप संकलित और कई कदम-दर-चरण भी कर सकते हैं एफएफएमपीजी संकलन गाइड उपलब्ध हैं।

प्रीसेट का उपयोग करना

X264 के साथ एन्कोडिंग करते समय आप एक तेज़ एन्कोडिंग प्रीसेट का उपयोग कर सकते हैं:

ffmpeg -i in.wmv -codec:v libx264 -preset fast -movflags +faststart out.mp4

प्रीसेट विकल्प का संग्रह है जो एन्कोडिंग दक्षता निर्धारित करता है और इसलिए गति को भी प्रभावित करेगा। वर्तमान प्रीसेट हैं: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo। डिफ़ॉल्ट है medium, तथा placebo समय की बर्बादी है। सामान्य अनुशंसा केवल धीमी प्रीसेट का उपयोग करना है जिसके लिए आपके पास धैर्य है। देखें एफएफएमपीईजी और एक्स 264 एन्कोडिंग गाइड अधिक जानकारी के लिए।

-f mp4 अनावश्यक है और आपके ffmpeg संस्करण के आधार पर है h264 एक एन्कोडर नाम के रूप में काम कर सकते हैं यह उपयोग करने के लिए सम्मेलन है libx264


5
2018-06-11 17:48



धन्यवाद। त्वरित प्रश्न - ffmpeg का उपयोग करना - क्या एक अस्थायी फ़ाइल बनाने के बिना, एमओवीवी परमाणु को फ़ाइल की शुरुआत में स्थानांतरित करना संभव है। तो एक फाइल ए दिया; ए @ लॉर्डनेकबीर्ड की शुरुआत में एमओवीवी परमाणु को स्थानांतरित करें - Jim
'-मोवफ्लैग फास्टस्टार्ट' फ़ाइल के शीर्ष पर मूव परमाणु को स्थानांतरित करने वाला दूसरा पास चलाएं। इस ऑपरेशन में कुछ समय लग सकता है, और विभिन्न स्थितियों जैसे कि खंडित आउटपुट में काम नहीं करेगा, इस प्रकार यह डिफ़ॉल्ट रूप से सक्षम नहीं है। <- यह 'थोड़ी देर क्यों ले सकता है'? जब भी मैं इसे चलाता हूं ffmpeg -i input.mp4 -c: एक प्रति-सी: v copy -movflags faststart output.mp4 यह बहुत तेज़ है। - Jim