मैं दो को समेटना चाहता हूं m4a
फाइलें, एक 20:49 लंबी और दूसरी 10:23 लंबी। निम्नलिखित यह पन्ना , पहला विकल्प है:
ffmpeg -i 'concat:file1.m4a|file2.m4a' -c copy output.m4a
यह केवल पहली फ़ाइल को प्रोसेस करता है, उदा। मानक उत्पादन दिखाता है:
size= 10921kB time=00:20:48.69
और आउटपुट फ़ाइल पहली फ़ाइल की तरह 20 मिनट है।
दूसरा विकल्प है:
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.m4a
कहा पे mylist.txt
है:
file 'file1.m4a'
file 'file2.m4a'
यह कमांड मानक आउटपुट शो के रूप में दोनों फाइलों का उपयोग करता है:
size= 16339kB time=00:33:56.73
लेकिन अवधि गलत है, क्योंकि यह 31:42 होना चाहिए। इसके अलावा, आउटपुट फ़ाइल की अवधि 32:06 है जब ऑपरेटिंग सिस्टम (macOS) से खेला जाता है।
मैं अपनी अवधि का सम्मान करते हुए दो फ़ाइलों को संक्षिप्त करने के लिए FFMPEG कैसे प्राप्त कर सकता हूं?
ffmpeg
साथ में Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
।
concat
इस पर विचार न करने के लिए डिमॉक्सर कुख्यात है। प्रसारण में हम कच्चे पीसीएम (या कुछ और जो टाइमस्टैम्प नहीं है) में परिवर्तित करते हैं, फिर कॉनकैट करते हैं, फिर अंतिम आउटपुट स्वरूप बनाते हैं। इस के समान ffmpeg -i file1,m4a -c:a pcm_s16le -f s16le file1.pcm ; ffmpeg -i file2,m4a -c:a pcm_s16le -f s16le file2.pcm ; cat file2.pcm >> file1.pcm ; ffmpeg -f s16le -i file1.pcm -c:a aac -b:a whatever -ac whatever output.m4a
cat
सिर्फ दो फाइलों को जोड़ रहा है। मुझे अंतिम आदेश के साथ त्रुटियां हो रही हैं और मैं नहीं ढूँढ सकता -b
मैनुअल में। क्या आप इसका उदाहरण दे सकते हैं whatever
अंतिम पंक्ति में
-b:a
ऑडियो बैंडविड्थ सेट करता है। कुछ इस तरह -b:a 96k
(या 192 k) एक अच्छा प्रारंभिक बिंदु हो सकता है, -ac
ऑडियो चैनलों की संख्या को परिभाषित करता है, इसलिए -ac 2
स्टीरियो के लिए काम करता है। आप सही कह रहे हैं, कि cat
बस फ़ाइल को जोड़ता है - यह कच्चे पीसीएम का बड़ा लाभ है (जैसा कि .wav के विपरीत)।
-c copy
सेm4a
सेवा मेरेmp3
बकवास पैदा करने के लिए बाध्य है।