क्या H.264 / H.265 वीडियो संपीड़न पैरामीटर बेहतर संपीड़न के साथ डीवीडी-समकक्ष गुणवत्ता प्रदान करते हैं?


11

मुझे डीवीडी वीडियो डिस्क्स का एक बॉक्स मिला है, जिससे मैं छुटकारा चाहता हूं, जबकि मैं उन्हें हार्ड ड्राइव पर स्टोर करने के लिए वीडियो को MP4 फ़ाइलों में परिवर्तित करके रखना चाहता हूं।

डीवीडी-मानक MPEG2 पर आधुनिक H.264 AVC और H.265 HEVC संपीड़न एल्गोरिदम की श्रेष्ठता को ध्यान में रखते हुए, मुझे उम्मीद है कि ~ 99% डीवीडी मूल गुणवत्ता को बचाते हुए वीडियो को कंप्रेस करके हार्ड ड्राइव स्पेस को बचाया जा सकता है।

क्या

  • H.264 (FFMPEG + libx264) संपीड़न पैरामीटर
  • H.265 (FFMPEG + libx265) संपीड़न पैरामीटर

क्या मुझे अपना लक्ष्य प्राप्त करने के लिए उपयोग करना चाहिए?

मापदंडों से मेरा मतलब है सीबीआर / सीआरएफ मान, पूर्व निर्धारित (कोई बहुत लोस्लो / प्लेसीबो कृपया), झंडे आदि।

पुनश्च: मैं उपयोग करने के साथ मामले को कसना -pix_fmt yuv420pऔर -profile:v baseline -level 3.0फ़ाइल को पुराने हार्डवेयर डिकोडर चिप्स पर निर्भर पुराने उपकरणों सहित सभी उपकरणों पर ठीक खेलना सुनिश्चित करना चाहूंगा । -gकम-गति और उच्च-विलंबता मीडिया के उपयोग को सुविधाजनक बनाने के लिए कुछ बढ़े हुए आई-फ्रेम्स आवृत्ति ( पैरामीटर का उपयोग करके ) का उपयोग करना भी वांछनीय है।

HEVC के लिए, मैं उन मापदंडों का उपयोग करना पसंद करूंगा जो उन उपकरणों पर चिकनी हार्डवेयर-त्वरित प्लेबैक सुनिश्चित करेंगे जो इसका समर्थन करते हैं लेकिन मुझे इस बाधा पर ध्यान केंद्रित करने का कोई मतलब नहीं है क्योंकि मैंने हार्डवेयर-त्वरित H.265 की पेशकश करने वाले किसी भी उपकरण को नहीं देखा है। डिकोडिंग अभी तक।

जवाबों:


14

ध्यान दें कि इसके लिए, आपको हमेशा नवीनतम ffmpeg संस्करण का उपयोग करना चाहिए , और अधिमानतः इसे स्वयं संकलित करें । यह आपको ऑडियो एन्कोडिंग के लिए सबसे हाल ही में libx265 और libfdk-aac की एक्सेस देता है।

इसके अलावा, डेटा दर बचत काफी कठोर हो जाएगी यदि आप H.264 वीडियो के लिए ~ 10 MBit / s से लेकर लगभग 1-2 MB के लिए डीवीडी और H.265 वीडियो के लिए 0.51 MBit / s से बहुत अधिक कठोर हैं। नीचे के चरणों में गुणवत्ता बदलने से बिटरेट्स प्रभावित हो सकते हैं, लेकिन फिर भी डेटा में कमी महत्वपूर्ण होनी चाहिए।

264

गुणवत्ता / दर नियंत्रण के लिए, आप निरंतर बिटरेट के बजाय libx264 में CRF मोड का उपयोग करना चाहते हैं । सीआरएफ का उपयोग यह सुनिश्चित करता है कि एक औसत गुणवत्ता संरक्षित है, जो मूल वीडियो संकल्प या इसकी जटिलता से स्वतंत्र है। यदि आप ट्रांसमिशन माध्यम (जैसे हार्ड ड्राइव की गति, इंटरनेट थ्रूपुट) द्वारा विवश हैं, तो लगातार बिटरेट वास्तव में केवल उपयोगी है।

सीआरएफ मूल्य चुनना मुश्किल हिस्सा है। इसके लिए आपको आउटपुट देखना होगा। Libx264 (23) के लिए डिफ़ॉल्ट आकार और गुणवत्ता के बीच काफी अच्छा व्यापार प्रदान करता है। लेकिन यह देखते हुए कि आपका मूल स्रोत पहले से ही संपीड़ित है (और ब्लू-रे की तुलना में बहुत अच्छी गुणवत्ता के साथ नहीं ), आप सीआरएफ को थोड़ा कम करना चाह सकते हैं, जैसे कि 20। यह एक तिहाई के बारे में आवश्यक बिटरेट को बढ़ाएगा। ।

