टर्मिनल से वीडियो फ़ाइलों को कैसे जुड़ें?


9

मैंने कोशिश की है avidemux2_cli, mencoder, ffmpeg, cat .. लेकिन यह हमेशा काम नहीं करता है (ज्यादातर बार त्रुटि यह है कि ऑडियो कोडेक समान नहीं है) हो सकता है कि मैं कमांड्स में गलत विकल्प डालूं।

तो आज्ञाएँ:

cat Sample.avi rrr.avi > complete.avi
ffmpeg -i Sample.avi -i output.avi -vcodec copy -acodec copy complete.avi
mencoder -ovc lavc -oac copy Sample.avi rrr.avi -o complete.avi
avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi -append output.avi --save video.avi

बिल्ली की समस्या यह है कि यह त्रुटि नहीं दिखाती है लेकिन यह हमेशा काम नहीं करती है। पूरी तरह से देखें। नमूना के साथ बिल्कुल वैसा ही होगा।

Fmmpeg कुछ नहीं करता है। संपूर्ण.विवि हमेशा नमूना.विवि के साथ समान है

मेन्कोडर त्रुटि: सभी फाइलों में एक-समान ऑडियो कोडेक और प्रारूप होना चाहिए -oac प्रतिलिपि के लिए। तो पूरा.विवि नमूना.विवि के साथ भी ऐसा ही है

avidemux2_cli कोई त्रुटि नहीं है, लेकिन पूर्ण .avi फिर से Sample.avi के साथ समान है।

तो योग करने के लिए, सभी complete.avi Sample.avi के साथ समान हैं .. और समस्या यह है कि उनके पास समान ऑडियो कोडेक (i quess) नहीं है .. कोई विचार?


1
मुझे लगता है कि आपको एक ही कोडेक्स में वीडियो फ़ाइलों के वीडियो कोडेक और ऑडियो कोडेक को बदलने की आवश्यकता है, यदि आप दो वीडियो को सुरक्षित रूप से संयोजित करना चाहते हैं, तो
अंगूर_सुपर

और मैं इसे कैसे कर सकता हूं?
लियोन विटानोस

आप mencoder-ovc विकल्प और -ओएसी विकल्प के साथ उपयोग कर सकते हैं । देखें: mplayerhq.hu/DOCS/HTML/en/menc-feat-selecting-codec.html
vine_user

जवाबों:


10

यदि आप दो वीडियो को सुरक्षित रूप से संयोजित करना चाहते हैं, तो आपको वीडियो कोडेक और इनपुट फ़ाइलों के ऑडियो कोडेक को एक ही कोडेक्स में बदलने की आवश्यकता है।

उदाहरण के लिए, xvid (वीडियो कोडेक) और MP3lame (ऑडियो कोडेक) का उपयोग करना:

sudo apt-get install mencoder libxvidcore4 libmp3lame0

आप नीचे दिए गए आदेशों द्वारा इनपुट वीडियो को एन्कोड कर सकते हैं:

mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=1000 first.avi -o video1.avi
mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=1000 second.avi -o video2.avi

अपने वीडियो से मिलान करने के लिए, आप "बिटरेट" आदि विकल्प बदल सकते हैं (और कोडेक्स भी)।

यदि एन्कोडेड वीडियो का नाम "video1.avi" और "video2.avi" है, और आउटपुट वीडियो का नाम "join-video.avi" है,

mencoder -ovc copy -oac mp3lame video1.avi video2.avi -o joined-video.avi 

इस कमांड का उपयोग करके, आप सम्मिलित वीडियो फ़ाइल बना सकते हैं।


2
बस मैंने सोचा था कि इस उपयोग का नाम mencoder(यानी मीडिया एनकोडर) है। बहुत से लोग गलती से टाइप करने से अटक जाते हैं memcoder
वैल

फ्रेम आकार भी मैच नहीं है?
एल्डर गीक

4

मुझे समान कोडेक्स वाले वीडियो के तीन टुकड़े मिलाने थे। पिछले उत्तरों को पढ़कर मैं ऐसा करने में कामयाब रहा:

mencoder -ovc copy -oac faac 01.mp4 02.mp4 03.mp4 -o output.mp4

Openshot की तुलना में बहुत तेज़ और सरल!

