2013-02-04 11 views
5

मैं कुछ हासिल करने की कोशिश कर रहा हूं जिसे मैंने पहले सोचा था कि एक साधारण कार्य होना चाहिए। क्या कोई ffmpeg आदेश है कि निम्न कर सकते हैं:ffmpeg कमांड ऑडियो और छवियों को गठबंधन करने के लिए

एक वीडियो के लिए एक audio.wav फ़ाइल बदलने, वीडियो के लिए कुछ 100 तस्वीरें (img% d.png) में शामिल करें ताकि वे "स्वचालित रूप से" खिंचाव को भरने के लिए वीडियो की पूरी लंबाई।

मैं फ्रेम दर मैन्युअल रूप से सेट नहीं करना चाहता क्योंकि यह या तो ऑडियो आगे बढ़ रहा है या पीछे की कमी है।

मैं भी नहीं करना चाहते हैं तो होना ही है, जो happenned जब मैं "loop_input" का इस्तेमाल किया है:

छवियों का एक छोटा-सा वीडियो बना लिया गया है, जो तेजी से खेला और फिर ऑडियो की पूरी अवधि के लिए ही दोहराया ।

कृपया मुझे आदेश बताएं।

यह एक बनाता है, लेकिन वीडियो तेजी से चला जाता है और ऑडियो पूर्ण नहीं है::

ffmpeg -i img%d.png -i audio.wav -acodec copy output.mpg 

यह एक बनाता है

मैं वर्तमान में निम्नलिखित है, लेकिन इन मुझे वांछित परिणाम दे रही है नहीं कर रहे हैं की कोशिश की है लघु वीडियो जो पूर्ण ऑडियो अवधि के लिए दोहराता है:

ffmpeg -loop_input -shortest -i img%d.png -i audio.wav -acodec copy output.mpg 

यह एक लगभग काम करता है, लेकिन "-r 4" बनाता है वीडियो धीमी गति से जाने के लिए और ऑडियो आगे चला जाता है। अगर मैं का उपयोग करें "-r 5" तो ऑडियो धीमी गति से चला जाता है, और वीडियो आगे चला जाता है:

ffmpeg -r 4 -i img%d.png -i audio.wav -acodec copy -r 30 output.mpg 
+1

FFmpeg नहीं कर सकते हैं स्वचालित रूप से "खिंचाव" (या अनुमान) छवियों से इनपुट फ्रेम दर तो वे एक ऑडियो स्ट्रीम की लंबाई को भरने । आपको गणना करनी होगी। – slhck

+0

तो ... '-r 4.5' का उपयोग करें? –

उत्तर

0

उपाय ऑडियो ट्रैक के समय और उसके बाद का उपयोग आयकर $ audio_duration।

यह तर्क, "-लोप 1" के साथ ऑडियो के साथ मेल खाने वाले समय में एमपी 4 को रोक देगा।

आप 2 पास तकनीक भी कोशिश कर सकते हैं, जिसमें -vcodec libx264 शामिल है क्योंकि यह अच्छी तरह से उत्पादन mp4 काम करता है।

और के बारे में अपने इनपुट और रिकॉर्ड दर के लिए समायोजित निम्नलिखित लगता है:

-b:v 200k -bt 50k 
+0

'-bt' libx264 द्वारा अनदेखा किया गया है। '-b: v' के बजाय' -crf' का उपयोग करके एकल पास आमतौर पर अनुशंसित किया जाता है। यदि कोई निश्चित आउटपुट फ़ाइल आकार वांछित होता है तो दो-पास आमतौर पर उपयोग किया जाता है। [एफएफएमपीईजी और एक्स 264 एन्कोडिंग गाइड] देखें (https://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide)। – LordNeckbeard

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