लेकिन मैं सोच रहा था कि क्या एक "अच्छा" लक्ष्य बिटरेट निर्धारित करने का एक तरीका है ...
एक अच्छी लक्ष्य बिट दर बिट दर है जो या तो:
- उस नेटवर्क द्वारा समर्थित है जिसे आप सामग्री से स्ट्रीमिंग कर रहे हैं (उदाहरण के लिए 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 स्लाइडर भी है: