2011-08-07 9 views
6

मैं ffmpeg के साथ वीडियो फ्रेम फसल करने की कोशिश कर रहा हूं, और मैं स्वचालित रूप से फसल छवि को स्केल करना चाहता हूं। http://ffmpeg.org/libavfilter.html#SEC41ffmpeg: स्केल आउटपुट फसल चौड़ाई/ऊंचाई काम नहीं करता

./ffmpeg मैं video.mp4 -vf: मैं av फिल्टर पर एक विकल्प देखा "फसल = 640: 480, पैमाने = ow: ओह" -f mpegts यूडीपी: //127.0.0.1: 1234

मैं एक त्रुटि प्राप्त: जब अभिव्यक्ति 'ओह' के मूल्यांकन त्रुटि

उत्तर

19

इस प्रयास करें:

./ffmpeg -i video.mp4 -vf "scale=640:ih*640/iw, crop=640:480" -f mpegts udp://127.0.0.1:1234 

कोड से ऊपर पहले 640 करने के लिए वीडियो पैमाने पर होगा और पहलू अनुपात ऊंचाई को बरकरार रखने, फिर 640x480.

+1

फसल कैसे फसल चुनने के लिए चुनती है? क्या यह हमेशा वीडियो के सटीक केंद्र '640x480' लेने की गारंटी है? – user779159

0

आप वास्तव में संख्या के साथ ow और oh को बदलने के लिए, करने के लिए वीडियो पैमाने पर करने के क्रमश: चौड़ाई और ऊंचाई का प्रतिनिधित्व करने की जरूरत है।

+0

मैं फसल खिड़की गतिशील रूप से परिवर्तित करने की जरूरत है फसल (मैंने ffmpeg पर कुछ बदलाव किए हैं) और मैं इसे वास्तविक फसल खिड़की के अनुसार स्केल करना चाहता हूं। जैसा कि मैं समझता हूं कि मूल्य 'ओउ' और 'ओह' को नौकरी करना चाहिए, है ना? –

+0

नहीं। आपको उन नंबरों को रखना होगा जहां दस्तावेज़ 'ओउ' और 'ओह' कहते हैं। –

+0

ओउ और ओह (जो स्थिरांक नहीं हैं) के बजाय आप अभिव्यक्तियों का उपयोग कर सकते हैं जो स्थिरांक हैं जैसे out_w और out_h। – BrainSlugs83

2

मैं आपको मिलने वाला मान:

Error when evaluating the expression 'oh'. 
Maybe the expression for out_w:'ow' or for out_h:'oh' is self-referencing. 

क्योंकि आप उत्पादन डब्ल्यू/एच के उत्पादन डब्ल्यू/एच सेट करने का प्रयास ?! क्या आप क्या करना चाहते

ffmpeg -i video.mp4 -vf "crop=640:480,scale=iw:ih" -f mpegts udp://127.0.0.1:1234 

यही है, क्या इनपुट चौड़ाई (iw) और इनपुट ऊंचाई (IH) था के उत्पादन डब्ल्यू/एच की स्थापना है।

ध्यान दें कि स्रोत वीडियो वीडियो जो आप फसल करने की कोशिश करते हैं उससे छोटा है (640: 480)। आप इस त्रुटि से बचने के लिए फसल/स्केल आवश्यक है या नहीं, यह जांचने के लिए आप ffmpeg के अभिव्यक्ति वाक्यविन्यास का उपयोग कर सकते हैं।

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