Mp4 को थंबनेल के साथ एमपी 3 में बदलें


8

मैं एक एमपी 3 को एमपी 3 में बदलने के लिए सक्षम हूँ ffmpeg, लेकिन मुझे यकीन नहीं है कि मैं वीडियो के थंबनेल में कैसे जोड़ूंगा।

वर्तमान में इसे mp4 से mp3 में बदलना है

ffmpeg -i video.mp4 -acodec libmp3lame -metadata title=video -b:a 256 -f input.mp3

मैं तो ffmpeg के माध्यम से फिर से इस आदेश के साथ चलाने के लिए होगा?

ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3

या क्या इसे चलाने के लिए जटिल फिल्टर का उपयोग करने का कोई तरीका है?

मुझे पता है कि यह FLV के लिए काम करता है लेकिन यह mp4 के लिए काम नहीं करता है

ffmpeg -i video.flv -i cover.jpg -map 0:a -map 1 -c:v copy -metadata title=video -b:a 256k out.mp3

क्या आप वाकई थंबनेल को स्वचालित रूप से सेट करना चाहते हैं? क्योंकि अन्यथा आप इसे मैन्युअल रूप से बदल सकते हैं लेकिन मुझे यकीन नहीं है कि आप उसके बाद हैं। यदि आप इसे FLV के साथ कर सकते हैं, लेकिन MP4 के साथ नहीं तो मैं सिर्फ एक स्क्रिप्ट बनाऊंगा जो दोनों कमांड चलाता है।
रामोनोबबेन

@RamonRobben मैं दो बार ffmpeg चलाने से बचने की कोशिश कर रहा हूं
nadermx

आप कुछ इस तरह की कोशिश कर सकते हैं Ffmpeg -i in.mp4 -i test.png -map 0: 0 -map 1: 0 -c copy -id3v2_version 3 -metadata: s: v title = "एल्बम कवर -metadata: s: v टिप्पणी = "कवर (सामने)" out.mp3 मैं अपने साथ ffmpeg डाउनलोड कर रहा हूं ताकि इसके साथ परीक्षण शुरू कर सकूं।
रामोनोबेन

जवाबों:


3

बेहतर उत्तर , स्पष्टीकरण के साथ, स्लैक और मुलव्या से स्मार्ट सुझावों को शामिल करना, गैर-आवश्यक मापदंडों से छीन लिया गया।

ffmpeg -i video.mp4 -i cover.jpg -acodec libmp3lame -b:a 256k -c:v copy -map 0:a:0 -map 1:v:0 output.mp3

ffmpeg ऑडियो / वीडियो मैनुपुलेशन टूल: पहले से ही ओपी द्वारा चुना गया है, यह इस नौकरी के लिए विशेष रूप से फिट है।

-i video.mp4 पहला इनपुट फ़ाइल: कुछ ऑडियो वाला वीडियो जिसे हम निकालना चाहते हैं।

-i cover.jpg दूसरी इनपुट फ़ाइल, एक छवि जिसे हम प्रदर्शित करते हैं जब हम परिणामी ऑडियो फ़ाइल खेलते हैं।

-acodec libmp3lame हम LAME एनकोडर का उपयोग करके एक .mp3 फ़ाइल बनाना चाहते हैं।

-b:a 256kयह ऑडियो ट्रैक को निरंतर 256Kb / s के लिए बिटरेट सेट करता है। एक चतुर विकल्प एक बिट्रेट के साथ सांकेतिक शब्दों में बदलना होगा, जो गुणवत्ता पैरामीटर को निर्दिष्ट करता है : -q:a 0अधिकतम गुणवत्ता के लिए पूछता है, जबकि -q:a 4अक्सर कथित ऑडियो गुणवत्ता और बिटरेट (और इसलिए, फ़ाइल आकार) के बीच एक अच्छा समझौता दर्शाता है।

-c:v copyयह इंगित करता है कि वीडियो स्ट्रीम (.jpg छवि) को पुन: कनेक्ट नहीं किया जाना चाहिए, लेकिन इसे वैसे ही कॉपी किया जाना चाहिए। अनावश्यक फॉर्मेट और संभावित गुणवत्ता हानि से बचने के लिए यह उपयोगी है जब एक हानिपूर्ण प्रारूप में पुन: लोड किया जाता है। हमारे मामले में, इस पैरामीटर के बिना छवि को .jpg से डिकोड किया जाएगा और .png को एन्कोड किया जाएगा, जो जाहिर तौर पर मूल प्रारूप है जो डिफ़ॉल्ट रूप से चुना जाता है। यह गुणवत्ता में होने वाली हानि का प्रतिनिधित्व नहीं करता है क्योंकि .Png हानिप्रद है, लेकिन अधिक बार नहीं होने के कारण फ़ाइल आकार में वृद्धि नहीं होगी, इस तथ्य के कारण कि .jpg (हानिपूर्ण होना) आमतौर पर एक बेहतर संपीड़न दर प्रदान करता है।