पहले मैंने '-ओएसी कॉपी' विकल्प की कोशिश की, लेकिन ऐसा लगता है कि मेरे वीडियो में ऑडियो कोडेक इसकी अनुमति नहीं देता है। मुझे '-oac pcm' की सिफारिश करने में त्रुटि संदेश मिला। Pcm कोडेक हालांकि एक अच्छा विकल्प नहीं है: परिणामस्वरूप फ़ाइल बहुत बड़ी है और इसमें से 2/3 ऑडियो असम्पीडित है।

उम्मीद है की यह मदद करेगा


2
MEncoder svn r34540 (Ubuntu), gcc-4.7 (C) 2000-2012 के साथ निर्मित MPlayer टीम MPlayer को libfaac के बिना संकलित किया गया था। README या DOCS देखें।
फिलिप गाचौड

1

एक समाधान जो मुझे यहां मिला उसने मुझे दो mp4 फाइलों को खोए बिना जुड़ने में मदद की:

sudo apt-get install gpac
MP4Box -cat part1.mp4 -cat part2.mp4 -new joinedfile.mp4

मैं का उपयोग करने की कोशिश की AVIDemux, लेकिन विलय वीडियो में ध्वनि के साथ समस्या थी।


1

आपकी फ़ाइलें ठीक से नहीं जुड़ेंगी क्योंकि कुछ मेल नहीं खाता है।

कई अन्य लोगों की तरह मुझे मर्ज किए गए वीडियो में ठीक से सिंक करने में ध्वनि की समस्या थी। और जबकि MP4Box ठीक काम करता है अगर क्लिप में समान विनिर्देशों हैं, तो कुछ मामलों में मैं "कोई उपयुक्त गंतव्य ट्रैक नहीं मिला - नया बना" द्वारा चकित हो जाएगा, जिस स्थिति में टोटेम (उर्फ वीडियो) उस सेगमेंट में शामिल नहीं होगा कुछ परीक्षण और त्रुटि और आगे के शोध के बाद, मैंने उन वीडियो से जुड़ने के लिए निम्नलिखित विधि विकसित की है जो इस प्रकार स्वीकार्य (मेरे लिए) गुणवत्ता के साथ हर बार काम किया है।

यदि फ्रेम आकार मेल नहीं खाते (वीडियो ट्रैकों से संबंधित त्रुटियां शामिल हैं):

बेजोड़ खंडों के लिए बाधाओं (अधिकतम अधिकतम संगतता के लिए 8 से विभाज्य) द्वारा ऑडियो (-c: एक प्रतिलिपि) को बाधित किए बिना वीडियो को सामान्य करें

उदाहरण आज्ञा

width=856

height=480

avconv -i input.mp4 -filter:v "scale=iw*min($width/iw\,$height/ih):ih*min($width/iw\,$height/ih), pad=$width:$height:($width-iw*min($width/iw\,$height/ih))/2:($height-ih*min($width/iw\,$height/ih))/2" -c:a copy output.mp4

यदि ऑडियो मेल नहीं खाता (ऑडियो ट्रैक्स से संबंधित त्रुटियाँ शामिल हैं):

ऑडियो को सामान्य करें

वीडियो को बाधित किए बिना प्रक्रिया ऑडियो (सी: वी कॉपी) ताकि सभी क्लिप वांछित कोडेक से मेल खाते हों, आवृत्ति और सी के साथ बिटरेट: एक कोडेक-आर आवृत्ति जैसे -आर 48000 और बी के साथ बिट दर: स्टीरियो के लिए एक 128k (64K प्रति) चैनल एक अच्छा लक्ष्य लगता है) या जो भी मैच हो।

उदाहरण: avconv -i input.mp4 -c:v copy -c:a libmp3lame -ar 48000 b:a 128k output.mp4(ध्यान दें libmp3lame एमपी 3 ऑडियो के लिए एक कोडेक है कि) आप आदेश जारी करके avconv समर्थित एनकोडर की एक सूची प्राप्त कर सकते हैं avconv -codecsया एक विशिष्ट कोडित करने के लिए नीचे बातें संकीर्ण करने के लिए avconv -codecs|grep *codecname*उदाहरण के लिएavconv -codecs|grep mp3

