.MOV फ़ाइल के आकार को कम करने के लिए मुझे किन मापदंडों को देखना चाहिए?


12

मेरा Canon 60D वीडियो रिकॉर्डिंग करते समय .MOV फाइलें बनाता है और मुझे पता चला है कि .MOV कंटेनर में H264 वीडियो स्ट्रीम और PCM ऑडियो स्ट्रीम है।

मैंने अपने कुछ वीडियो को देखने के लिए ffmpeg और GSpot का उपयोग किया है, और मैं देखता हूं कि क्या बहुत अधिक बीट्रेट्स लगते हैं (640x480 के लिए 22,000kbps, 1920x1080 के लिए 45,000)।

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

जवाबों:


21

लेकिन मैं सोच रहा था कि क्या एक "अच्छा" लक्ष्य बिटरेट निर्धारित करने का एक तरीका है ...

एक अच्छी लक्ष्य बिट दर बिट दर है जो या तो:

  • उस नेटवर्क द्वारा समर्थित है जिसे आप सामग्री से स्ट्रीमिंग कर रहे हैं (उदाहरण के लिए 3G नेटवर्क, होम वाईफाई, आदि), जिसकी गणना करना बहुत आसान है
  • आपको अच्छा लग रहा है , जो एक बहुत ही व्यक्तिपरक उपाय है

22 Mbit / s या 45 Mbit / s वास्तव में औसत उपयोगकर्ता के लिए काफी अधिक हैं, और विशेष रूप से पहले से ही h.264 जैसे संकुचित वीडियो के लिए। आप निश्चित रूप से आगे बढ़ सकते हैं और बिट दर को "साने" मान से कम कर सकते हैं, हमेशा इस बात के संबंध में कि आप कितनी संग्रहण क्षमता और कितनी गुणवत्ता खोना चाहते हैं।

यदि आप वास्तव में आकार की जरूरत नहीं है या आप इसे संपादित करने के लिए प्रसंस्करण क्षमता नहीं है, तो आप 1080p वीडियो 720p का आकार बदल सकते हैं।

… या अगर वेरिएबल बिटरेट करने की कोशिश में कोई दम है

निरंतर बिट दर का बिंदु एक स्ट्रीमिंग मीडिया परिदृश्य के अनुकूल होना है जहां एक अड़चन है जो प्रेषित वीडियो की अधिकतम बिट दर को सीमित करता है। आज की मल्टीमीडिया दुनिया में, यह जरूरी नहीं कि अब और समझ में आए।

जब आप किसी वीडियो को प्रति सेकंड बिट्स की निरंतर मात्रा में निचोड़ते हैं, तो आप मूल रूप से एक एनकोडर को हमेशा एक ही समय बिट्स को एन्कोड करने के लिए बिट्स की समान मात्रा का उपयोग करने के लिए कहते हैं। क्या यह सबसे अच्छा तरीका है? जैसा कि आप अब तक अनुमान लगा सकते हैं, यह नहीं है। हैंडब्रेक से सीआरएफ गाइड का हवाला देते हुए (मैं बाद में वापस आऊंगा):

जब वे गति में होते हैं, तो आंख अभी भी वस्तुओं में अधिक विस्तार को मानती है। इस वजह से, एक वीडियो कंप्रेसर चीजों को ले जाने पर अधिक संपीड़न (अधिक विस्तार छोड़ें) लागू कर सकता है, और जब चीजें अभी भी कम संपीड़न (अधिक विस्तार बनाए रखें) लागू होती हैं। विशेष रूप से, वीडियो उच्च गुणवत्ता वाला प्रतीत होगा।

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

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


पर्याप्त - व्यवहार में इसका क्या मतलब है? यदि आप वीडियो को एन्कोड करने के लिए FFmpeg का उपयोग करते हैं, तो आप पहले से ही काफी अच्छे टूल का उपयोग कर रहे हैं। यदि आपके पास अब भी x264 स्थापित है, और दोनों के नवीनतम संस्करण का उपयोग करते हैं, तो आप सबसे अच्छे एनकोडर में से एक का उपयोग कर रहे हैं जो वर्तमान में मुफ्त में उपलब्ध है। एक निश्चित बिट दर के साथ एन्कोडिंग के बजाय, x264 को यह चुनने दें कि वह कितना खर्च करना चाहता है। लगातार दर कारक विकल्प का उपयोग करके ऐसा करें ।

एक बहुत ही सरल मामले में इसका मतलब है कि 17 और 23 के बीच एक मूल्य निर्धारित करना। मैं MOV के बजाय MP4 को आउटपुट कंटेनर के रूप में चुनता हूं क्योंकि वहाँ पर उपलब्ध रीपुलिप्लेक्सिंग के लिए बेहतर उपकरण उपलब्ध हैं:

ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4

