2010-07-07 13 views
12

मैं सबसे कम फ़ाइल आकार के साथ अच्छी गुणवत्ता FLV पूरा करने के लिए देख रहा हूँ। आखिरकार, क्या हर किसी का लक्ष्य नहीं है? इन वीडियो को स्ट्रीम किया जाएगा यदि इससे कोई फर्क पड़ता है।मैं एफएफएमपीईजी के साथ सबसे अच्छी समग्र एफएलवी गुणवत्ता कैसे प्राप्त कर सकता हूं?

अभी के लिए, मेरे वीडियो (रों) 320px से अधिक चौड़ी हैं, और कुछ, वाइडस्क्रीन हैं, इसलिए उनके ऊंचाइयों 240px से थोड़ा छोटा कर रहे हैं। जैसा कि यह खड़ा है, परिवर्तित एफएलवी की गुणवत्ता काफी खराब है।

वर्तमान आदेश:

> ffmpeg -i video.mov -ar 22050 -ab 32 -f flv -s 320x240 -aspect 4:3 video.flv 
+0

'-b' झंडा है, जो वीडियो बिटरेट है के साथ खेलने। डिफ़ॉल्ट 200 –

+0

उपयोग '' -q' Quality' स्थापित करने के लिए झंडा है। डिफ़ॉल्ट रूप से यह कम है। यही कारण है कि इसके बिना कनवर्ट करना वीडियो खराब बनाता है। – Searush

उत्तर

10

200Kb करने और क्यू मैक्स 30 के रूप में उच्च किया जा रहा है (क्योंकि आप इसे अधिभावी नहीं कर रहे हैं) के साथ डिफ़ॉल्ट flv चूक से यह शायद उस के पास उत्पादन के उत्पादन हो जाएगा। आप या तो इसे ठीक कर सकते हैं:

  • आवश्यकता को पूरा करने birate अप करने के लिए गुणवत्ता नियंत्रण के लिए मजबूर कर कम मूल्य के लिए क्यू मैक्स की स्थापना।
  • -vb 400K

साथ बिटरेट बढ़ा परीक्षण वीडियो मैं सिर्फ कोशिश की -qmax 10 स्वीकार्य उत्पादन दे दी है पर। लोअर और अपर स्वीकार्य गुणवत्ता निर्धारित करने के लिए क्यू मैक्स और Qmin का उपयोग करते हुए पसंदीदा तरीका है।

+0

इसके लिए धन्यवाद ... क्या आप समझा सकते हैं कि वास्तव में क्या कर रहा है? इसका मूल्य क्या दर्शाता है? – dcolumbus

+0

ये मान नियंत्रित करते हैं कि इनपुट पर क्वांटिज़र कितना सख्त है। 1 का एक क्यू-स्केल जितना संभव हो सके संरक्षित करेगा। भाग तरीका हालांकि फ्रेम ffmpeg का एन्कोडिंग क्यू-स्केल का काम करता है और यह तय करता है कि आपके qmin और qmax मानों के आधार पर कितना फेंकना/रखना है। यदि यह इन मूल्यों के भीतर नहीं है तो यह निकटतम तक क्लैंप करता है और इसका उपयोग करता है।असल में यह आपके द्वारा सेट की गई सीमाओं के भीतर क्यू-स्केल रखता है और बिट्स को उसी प्रकार से बचाने के लिए बिट्स आवंटित करता है जहां यह बेहतर संपीड़ित करने का प्रबंधन करता है, फिर आपको नीचे जाने पर उन्हें उपयोग करने और उनका उपयोग करने की आवश्यकता होती है। – Russ

+1

तो अच्छी गुणवत्ता का एक अच्छा उदाहरण क्या होगा ... ध्यान में रखते हुए कि डिफ़ॉल्ट कुछ खराब परिणाम उत्पन्न कर रहे हैं। -किमिन 8 और -मैक्स 10? या मुझे -स्केल के साथ कुछ करने की ज़रूरत है? मैं आपकी मदद की सराहना करता हूं। – dcolumbus

3

मुझे लगता है कि अनुपात गुणवत्ता/आकार को अधिकतम करने का सबसे अच्छा समाधान है ffmpeg के "flv" एन्कोडिंग को पूरी तरह से स्क्रैप करना और इसके बजाय H.264 का उपयोग करना।

मैं आमतौर पर handbrake का उपयोग कर रहा MP4/एएसी के लिए फ़ाइलों को परिवर्तित करने के लिए, और उसके बाद ही एक FLV कंटेनर में फ़ाइल remux को FFMPEG का उपयोग करें।

ffmpeg -i input_file.mp4 -vcodec copy -acodec copy -y output_file.flv 

वहाँ भी handbrake के लिए मानकों के एक बहुत हैं, कुछ रोचक प्रीसेट यहां पाया जा सकता: http://trac.handbrake.fr/wiki/BuiltInPresets

+0

लेकिन यह सब सर्वर-साइड किया जा रहा है ... इसके लिए हैंडब्रैक का उपयोग नहीं कर सकता। – dcolumbus

+0

मैं हैंडब्रैक के कमांड लाइन इंटरफ़ेस के बारे में बात कर रहा हूं: बेशक हैंडब्रेकसीएलआई। – SirDarius

+0

तो आप सर्वर पर कमांड लाइन इंटरफ़ेस का उपयोग कर सकते हैं? मुझे लगता है कि आप कर सकते हैं ... यह थोड़ा गड़बड़ लगता है, क्या आप नहीं कहेंगे? – dcolumbus

7

मैं अब तक प्रस्तुत विकल्पों के साथ किसी भी नसीब नहीं था - उनमें से ज्यादातर कोई प्रभाव नहीं पड़ा मेरी इनपुट फ़ाइल, किया गया था जो लगातार खराब गुणवत्ता वाले परिणामों के उत्पादन पर - लेकिन बहुत अच्छी तरह से वास्तव में काम किया है:

ffmpeg -qscale 4 -i infile.avi outfile.flv 

, बेहतर गुणवत्ता के लिए qscale मूल्य कम एक छोटी फ़ाइल आकार के लिए यह वृद्धि हुई है। the docs से:

-qscale n जहां n 1-31 से एक संख्या है, साथ 1 उच्चतम गुणवत्ता/सबसे बड़ी फ़ाइल आकार जा रहा है और 31 न्यूनतम गुणवत्ता/छोटी से छोटी फ़ाइल आकार जा रहा है।

मैक ओएस एक्स 10.6.8 पर परीक्षण किया गया।

+0

यह भी मेरे लिए खूबसूरती से काम किया। Qmax और qmin tweaking द्वारा प्राप्त की जा सकने की तुलना में बहुत अधिक गुणवत्ता! – ATG

+1

यह एकमात्र ऐसा है जो मेरे लिए भी काम करता है! – StefanNch

संबंधित मुद्दे

 संबंधित मुद्दे