अब जब हमने फाइलें सामान्य कर ली हैं, तो हम उनसे जुड़ सकते हैं। इस उदाहरण में मैं MP4Box के साथ फ़ाइलों में शामिल हो जाऊँगा। यदि आपके पास यह नहीं है तो आप इसे कमांड जारी करके प्राप्त कर सकते हैंsudo apt-get install gpac

कमांड के साथ फाइल में शामिल हों MP4Box file1.mp4 -cat file2.mp4 -cat file3.mp4 -cat file4.mp4 -out joinedfile.mp4(ध्यान दें कि पहली फ़ाइल से पहले कोई बिल्ली नहीं है और प्रत्येक अतिरिक्त फ़ाइल -cat से पहले है और लक्ष्य फ़ाइल पहले से-पास है)

यदि आप शामिल होने के लिए MP4Box (MP4 के लिए अनुशंसित) का उपयोग कर रहे हैं, तो आप पा सकते हैं कि आपको सभी क्लिप को एवोकॉन के साथ संसाधित करना होगा कि क्या त्रुटि से बचने के लिए चश्मा मैच के लिए दिखाई देते हैं या नहीं "कोई उपयुक्त गंतव्य ट्रैक नहीं मिला - नया बनाना (प्रकार वीडियोग्राफी)"

नोट: मैंने पाया है कि AVIDemux को एक संदर्भ के रूप में B- फ्रेम के कारण H.264 / AVC (प्रति कुलदेवता) फ़ाइलों का उपयोग करके एन्कोडेड वीडियो के साथ समस्या है। ऐसा लगता है कि जब ऑडियो और वीडियो दोनों को बिना रीमूक्स के कॉपी करना हो तो भी जुड़ने पर ऑडियो का सिंक आउट हो जाता है। सुरक्षित मोड का उपयोग करते समय सुरक्षित मोड और सिंक से बाहर नहीं चुनने पर दुर्घटनाएं

सूत्रों का कहना है:

/superuser/547296/resizing-videos-with-ffmpeg-avconv-to-fit-into-static-sized-player

/programming/20703160/problems-with-setting-constant-bitrate-by-using-avconv

https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_cbr

नोट: जहां तक ​​मुझे पता है कि अन्य प्रारूपों (कंटेनरों) में फ्रेम आकार और ऑडियो दरों के मिलान के लिए समान बाधाएं हैं, इसलिए यह एवी के लिए काम कर सकता है यदि आप वीडियो और ऑडियो को सामान्य करने के बाद बिल्ली या मेन्कोडर के माध्यम से जुड़ने का प्रयास करते हैं ।

वैकल्पिक: यदि किसी वैरिएबल फ्रैमरेट के साथ वांछित और 25 की निरंतर गुणवत्ता सेटिंग (सुझाई गई सेटिंग्स - अपनी सामग्री और गुणवत्ता अपेक्षाओं के लिए आवश्यकतानुसार समायोजित करें) के साथ जोड़े गए फ़ाइल को फिर से एनकोड करने के लिए हैंडब्रेक का उपयोग करें।


1

आपको इस प्रकार लिखना चाहिए:

avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi --append output.avi --save video.avi

यदि आप अधिक फ़ाइलों को जोड़ना चाहते हैं:

avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi --append output1.avi --append output2.avi --append output3.avi --save video.avi

1

मैं कई वीडियो फ़ाइलों में शामिल / विलय करने के लिए VLC मीडिया प्लेयर का उपयोग करने में सक्षम था। VLC को उबंटू सॉफ्टवेयर से डाउनलोड किया जा सकता है या आप इसे टर्मिनल से Ctrl+ Alt+ Tऔर दबाकर स्थापित कर सकते हैं :

sudo apt update
sudo apt install vlc

VLC स्थापित होने के बाद, वीडियो फ़ाइलों के साथ फ़ोल्डर में एक टर्मिनल खोलें और फिर टाइप करें:

vlc InFile1.mp4 InFile2.mp4 --sout "#gather:std{access=file,dst=OutFile.mp4}" --sout-keep

यह VLC GUI को खोलता है और फाइल के विलय / विलय के बाद आप इसे बंद कर सकते हैं। आप अधिक जानकारी यहाँ पा सकते हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.