एक में दो वीडियो क्लिप मर्ज करें, उन्हें एक दूसरे के बगल में रखें


38

मेरे पास दो वीडियो क्लिप हैं। दोनों 640x480 और अंतिम 10 मिनट हैं। एक में बैकग्राउंड ऑडियो होता है, दूसरा एक सिंगिंग एक्टर होता है। मैं 1280x480 को मापने वाला एक एकल 10 मिनट का वीडियो क्लिप बनाना चाहता हूं (दूसरे शब्दों में, मैं एक दूसरे के बगल में वीडियो रखना चाहता हूं और उन्हें एक साथ खेलना चाहता हूं, दोनों क्लिप से ऑडियो को मिलाता हूं)। मैं यह पता लगाने की कोशिश कर रहा हूं कि ffmpeg / avidemux के साथ यह कैसे करना है, लेकिन अभी तक मैं खाली आया हूं। जब मैं विलय के लिए खोज करता हूं तो वे सभी समवर्ती का उल्लेख करते हैं।

कोई सिफारिशें?

जवाबों:


44
ffmpeg \
  -i input1.mp4 \
  -i input2.mp4 \
  -filter_complex '[0:v]pad=iw*2:ih[int];[int][1:v]overlay=W/2:0[vid]' \
  -map [vid] \
  -c:v libx264 \
  -crf 23 \
  -preset veryfast \
  output.mp4

यह मूल रूप से मूल वीडियो के समान काले रंग के साथ दाईं ओर पैड करके input1.mp4 के आकार को दोगुना करता है, और फिर ओवरले फिल्टर के साथ उस काले क्षेत्र के शीर्ष पर input2.mp4 को रखता है।

स्रोत: https://superuser.com/questions/153160/join-videos-split-screen


क्या करता -map [vid]है?
0xcaff

@caffinatedmonkey [vid]एक तथाकथित लिंकलेबल है , जो फ़िल्टर ग्राफ़ (फ़िल्टर_कम्पलेक्स के साथ ऊपर की रेखा) में एक परिभाषित आउटपुट लिंक लेबल है। यह आउटपुट फ़िल्टर ग्राफ़ से आउटपुट फ़ाइल में आउटपुट को मैप करता है।
Jan

मुझे मिल रहा है Unrecognized option 'crf'। तर्क सूची को विभाजित करने में त्रुटि: विकल्प नहीं मिला। अगर मैं हटा crunrecognized option 'preset'
RS

हो रही हैno such filter
user1767754

25

सच कहूं, तो स्वीकार किए गए उत्तर का उपयोग करने से मेरे लिए बहुत सारे फ्रेम गिर गए।

हालाँकि, hstackfilter_complex के उपयोग से पूरी तरह से द्रव उत्पादन होता है:

ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4

22

यह सिर्फ दो फिल्टर के साथ किया जा सकता है और दोनों इनपुट से ऑडियो भी शामिल किया जाएगा।

ffmpeg -i left.mp4 -i right.mp4 -filter_complex \
"[0:v][1:v]hstack=inputs=2[v]; \
 [0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4
  • hstack प्रत्येक वीडियो को साइड-बाय-साइड रखेगा
  • amerge एक इनपुट, मल्टीचैनल ऑडियो स्ट्रीम में दोनों इनपुट से ऑडियो को संयोजित करेगा, और -ac 2इसे स्टीरियो बना देगा; इस विकल्प के बिना ऑडियो स्ट्रीम 4 चैनल के रूप में समाप्त हो सकता है यदि दोनों इनपुट स्टीरियो हैं।

हैलो, क्या मैं एक वीडियो को दूसरे वीडियो पर ओवरले कर सकता हूं?
निसर्ग

@ निसार ओवरले फ़िल्टर का उपयोग करें ।
llogan

मैं ऊपरी वीडियो को थोड़ा पारदर्शी चाहता हूं ताकि कोई पृष्ठभूमि में क्या हो रहा है, क्या आप मेरी मदद कर सकते हैं?
निस्सर्ग

हैलो सर, आप देखने के लिए परवाह कर सकता हूँ इस बाहर।
निसर्ग

1
मैंने स्वीकृत उत्तर के साथ ऑडियो खो दिया। यह पूरी तरह से काम करता है।
मैट ह्यू

2
ffmpeg -y -ss 0 -t 5 -i inputVideo1.mp4 -ss 0 -t 5 -i inputVideo2.mp4 -i BgPaddingImage.jpg -filter_complex nullsrc=size=720*720[base];[base][2:v]overlay=1,format=yuv420p[base1];[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];[base1][upperleft]overlay=shortest=1:x=10:y=10[tmp1];[tmp1][upperright]overlay=shortest=1:x=366:y=10 -c:a copy -strict experimental -ss 0 -t 5 -preset ultrafast -an output.mp4

साइड में दो वीडियो साइड जोड़ें और इसके साथ ही ओवरले इमेज भी जोड़ें जो आपके साथ वीडियो पैडिंग दिखाती है [BgPaddingImage.jpg]। बैकग्राउंड इमेज बदल सकते हैं यहां अपना bg इमेज पाथ सेट करें।

नीचे दिए गए वीडियो को इसके ऊपर के कमांड से बनाएं

यहाँ छवि विवरण दर्ज करें


1
यह कौनसी भाषा है? आप इसे कैसे चलाते हैं?
muru

@ मरमू इसकी जाँच करें अब इसकी FFMPEG कमांड ?? :)
संजय हदिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.