Ffmpeg का उपयोग करके mp4 को वेब में तेजी से कैसे बदलें?


20

मुझे HTML5 वीडियो का उपयोग करने वाली वेबसाइट के उद्देश्य से 76 mp4 फाइलों को वेबम में बदलना है। मैं 10 जीबी की mp4 फाइलों के बारे में बात कर रहा हूं ... मुझे पता है कि मैं ffmpeg का उपयोग करने के लिए कह सकता हूं:

ffmpeg -i input_file.mp4 output_file.webm

बेशक मैं इसे पुनरावर्ती रूप से करूँगा:

find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" "${0%%.mp4}.webm"' {} \;

मैंने कुछ ऐसा भी करने की कोशिश की जिसे मैंने इंटरनेट पर कहीं पाया:

ffmpeg -i input_file.mp4 -cpu-used 4 -threads 8 output_file.webm

लेकिन बात यह है कि यह मुझे एक सप्ताह से कम नहीं लगेगा !!! मैं क्या गलत कर रहा हूं? क्या इसमें तेजी लाने का कोई संभव तरीका है? अगर मैं ogg में परिवर्तित हो जाऊं तो क्या मैं गति प्राप्त करूंगा? कृपया सहायता कीजिए!!!



@LordNeckbeard आपको उस गाइड के आधार पर उत्तर लिखना चाहिए। इसके अलावा, यह ध्यान दिया जाना चाहिए कि x264 की तुलना में vpx एनकोडर पिघला हुआ है, यहां तक ​​कि साने सेटिंग्स आदि के साथ भी ... जब तक आप बहुत अधिक गुणवत्ता का त्याग करने के लिए तैयार नहीं हैं, तब तक जलाया जाना वास्तव में इसके साथ तेजी से एन्कोड करना असंभव है।
ईविल

समस्या संगतता के बारे में है। यह थोड़ी संगतता तालिका है: {x264: IE (+) सफ़ारी (+) क्रोम (+) फ़ायरफ़ॉक्स (-) ओपेरा (-)} {webm: IE (-) सफ़ारी (-) क्रोम (+) फ़ायरफ़ॉक्स (+) ओपेरा (+)} मुझे पता है कि वे सफारी और IE को बाजार का सबसे बड़ा हिस्सा कहते हैं, लेकिन मुझे इस पर गंभीरता से संदेह है और फ़ायरफ़ॉक्स और ओपेरा पर दांव लगाएगा! ;)
pr.nizar

@ pr.nizar BSD के तहत OpenH264 को जारी करने वाले सिस्को के लिए धन्यवाद, फ़ायरफ़ॉक्स अब h.264 का समर्थन करता है।
व्याट8740

जवाबों:


11

ट्रांसकोडिंग वीडियो में समय लगता है। यह एन्कोडिंग मापदंडों के बारे में बहुत अधिक ज्ञान लेता है; ffmpeg की डिफॉल्ट आपके लिए उपयुक्त होने की संभावना नहीं है और यह प्रयोग करने योग्य आउटपुट फ़ाइल भी नहीं बना सकता है।

यहाँ एक शुरुआत है:

http://blog.pcode.nl/2010/10/17/encoding-webm-using-ffmpeg/

वे सेटिंग्स एक विशेष औसत बिटरेट (3900kbit के वीडियो बिटरेट) को एन्कोड करेंगी, इसलिए बिटरेट में स्पाइक्स होंगे।

MP4 और WebM अलग-अलग वीडियो कोडेक्स का उपयोग करते हैं, इसलिए कोई शॉर्ट-कट नहीं है; वीडियो ट्रांसकोड किया जाना चाहिए।

निश्चित रूप से, एन्कोडिंग गति फ्रेम आकार, फ्रेम दर और गुणवत्ता सेटिंग्स के आधार पर काफी भिन्न होगी। 720p एनकोड के लिए आप पिछले कुछ वर्षों के CPU से लगभग 1: 1 (10 घंटे में 10 घंटे का वीडियो) एनकोड करने में सक्षम हो सकते हैं। यदि आप लिंक में दिए गए उदाहरण में दो-पास एबीआर एन्कोडिंग करते हैं, तो यह लगभग दोगुना है।


8

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

find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libvpx -acodec libvorbis -cpu-used 5 -threads 8 "${0%%.mp4}.webm"' {} \;

मैं इसे भविष्य के उपयोगकर्ताओं के लिए पोस्ट कर रहा हूं, वास्तव में मैंने गति प्राप्त की है लेकिन मेरा सीपीयू नरक की तरह काम कर रहा है: प्रत्येक कोर पर 60 से 80%! अब मुझे लगता है कि इसमें कम समय लगेगा: 6 या 7 के बजाय 3 दिन .. मुझे आशा है कि यह इसे नहीं तोड़ेगा .. ^ _ ^

वैसे भी धन्यवाद यार!

संपादित करें: LordNeckbeard और neon_overload -sameq से टिप्पणियों के बाद स्विच -sameq को हटा दिया गया है जिसका अर्थ समान "गुणवत्ता" नहीं है


3
-sameq"एक ही गुणवत्ता" का मतलब नहीं है और ऊपर की तरफ हटा दिया गया है। इसका प्रयोग न करें। विस्तृत libvpx एन्कोडिंग निर्देशों के लिए अपने प्रश्न के लिए मेरी टिप्पणी में लिंक का संदर्भ लें।
ललगन

2
-sameq का मतलब समान मात्रा में है, हालांकि h.264 और VP8 के बीच मात्रा की तुलना करना असंभव है, इसलिए यहां तक ​​कि अगर यह काम करता है, तो आप लगभग निश्चित रूप से टूटे हुए परिणाम प्राप्त करेंगे यदि आपने इसका उपयोग किया है - तो नहीं।
थोमसट्रेटर

2
मेरा ध्यान उस ओर लाने के लिए धन्यवाद! मैंने अपनी प्रतिक्रिया संपादित की ..;) वास्तव में मैंने उस स्विच कारण का उपयोग नहीं किया था, मैंने देखा कि यह धीमा हो रहा था .. मैंने भी ffmpeg को गिरा दिया और avconv का उपयोग किया: यह बहुत तेज़ है! नौकरी एक दिन और एक दिन में इस के साथ की गई थी: यह देखें। $ {0 %%। Mp4} .webm "'{} \; मुझे पता है कि मैं इस टिप्पणी के साथ विषय को बदल रहा हूं, लेकिन मुझे लगा कि यह कहने लायक था .. ^ _ ^ आशा है कि यह किसी की मदद करता है! ;)
प्रिन्.नजर

गुणवत्ता के लिए वास्तव में मैं मूल फाइलों और उन वेबम ट्रांसकोड के बीच अंतर नहीं बता सकता: यह लगभग एक ही ऑडियो और वीडियो गुण है!
प्र.निज़र

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