FFmpeg का उपयोग करके वीडियो के रूप में ऑडियो और छवि -> आउटपुट में शामिल हों


8

मेरे पास 1 छवि (jpg) और 1 ऑडियो फ़ाइल (MP3) है और मैं इसे वीडियो फ़ाइल के रूप में आउटपुट करना चाहूंगा (उदाहरण के लिए AVI कहो)।

क्या किसी को पता है कि दो में शामिल होने के लिए FFMPEG का उपयोग कैसे किया जाता है? मैं ऑडियो की अवधि के लिए छवि दिखाना चाहता हूं।

किसी को कोई विचार?


आप कौन से ओएस का उपयोग कर रहे हैं
सबंकी

जवाबों:


6

यदि आप विंडोज में हैं, तो आप इसे विंडोज मूवी मेकर में भी कर सकते हैं ... यदि आपको निर्देशों की आवश्यकता है तो कृपया एक टिप्पणी छोड़ दें

FFmpeg के लिए इसका उपयोग करें

ffmpeg -loop_input -vframes 14490 -i imagine.jpg -i audio.mp3 -y -r 30 
    -b 2500k -acodec ac3 -ab 384k -vcodec mpeg4 result.mp4
  • vframes 14490 तख्ते की संख्या है जिसे पूरे ऑडियो.mp3 फ़ाइल के लिए निरंतर छवि रखने के लिए लूप किया जाना चाहिए

    Ex: 8 मिनट और 3 सेकंड के लिए ((8m x 60s + 3s) x 30fps = 14490 vf)

यहां से संसाधन


हाय सबंकी - आपकी टिप्पणी के लिए धन्यवाद !! हालांकि मुझे यह समझ में नहीं आता है .. मुझे ऑडियो और छवि से एक वीडियो फ़ाइल आउटपुट करने की आवश्यकता है। यह कैसे करता है?
user41559

@nayrsllew मैं सिर्फ पता चला कोड काम नहीं, खेद .. खैर बुनियादी बात यह वीडियो में बदलने का उपयोग कर रहा है है कि ffmpeg -f Image2 मैं छवि% d.jpg video.mpg तो शामिल होने के वीडियो और ऑडियो
subanki

मेरे उत्तर को अपडेट किया, यह कठिन था लेकिन मेरी 1 घंटे की Google खोज ने इसे पाया, मैं खुश हूं :)
सबंकी

