क्या FFMPEG में समय के साथ पैमाना बदलना संभव है?


11

ठीक है, इसलिए ओवरले फिल्टर का उपयोग करते हुए, कोई "t" चर का उपयोग करके समय के साथ वीडियो के x / y स्थान को बदल सकता है। उदाहरण के लिए, overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=02 सेकंड बीतने के बाद, ऊपर से दाएं से ऊपर की ओर एक उपरिशायी तत्व को स्लाइड करना शुरू करने के लिए इस्तेमाल किया जा सकता है।

मैं जो करना चाहता हूं वह स्केलिंग तत्वों के लिए समान सिद्धांत का उपयोग करना है। मैं एक अभिव्यक्ति (जैसे scale=w=iw*t, या उस रेखा के साथ कुछ) का उपयोग करके समय के साथ वीडियो के पैमाने को बदलने में सक्षम होना चाहूंगा ।

क्या यह संभव है?

जब मैं उस अभिव्यक्ति को -filter_complex के माध्यम से चलाता हूं, तो मुझे मिलता है

'Iw * t' अभिव्यक्ति का मूल्यांकन करते समय त्रुटि।

शायद out_w के लिए अभिव्यक्ति: 'iw * t' या out_h के लिए: '- 1' आत्म-संदर्भित है।

मुझे लग रहा है कि अगर मुझे यह कार्यक्षमता प्राप्त करनी है तो मुझे FFMpeg को पैच करने की आवश्यकता होगी, लेकिन मुझे लगता है कि मैं सबसे पहले यह पूछूंगा कि क्या किसी को इस तरह के बारे में पता होगा!

क्या किसी को पता है कि इस तरह के कार्य को कैसे पूरा किया जा सकता है?

सहायता के लिए धन्यवाद!


अभी एक सिंटैक्स त्रुटि की तरह लगता है, लेकिन मैं दुर्भाग्य से मैं वास्तव में यहाँ मदद नहीं कर सकता इससे पहले कि सुविधा का उपयोग नहीं किया है।
— पीटीएस

1
जब यह ओवरले फिल्टर की बात आती है तो टी कोई परिभाषित चीज नहीं है।
— v010dya

1
आप सिर्फ एक फ़िल्टर लिख सकते हैं । wiki.multimedia.cx/index.php?title=FFmpeg_filter_howto
— denjello

1
@alexspeller स्केल फ़िल्टर समयरेखा संपादन का समर्थन नहीं करता है, इसलिए सीधे संभव नहीं है। मैं जाँच करूँगा कि क्या कोई वर्कअराउंड है।
— ज्ञान

1
H.264 / 5 आउटपुट के साथ तकनीकी रूप से संभव है। पता नहीं खिलाड़ी / संपादक इसे कैसे संभालेंगे।
— ज्ञान

जवाबों:


2

जिस चीज को मैं 't' समझता हूं, उसका मूल्यांकन एक बार किया जाता है। क्या आपने इसे पढ़ा है: https://ffmpeg.org/ffmpeg-filters.html#zoompan ?

Ffmpeg डॉक्स:

9.170.1 उदाहरण

  • चित्र के केंद्र के पास कुछ स्थान पर 1.5 तक पैन और एक ही समय में पैन:

zoompan = z = 'मिनट (ज़ूम + 0.0015,1.5): d = 700: x =' अगर (gte (ज़ूम, 1.5), एक्स, एक्स + 1 / एक) ': y =' अगर (gte (ज़ूम, 1.5), वाई, वाई +1) ': एस = 640x360

  • चित्र के केंद्र में हमेशा 1.5 और पैन तक ज़ूम करें:

zoompan = z = 'मिनट (ज़ूम + 0.0015,1.5): d = 700: x =' iw / 2- (iw / ज़ूम / 2) ': y =' IH / 2- (IH / ज़ूम / 2) '

  • ऊपर के समान लेकिन बिना रुके:

zoompan = z = 'मिनट (अधिकतम (ज़ूम, pzoom) +0.0015,1.5)': डी = 1: एक्स = 'iw / 2- (iw / ज़ूम / 2)': y = 'IH / 2- (IH / ज़ूम / 2) '

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.