आप कितनी देर तक इंतजार करना चाहते हैं, उसके अनुसार प्रीसेट चुनें। slowयहां एक अच्छे मूल्य की तरह लगता है।

ffmpeg -i input \
-c:v libx264 -crf 20 -pix_fmt yuv420p \
-x264-params keyint=240:min-keyint=20 \
-preset:v slow -profile:v baseline -level 3.0 \
-c:a libfdk_aac -vbr 4 \
output.mp4

यदि libfdk-aac उपलब्ध नहीं है, तो अंतर्निहित ffmpeg AAC एन्कोडर का उपयोग किया जा सकता है। के -c:a aac -strict experimental -b:a 128kबजाय का उपयोग करें -c:a libfdk_aac -vbr 4

H.265

शोध बताते हैं कि एचईवीसी के उपयोग से एच .264 की तुलना में 74% तक की बचत होगी। यह अल्ट्रा-एचडी अनुक्रमों के व्यक्तिपरक देखने के डेटा पर आधारित है। बेशक, यह स्रोत सामग्री की अस्थायी जटिलता पर निर्भर करता है, और सहेजे गए डेटा की मात्रा अनुक्रमों को कठिन करने के लिए उच्च नहीं होगी। किसी भी तरह से आप सुरक्षित रूप से कह सकते हैं कि 50% डेटा में कमी संभव है।

Libx265 के लिए डिफ़ॉल्ट CRF 28 है। समान स्रोत सामग्री का उपयोग करने पर, यह CRF 23 पर libx264 की तुलना में लगभग आधा बिटरेट हो जाता है। यह वास्तविक बिटरेट के बावजूद, अर्थात, यदि H.264 संस्करण 1.5 MBit / s है, तो तब H.265 लगभग 750 kBit / s का उपयोग करेगा, लेकिन यह 750 kBit / s बनाम 350 kBit / s एक और अनुक्रम के लिए है। मैंने इसे डीवीडी-PAL रिज़ॉल्यूशन के कुछ दृश्यों पर चलाया और गुणवत्ता के मामले में अंतर बताने में सक्षम नहीं था।

ffmpeg -i input \
-c:v libx265 -pix_fmt yuv420p \
-x265-params crf=28:keyint=240:min-keyint=20 \
-preset:v slow \
-c:a libfdk_aac -vbr 4 \
output.mp4

अधिक जानकारी के लिए, यहां प्रासंगिक संसाधन दिए गए हैं:


ठीक जवाब के लिए धन्यवाद। वैसे कींट का अर्थ व्यावहारिक रूप से क्या होता है?
इवान

1
keyintX264 में / x265 IDR-फ्रेम के बीच अंतराल, यानी मुख्य-फ़्रेम, जिस पर विकोडक ताज़ा कर सकते हैं के बीच का अंतराल है। बीच में, नॉन-कीफ्रेम आई-फ्रेम हो सकते हैं, उदाहरण के लिए जब सीन कट होता है। -gअगर मैं गलत नहीं हूँ तो यह पैरामीटर के बराबर है ।
slhck

BTW, @slhck, एक ऐसी बात जिसने मुझे आपके उत्तर में आश्चर्यचकित कर दिया है - जो ध्यान आप एएसी एन्कोडिंग लाइब्रेरी की पसंद को देते हैं। मुझे लगता था कि वे लगभग सभी समान हैं और बहुत कम या कोई अंतर नहीं देते हैं, कि चीजें ऑडियो भाग में सरल हैं (बस बिटरेट चुनें और जाएं और एमपी 3, एएसी और वोरबिस ध्वनि जैसे सभी प्रमुख हानिपूर्ण कोडेक्स लगभग या बिल्कुल ध्वनि करते हैं। 128 केबीपीएस और उससे अधिक के समान)। क्या आपका मतलब है कि वास्तव में libfdk-aac और साधारण aac के बीच उल्लेखनीय अंतर है?
इवान

1
@ इवान Zeranoe बनाता है आप निश्चित -c:a aac -strict experimentalरूप से मेरे जवाब में संकेत के रूप में करने की अनुमति चाहिए । और मैं मानता हूं, मैं इसे विंडोज पर बनाने की कोशिश नहीं करूंगा।
slhck

2
@ इवान (पहली टिप्पणी): ffmpeg-wiki देखें : "उच्च से निम्न में निर्मित गुणवत्ता के आधार पर: libopus > libvorbis >= libfdk_aac > aac > libmp3lame >= libfaac >= eac3/ac3 > libtwolame > vorbis > mp2 > wmav2/wmav1केवल AAC के लिए: (क्योंकि यह थोड़ा सा भ्रमित करने वाला है, जिसमें 3 एनकोडर उपलब्ध हैं): libfdk_aac > aac > libfaac> = संकेत का अर्थ है अधिक या समान।" गुणवत्ता। "
गोलेर रामबेलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.