-map 0:a:0यह पहली ( 0:) इनपुट फ़ाइल से उपयोग की जाने वाली स्ट्रीम का चयन करता है : इसमें पहला ( :0) ऑडियो ( a) स्ट्रीम होता है जिसमें यह होता है।

-map 1:v:0यह दूसरी ( ) इनपुट फ़ाइल से पहली ( :0) वीडियो ( v) स्ट्रीम का चयन करता है 1:

output.mp3 इस पैरामीटर का नाम पहले से ही सुझाए जाने के लिए चालाक रूप से चुना गया था, यह उस आउटपुट ऑडियो (.mp3) फ़ाइल के लिए दिया जाना चाहिए जिसका नाम निगमित छवि के साथ होना चाहिए।

मूल उत्तर

यह मेरी शादी से एक वीडियो (.mp4) और एक तस्वीर (.jpg) को एक साथ रखकर एक स्थिर (ऑडियो .mp3) फ़ाइल बनाता है:

ffmpeg -i video.mp4 -i cover.jpg -acodec libmp3lame -metadata title=video -b:a 256k -map_metadata 0 -map 0:1 -map 1 output.mp3

इनपुट स्ट्रीम का चयन करने के लिए ffmpeg प्रलेखन देखें -map, जो यहाँ प्रासंगिक विकल्प है।

मैंने पहली बार कमांड को सरलता से चलाया -map 0 -map 1और यह जानकारी मिली:

Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> png (native))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
  Stream #1:0 -> #0:2 (mjpeg (native) -> png (native))

इस प्रकार मुझे पता था कि मैं 1उस फ़ाइल से स्ट्रीम (aac ऑडियो) चाहता था जिसमें एक इंडेक्स नंबर है 0, यानी वीडियो फ़ाइल; इसलिए इसे स्पष्ट रूप से चुना जाना चाहिए था -map 0:1 -map 1


मैं इस की कोशिश की है, फिर भी यह मुझे देता है Stream map '0:1' matches no streams. To ignore this, add a trailing '?' to the map.
nadermx

इसे see-मैप 0 -map 1 with के साथ चलाएं और देखें कि उपलब्ध धाराएँ क्या हैं।
२२:० 'पर

Stream mapping: Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame)) Stream #1:0 -> #0:1 (mjpeg (native) -> png (native))
nadermx

1
@nadermx आप -map 0:a:0 -map 1:v:0पहली और दूसरी फ़ाइल के क्रमशः पहले ऑडियो और वीडियो स्ट्रीम का चयन करने के लिए कर सकते हैं ।
slhck

1
इमेज इनपुट को एन्कोडिंग करने से बचें, खासकर JPG के साथ। -c:v copy
ज्ञान

2

आप vlc मीडिया प्लेयर का उपयोग कर सकते हैं -

चरण 1: VLC खोलें और "मीडिया" चुनें। कन्वर्ट / सेव पर क्लिक करें।

चरण 2: दिखाई देने वाली अगली विंडो पर, "जोड़ें" चुनें और परिवर्तित होने के लिए वीडियो फ़ाइल (MP4) चुनें।

चरण 3: अगला, "कन्वर्ट / सहेजें" पर नीचे तीर पर क्लिक करें और फिर "कन्वर्ट" पर क्लिक करें।

चरण 4: दिखाई देने वाली अगली विंडो पर, सुनिश्चित करें कि "कन्वर्ट" बटन चयनित है। उस ऑडियो फ़ाइल के प्रकार को चुनने के लिए आगे बढ़ें जिसे आप बनाना चाहते हैं। हमारे मामले में इसकी एमपी 3 फ़ाइल हम परिवर्तित कर रहे हैं।

चरण 5: एक आउटपुट गंतव्य चुनें, और फिर "प्रारंभ" दबाएं। VLC फिर कनवर्ट करना शुरू कर देगा।

थंबनेल जोड़ने के लिए आप इस लिंक का संदर्भ ले सकते हैं (बहुत अच्छी तरह से समझाया गया है)।

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