कम मूल्य, बेहतर गुणवत्ता, और बड़ा उत्पादन। इसके विपरीत, उच्चतर, निम्न गुणवत्ता। उसी समय, आप निश्चित रूप से आवश्यक औसत बिट दर को कम कर देंगे। के बारे में अधिक जानकारी के लिए x264 एन्कोडिंग गाइड की जाँच करें ffmpeg

आपका कार्य अब CRF मान प्राप्त करना है:

  • उस बिंदु पर समग्र बिट दर को कम कर सकता है जिसे आप वहन कर सकते हैं
  • गुणवत्ता को बहुत कम नहीं करता है, ताकि वीडियो अभी भी अच्छा दिखे

हां, इसमें बहुत सारे एन्कोडिंग और ट्रायल-एंड-एरर शामिल हैं, लेकिन जब आप वीडियो ट्यूनिंग और एन्कोडिंग कर रहे हैं तो यह दैनिक व्यवसाय है।

ओह, और अगर आपको कमांड लाइन पसंद नहीं है, तो हैंडब्रेक एक स्वतंत्र, क्रॉस-प्लेटफ़ॉर्म टूल है जो बिल्कुल वैसा ही करता है। यहां तक ​​कि इसमें CRF स्लाइडर भी है:

यहाँ छवि विवरण दर्ज करें


चलती वस्तु विस्तार के बारे में, क्या यह वीडियो संपीड़न में नियमित रूप से ओवरडोन नहीं है, या क्या मुझे बस खराब उदाहरण याद हैं? जैसे ही कैमरे में पैनिंग बंद हो जाती है, विस्तार से ध्यान देने योग्य वृद्धि
डैनियल बेक

यह वास्तव में बहुत आम है, जिसे "स्थिर" मुद्दों के रूप में जाना जाता है। उदाहरण के लिए, जब आप अवरोध को गायब होते हुए देखते हैं। यह कम-बिटरेट परिदृश्य के लिए विशिष्ट है, जहां गति अंतर को बदलने के लिए दर नियंत्रण के लिए बहुत तेज है। मुझे लगता है कि एक दो-पास एन्कोडिंग यहाँ मदद कर सकता है, लेकिन शायद ज्यादा नहीं। मुझे नहीं पता कि क्या इस तरह की कलाकृतियों से पूरी तरह छुटकारा पाना संभव है।
slhck

मैंने अतीत में हैंडब्रेक का उपयोग किया है, DV एविस को एक वीडियोकोम से डिवएक्स और एमपी 4 में परिवर्तित किया है, लेकिन मुझे कमांड लाइन के साथ काम करना आसान लग रहा था जब मैं जाने के लिए अपने विकल्पों का पता लगाने की कोशिश कर रहा था ।Mov से h264 mp4s के लिए। जब आप DivXs बना रहे हों तो क्या वहाँ एक बराबर -crf है? (या यह एक और प्रश्न होना चाहिए?)
वार्ड -

@ आप उपयोग कर सकते हैं -qscale। एमपीईजी के लिए * स्केल 1-31 (31 सबसे खराब गुणवत्ता वाला) से रैखिक है, और मूल्य को दोगुना करने के परिणामस्वरूप लगभग आधा बिटरेट हो जाएगा। 2 का मान मोटे तौर पर नेत्रहीन दोषरहित माना जा सकता है। 3-5 आमतौर पर एक अच्छा संतुलन है, लेकिन निश्चित रूप से गुणवत्ता व्यक्तिपरक है और आपको इसे आज़माने की आवश्यकता होगी।
’११ llogan

अच्छा! कुछ सवाल। (1) "1080p वीडियो से 720p" में "पी" के बाद एक संख्या क्या है? (2) x264 एक चर बिटरेट का उपयोग करता है, लेकिन ffmpeg में विकल्प को कॉन्स्टेंट रेट फैक्टर क्यों कहा जाता है? धन्यवाद!
टिम

2

हैंडब्रेक सीएलआई आज़माएं

मैं कुछ MOV फ़ाइलों को सिकोड़ना चाहता था और वीडियो विकल्पों के बारे में सभी विवरण जानने की परवाह नहीं करता था। हैंडब्रेक सीएलआई वह है जो मैंने इस्तेमाल किया। प्रीसेट अच्छे हैं:

हैंडब्रेक हार्ड कोडित, फैक्ट्री-ताजा प्रीसेट प्रदान करता है जो मैकगुई में बिल्ट-इन प्रीसेट्स के समान हैं।

मेरे मामले में, यह अच्छी तरह से काम किया:

HandBrakeCLI -i input.MOV -o output.mp4 --preset="Normal"

कोई पूर्व निर्धारित नहीं होने के साथ, आउटपुट बहुत छोटा था लेकिन अच्छी गुणवत्ता नहीं थी। "नॉर्मल" प्रीसेट मुझे अच्छा लगा, लेकिन आप चाहें तो अन्य उपलब्ध HandBrakeCLI --preset-listविकल्पों को देख सकते हैं , या यदि आप चाहें तो सभी विकल्पों को स्वयं ही ट्वीक कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.