कई .bmp फाइलों को एक .mp4 फाइल में ffmpeg के साथ मिलाना
मैं एक फिल्म में इन सभी .bmp फ़ाइलों को संयोजित करना चाहता हूँ .mp4.I ffmpeg का उपयोग कर रहा हूँ ।
यह कमांड केवल 0.04 सेकंड की एक फिल्म का निर्माण करती है:
$ ffmpeg -i f%05d.bmp -c:v libx264 -r 30 -pix_fmt yuv420p movie.mp4
यह सभी फ़ाइलों को नहीं उठाना चाहिए? मुझे नहीं पता कि मैं क्या गलत कर रहा हूं और इसका हल नहीं खोज सकता।
यह कमांड जो मैंने यहाँ से कोशिश की है, वह कहती है कि यह 'f% 05d.bmp' पथ के साथ फाइल नहीं ढूंढ सकता है, भले ही उपरोक्त कमांड कर सकता है?
$ ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i f%05d.bmp -vframes 1759 -vcodec libx264 -crf 25 -pix_fmt yuv420p test.mp4
जवाब
मुझे लगता है कि फाइलों में लगातार संख्या होनी चाहिए, अन्यथा उन्हें अलग से व्यवहार किया जाता है (इसलिए आपको 0.04 सेकंड की फिल्म मिलती है - सिर्फ एक फ्रेम)। कुछ दिनों पहले मुझे कुछ इसी तरह की ज़रूरत थी (हालाँकि ffmpeg के लिए नहीं बल्कि फ़ैमिलीज़ रिज़ॉल्यूशन में फ़ाइलें आयात करने के लिए) और मैंने एक साधारण पायथन स्क्रिप्ट लिखी:
import os
filename="whatever{0:05d}.png"
destno = 1
for i in range(0, 10000):
src = filename.format(i)
if os.path.isfile(src):
dst=filename.format(destno)
destno+=1
os.rename(src, dst)
print "renamed {0:s} to {1:s}".format(src, dst)
घटिया, लेकिन काम किया।
हो सकता है कि आप .bmp फ़ाइलों को प्राप्त करने के लिए ग्लोबिंग को बदल सकें:
ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i %*.bmp -vframes 1759 -vcodec libx264 -crf 25 -pix_fmt yuv420p test.mp4