छवि अनुक्रम ffmpeg में हैंडलिंग


0

मुझे एक छवि फ़ोल्डर को अनावश्यक नामों के साथ परिवर्तित करने की आवश्यकता है, जैसे:

11.49.18.204.jpg
11.49.28.205.jpg
11.49.38.220.jpg
11.49.48.220.jpg
11.49.58.235.jpg
11.50.08.250.jpg

FFMPEGकेवल गिने इनपुट स्वीकार करता है। मूल फ़ाइल नाम मेरे लिए महत्वपूर्ण हैं। इतना है कि मैं उन्हें वीडियो फ़ीड पर ओवरले करने की योजना बना रहा हूं। मुझे लगता है कि मुझे टेक्स्ट ओवरले विकल्प के साथ SRT उपशीर्षक इनपुट का उपयोग करने की आवश्यकता है।

मैं जानना चाहूंगा कि मैं यह काम कैसे कर सकता हूं।

उदाहरण के लिए, यह काम नहीं करेगा

ffmpeg -i *.jpg

जवाबों:


2

ठीक है, जाहिरा तौर पर FFMPEG समर्थन नाम globing करता है, से ffmpeg.org/wik

ffmpeg भी बैश-स्टाइल ग्लोबिंग का समर्थन करता है (* किसी भी वर्ण की संख्या का प्रतिनिधित्व करता है)। यह उपयोगी है अगर आपकी छवियां अनुक्रमिक हैं, लेकिन पिछले उदाहरणों के रूप में संख्यात्मक रूप से क्रमबद्ध रूप से आवश्यक नहीं हैं।

ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' -c:v libx264 out.mp4

0

यदि आप यूनिक्स / लिनक्स पर हैं, तो यह बैश स्क्रिप्ट लाइन अनुक्रमिक नामों की एक श्रृंखला के लिए छवि फ़ाइलों की एक निर्देशिका का नाम बदल देगी जो ffmpeg के साथ काम करेगी। मूल रूप से यह सभी मौजूदा फ़ाइलनामों की मेमोरी बफर में बनाता है, और फिर प्रत्येक नाम के माध्यम से लूप करता है, उन्हें एक समान संख्या में नाम (उसी निर्देशिका में) में ले जाता है।

x=1; for i in *jpg; do counter=$(printf %03d $x); mv "$i" img"$counter".jpg; x=$(($x+1)); done

अगर मैं समझता हूं, तो यह फ़ोल्डर की प्रत्येक फ़ाइल का एक डुप्लिकेट बना देगा, जैसा कि एक वास्तविक प्रतिलिपि में है? यह बहुत गड़बड़ पैदा करेगा। लेकिन एक विकल्प हो सकता है
योशको

नहीं, यूनिक्स में "mv" एक फ़ाइल का नाम बदल देता है। इसलिए केवल एक प्रति होगी।
jdh

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

जाहिरा तौर पर FFMPEG faq आपकी विधि ffmpeg.org// को भी $ (ls -r -t * jpg)
yoshco

@yoshco - आपको उस निर्देशिका में सीडी की जरूरत है जहां आपकी jpg फाइलें पहले हैं। यदि आपकी निर्देशिका को उपरोक्त स्क्रिप्ट के साथ नया नाम दिया गया है, तो इसे .jpg के साथ समाप्त होना चाहिए। यदि आप फ़ाइलों को रखना चाहते हैं और एक नई निर्देशिका में प्रतिलिपि बनाना चाहते हैं, तो आप "mv .." भाग को कॉपी में बदल सकते हैं, जैसे: cp "$ i" yourNewDirectoryName \ "$ counter" .jpg
jdh
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.