उत्तर सही है, क्यों नीचे -vote :(
सबंकी

हाय कैन्ट करते हैं, क्या आप यहाँ मेरी मदद कर सकते हैं। परिणामी वीडियो बहुत बड़ा है। मुझे एमपी 3 फ़ाइल के वीडियो का समान आकार चाहिए। मेरी छवि फ़ाइल बहुत छोटी है। इसके अलावा मुझे इस वीडियो को Youtube पर अपलोड करना होगा।
परमिंदर

7

यहां सुझाए गए तरीकों की तुलना में बहुत सरल तरीका है, कि फ्रेम की संख्या की गणना करने या व्यक्तिगत फ़ाइलों की लंबाई (विशेष रूप से बैच प्रसंस्करण के लिए बेहतर) की आवश्यकता नहीं होती है। Ffmpeg के हाल के संस्करण के साथ, आप -shortestविकल्प का उपयोग कर सकते हैं , जो छोटी धारा समाप्त होने पर एन्कोडिंग को रोकता है - इस मामले में, input.mp3 (चूंकि छवि हमेशा के लिए लूप होगी, इसकी अनंत लंबाई है):

ffmpeg -i input.mp3 -f image2 -loop 1 -r 2 -i input.jpg \
-shortest -c:a copy -c:v libx264 -crf 23 -preset veryfast output.mp4

यह छवि / वीडियो के लिए प्रति सेकंड 2 फ्रेम का उपयोग करता है, जो ठीक होना चाहिए, लेकिन यदि आप चाहें तो आप इसे अधिक मानक 25 पर सेट कर सकते हैं।



5

सुबंकी का अधिकार लगभग सही था। कार्य कमांड लाइन निम्नानुसार है;

ffmpeg -y -loop 1 -i image.jpg -i audio.mp3 -r 30 -b:v 2500k -vframes 14490 -acodec libvo_aacenc -ab 160k result.mp4
-y

संकेत दिए बिना आउटपुट फ़ाइलों को अधिलेखित करें

—लोप १

विकल्प '-loop_input' का उपयोग किया गया है -loop 1. Ffmpeg प्रलेखन देखें ।

-मैं

इनपुट फ़ाइल

-r

प्रति सेकंड फ्रेम्स प्रति के
रूप में भी व्यक्त किया जा सकता है: -r 30000/1001 29.97nn की एफपीएस देता है

बी: v

वीडियो बिट दर; उच्चतर संख्या, बेहतर गुणवत्ता और फ़ाइल आकार जितना बड़ा होगा।

-vframes

जैसा ऊपर बताया गया है; सेकंड में अपनी ऑडियो फ़ाइल का कुल समय लें (जैसे 00:02:41 (2 मिनट 41 सेकंड) 161 कुल सेकंड (2 x 60) + 41 के बराबर होता है। फिर फ्रेम्स प्रति सेकंड के कुल योगों को गुणा करें जिसे आपने -r के साथ निर्दिष्ट किया है (जैसे 161 x 30 = 4830)।

-vfind को -t 161 (-t अवधि रिकॉर्ड या ट्रांसकोड "अवधि" ऑडियो / वीडियो के सेकंड) के साथ बदला जा सकता है

-acodec

आपके द्वारा बनाई जा रही फ़ाइल के प्रकार के लिए सही ऑडियो कोडेक का उपयोग करें। .Mp4 के लिए यह एक AAC प्रारूप होना चाहिए। कोडेक libvo_aacenc मेरे विंडोज 7 सिस्टम के लिए सही एन्कोडिंग कोडेक था।

-ab

गानों का बिट - रैट

result.mp4

यह आउटपुट फ़ाइल का नाम है। यह आपके सिस्टम के लिए कोई भी कानूनी फ़ाइल नाम हो सकता है। यदि आप एक -vcodec का उपयोग नहीं करते हैं, तो एक्सटेंशन उचित वीडियो कोडेक को निर्धारित करने में ffmpeg की मदद करेगा।


1

वह साधारण बैश / साइबर लिपि जो AUTOMAGICALLY निर्देशिका में $ 10 ऑडियो एक्सटेंशन की सभी फाइलों को फ़ोल्डर में निर्देशिका में 10FPS mp4 वीडियो फ़ाइल में संलग्न करेगी।

यूट्यूब अपलोड के लिए उपयोगी;)

AUDIO=m4a; 
$'\n'; for a in `ls -1 *.$AUDIO `; do ffmpeg -i $a &2> $a.info ; done;
cat '' > do.sh
IFS=$'\n'; 
for a in `ls -1 *.$AUDIO`; do D=`grep Duration $a.info | cut -d',' -f1 | cut -d' ' -f4 | cut -d'.' -f1 | head -n1 `; S=$(( $( echo $D | cut -d':' -f2 ) * 60 + 1 + ` echo $D | cut -d':' -f3  ` )) ; echo ffmpeg -loop_input -vframes $(( $S * 10 )) -i folder.jpg -i \"$a\" -y  -r 10 -b 2500k -ab 384k -vcodec mpeg4 \"$a.mp4\" >> do.sh;  done;
split -l5 do.sh
xa* &

0

VirtualDub डाउनलोड करें , फिर ऐसा करें:

  1. छवि को खोलें जैसे आप एक सामान्य वीडियो फ़ाइल खोलेंगे।

  2. ऑडियो की अवधि को सेकंड में परिकलित करें और इसे निकटतम पूरे सेकंड तक (उदाहरण के लिए 78.34 सेकंड 79 सेकंड हो जाता है) पर गोल करें। इस मान को अभी से x कहा जाता है।

  3. "वीडियो> फ्रेम रेट" पर जाएं "फ्रेम रेट (एफपीएस)" में बदलाव करें और मूल्य के रूप में "1 / x" दर्ज करें। इसके अतिरिक्त, यदि आप परिणामी फ़ाइल में 25 एफपीएस जैसी सामान्य फ्रेम दर चाहते हैं, तो "एफपीएस कन्वर्ट करें" चुनें और वहां वांछित फ्रेम दर दर्ज करें।

  4. "वीडियो> संपीड़न" चुनें और अपना पसंदीदा स्वाद चुनें। यह हो सकता है कि आपको आकार के आकार को फ़िल्टर फ़िल्टर के साथ समायोजित करने की आवश्यकता हो।

  5. "ऑडियो> अन्य फ़ाइल से ऑडियो" पर जाएं और वहां अपना ऑडियो चुनें। यदि आवश्यक हो तो ऑडियो के लिए एक संपीड़न का चयन करें।

  6. फ़ाइल सहेजें।

स्रोत: स्टेफ़नवी


धन्यवाद StephanV .. मुझे FFMpeg का उपयोग करने की आवश्यकता है लेकिन यह एक अच्छा सुझाव है .. धन्यवाद
user41559
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.