2013-05-06 11 views
6

का उपयोग कर वीडियो स्केल करने में त्रुटि मुझे पहलू अनुपात को समान रखने के लिए 240 तक अपनी ऊंचाई को स्केल करने के लिए वीडियो का एक समूह बैच-प्रोसेस करना होगा। आदेश है कि नौकरी मिल जाती है लगभग किया है:libav फ़िल्टर

$ avconv -threads 4 -ss 0.0 -i input.avi \ 
-map 0:0,0:0 -map 0:1,0:1 -vf "scale=-1:240" -y -f mpegts \ 
-async -1 -vcodec libx264 -vcodec libx264 -flags2 +fast \ 
-flags +loop -g 30 -bufsize 1024k \ 
-b 200k -bt 220k -qmax 48 -qmin 2 -r 20 -acodec libmp3lame \ 
-ab 44k -ar 44100 -ac 2 output.ts 

दिलचस्प हिस्सा है, जैसा कि आप देख सकते हैं, -vf "scale=-1:240"

इस वीडियो जहां बढ़ाया उत्पादन चौड़ाई पता चला है सम संख्या होने के लिए पर काम करता है ।

[libx264 @ 0x7fc4f8821e00] width not divisible by 2 (341x240) 

मैं कैसे इस पर काबू पाने है: अन्यथा, मैं निम्न त्रुटि संदेश मिल सकता है?

संपादित करें: इस link के अनुसार, मैं जो एक फिल्म आउटपुट का उपयोग कर की कोशिश की लेकिन जिसके परिणामस्वरूप वीडियो गुणवत्ता बहुत खराब है।

संपादित करें # 2: यह डुप्लिकेट नहीं है क्योंकि यह गलत तरीके से चिह्नित है। यह प्रश्न दूसरे की तुलना में बहुत पहले पोस्ट किया गया था।

+0

नकल यह है वास्तव में बात नहीं सवाल पुराना है जिसके लिए के रूप में। आम तौर पर, कम वोट वाले प्रश्न को डुप्लिकेट के रूप में चिह्नित किया जाता है। – LordNeckbeard

+0

@LordNeckbeard यह भी समझ में आता है, लेकिन ऊपर दिए गए बॉक्स में एसओ की अपनी परिभाषा के विपरीत, विशेष रूप से - "डुप्लिकेट के रूप में चिह्नित ... इस सवाल से पहले पूछा गया है और पहले से ही इसका जवाब है"। –

+0

हां, इस सवाल को कई उपयोगकर्ताओं द्वारा कई बार पूछा गया है। इस बारे में बहस करना कि पहले कौन है, समय बर्बाद है। समाधान सभी के लिए समान है: एक दुष्प्रभाव के रूप में कुछ को अस्थायी आदेश के बावजूद डुप्लिकेट के रूप में चिह्नित किया जा रहा है। अधिक महत्वपूर्ण बात: 1) लोग प्रश्न पूछने से पहले खोज नहीं करते हैं। 2) लोग ऑफ-विषय प्रश्न पूछते हैं जिनके पास प्रोग्रामिंग के साथ कुछ भी नहीं है: स्टैक ओवरफ़्लो केवल प्रोग्रामिंग प्रश्नों के लिए है। – LordNeckbeard

उत्तर

8

अपडेट; अब आप उपयोग कर सकते हैं:

-vf scale=-2:240 

Is there a good list of mp4 supported resolutions and a way to have ffmpeg calculate the width after modifying by set height ratio?


लिंक वास्तव में कहते हैं:

scale="854:trunc(ow/a/2)*2" 

जो सही ढंग से, एक और भी संख्या के लिए ऊंचाई पैमाने यदि आप पैमाने पर करने के लिए इच्छा चौड़ाई आपको इस मुहावरे का उपयोग करना होगा:

-vf scale="trunc(oh*a/2)*2:240" 
#    ^
#    /
#  notice --- 

इसके पीछे गणित:

iw ow 
-- = -- 
ih oh 

ow = (iw * oh)/ih 
ow = oh * a 
+0

उन संक्षेपों के लिए क्या खड़ा है? – Xeoncross

+0

@StevenPenny यह बिल्कुल सही है। बेशक पहलू अनुपात को गुणा किया जाना चाहिए और विभाजित नहीं होना चाहिए। धन्यवाद –

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