हैंडब्रेक वीडियो रूपांतरण के लिए x264 एनकोडर का उपयोग करता है। सभी x264 विकल्पों और उनके FFmpeg समकक्षों के अवलोकन के साथ एक साइट है । हालाँकि, ये थोड़े पदावनत हैं और इनमें से कुछ विकल्प अब काम नहीं करते हैं या फिर इनका नाम बदला जा सकता है। आपको अधिकांश विवरण विकल्पों के लिए x264 प्रोफाइल का उपयोग करना चाहिए - लेकिन हम वहां पहुंचेंगे।
बुनियादी हैंडब्रेक विकल्पों में से कई (जैसे फ्रेम दर) x264 के लिए विशिष्ट नहीं हैं, और वे FFmंदी ऑनलाइन दस्तावेज़ में बिखरे हुए हैं ।
शुरू करने से पहले, कृपया जांच लें कि आप हाल ही में FFmpeg संस्करण का उपयोग करते हैं। उनकी डाउनलोड साइट में सभी प्रमुख ऑपरेटिंग सिस्टम के लिए स्थिर बिल्ड हैं।
चलो चलते हैं:
--input "d:\input.mpg" --output "d:\output.mp4"
FFmpeg सिंटैक्स है ffmpeg -i input.mpg … d:\output.mp4
।
--rate 29.97
के साथ वीडियो फ्रेम दर निर्दिष्ट करें -r 29.97
। (हैंडब्रेक --cfr
बस एक स्थिर फ्रेम दर निर्धारित करता है। यहां आवश्यक नहीं है)।
--arate 44.1
ऑडियो नमूना दर -ar 44100
(हर्ट्ज में) के साथ सेट करें ।
--format mp4
जरूरत नहीं है क्योंकि FFmpeg जानता है कि आप MP4 चाहते हैं।
--width 1920 --height 1080 --custom-anamorphic --display-width 1920 --keep-display-aspect --modulus 8 --crop 0:0:0:0
यह 1920 × 1080 के आकार को सेट करने के अलावा कुछ नहीं करता है। FFmpeg में, इसे करें -s:v 1920x1080
, या यदि आप फ़िल्टर का उपयोग करना चाहते हैं, तो -filter:v "scale=1920:1080"
।
--encoder x264 --vb 5200
साथ एनकोडर -c:v libx264
और बिट दर को स्थिर करने के लिए सेट करें -b:v 5200K
। ध्यान दें कि जब हम गुणवत्ता सेटिंग्स की बात करते हैं तब तक हम वहां नहीं होते हैं।
--aencoder faac --ab 128 --mixdown stereo
ऊपर के समान, साथ -c:a libfaac -b:a 128K -ac 2
। ध्यान दें कि एफएएसीएफपी में एफएएसी समर्थित नहीं है; इसके बजाय, अंतर्निहित FFmpeg एन्कोडर का -c:a aac -b:a 128K
उपयोग करें।
-x bitrate=5200:vbv-bufsize=5200:vbv-maxrate=5200
यह VBV को एन्कोडिंग मोड सेट करता है जो एक निरंतर बिटरेट या स्थिर गुणवत्ता के बजाय एक स्ट्रीमिंग परिदृश्य को लक्षित करता है। लगातार गुणवत्ता को CRF भी कहा जाता है , x264 के लिए डिफ़ॉल्ट - इसे हैंडब्रेक में "रेट फैक्टर" कहा जाता है। जबकि CRF आमतौर पर आपको सर्वोत्तम गुणवत्ता वाले एनकोड देता है, VBV मोड आपको एक फाइल देता है जो ऑनलाइन स्ट्रीमिंग के लिए या सीमित क्षमताओं वाले कुछ उपकरणों के लिए बेहतर है।
VBV सेट करने के लिए, का उपयोग करें -maxrate 5200K
और -bufsize 5200K
ffmpeg में विकल्प।
CRF सेट करने के लिए -crf 23
, ffmpeg में उपयोग करें ।
level=42
का उपयोग करें -level 42
। यह H.264 लेवल है ।
bframes=2:min-keyint=60:keyint=60:ref=4
के साथ बी-फ्रेम्स की संख्या निर्धारित करें -bf 2
। न्यूनतम कीफ़्रेम अंतराल के साथ सेट किया गया है -keyint_min 60
, और अधिकतम अंतराल के साथ -g 60
। संदर्भ चित्रों की संख्या के साथ सेट किया गया है -refs 4
।
me=umh:merange=64:subme=7:8x8dct:cabac=1
ये ऐसे विकल्प हैं जिन्हें आप ffmpeg में अतिरिक्त रूप से सेट कर सकते हैं -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1
- जैसे कि कोई भी अन्य x264 एनकोडर सेटिंग जो सीधे ffmpeg विकल्पों में मैप नहीं की जाती है।
यदि आप आलसी हैं, तो "TL; DR" संस्करण यहां दें, विवरणों की परवाह न करें, या यदि चीजें काम नहीं करती हैं: तो -preset:v medium
(या इसे बाहर छोड़ दें, क्योंकि मध्यम पूर्व निर्धारित डिफ़ॉल्ट है)। X264 प्रीसेट संपीडन दक्षता के लिए एन्कोडिंग गति का व्यापार करने वाले विकल्पों का एक समूह चुनते हैं। वे आसानी से से नामित कर रहे हैं ultrafast
, superfast
, veryfast
, faster
, fast
, medium
करने के लिए slow
, slower
और veryslow
। जो भी आपको सहज लगे, उसे चुनें।
तो, संक्षेप में, लंबा संस्करण:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -level 42 -bf 2 -keyint_min 60 -g 60 -refs 4 -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1 -c:a aac -b:a 128K -ar 44100 d:\output.mp4
या मेरे द्वारा उपयोग किए जाने वाले लघु (VBV एन्कोडिंग और हटाए गए कुछ विस्तार विकल्पों के साथ):
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -c:a aac -b:a 128K -ar 44100 d:\output.mp4
एक सर्व-प्रयोजन रूपांतरण के लिए निरंतर गुणवत्ता एन्कोडिंग में बदलना, इसका उपयोग करें और -crf
पैरामीटर को 18 से 28 तक बदल दें , जहां कम का मतलब बेहतर गुणवत्ता और 23 डिफ़ॉल्ट है:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -crf 23 -c:a aac -b:a 128K -ar 44100 d:\output.mp4