पुन: कोडिंग के बिना AAC फ़ाइल में मेटाडेटा जोड़ने के लिए ffmpeg का उपयोग कैसे करें?


14

मैं एक वीडियो फ़ाइल से सिर्फ ऑडियो स्ट्रीम निकालने के लिए ffmpeg का उपयोग कर रहा हूं:

ffmpeg -i video.mp4 -vn -acodec copy audio.aac

यह एक साफ ऑडियो फ़ाइल बनाता है, लेकिन बिना किसी मेटाडेटा के।

मेटाडेटा जोड़ने के लिए, ffmpeg में कमांड लाइन विकल्प होता है:

ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.aac

यह बिना किसी त्रुटि के चलता है, लेकिन जब आउटपुट फाइल को ffprobe के साथ जांचा जाता है, तो इसका कोई मेटाडाटा टैग नहीं होता है।

यदि आउटपुट कंटेनर को mp4 में बदल दिया जाता है, तो मेटाडेटा सेट किया जा सकता है और आउटपुट फ़ाइल में दिखाई देता है:

ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.mp4

यहाँ दिलचस्प बिट है; अगर मैं किसी मौजूदा .aac फ़ाइल के मेटाडेटा को संपादित करने के लिए Banshee का उपयोग करता हूं, तो फ़ाइल को उसी तरह संसाधित करने के लिए ffmpeg का उपयोग करें, मूल मेटाडेटा को नई .aac फ़ाइल में सफलतापूर्वक कॉपी किया जाता है।

ffmpeg -i metadata.aac -vn -acodec copy audio.aac

लेकिन, मेटाडेटा को बदलने के प्रयासों का कोई प्रभाव नहीं है:

ffmpeg -i metadata.aac -vn -acodec copy -metadata title="My Title" audio.aac

ऐसा लगता है। एक कंटेनर मेटाडाटा पकड़ सकता है और ffmpeg इसे इनपुट से आउटपुट में कॉपी कर सकता है, लेकिन कॉपी कोडेक का उपयोग करने पर इसे बदल नहीं सकता है।

किसी को भी reencoding बिना anac कंटेनर में मेटाडेटा को बदलने के लिए ffmpeg पाने का एक तरीका पता है?

वैकल्पिक रूप से, क्या कोई अन्य जेनेरिक टूल है जिसका उपयोग मैं फ़ाइल संसाधित होने के बाद मेटाडेटा सेट करने के लिए कर सकता हूं?

बहुत धन्यवाद। क्रिस।

जवाबों:


12

लक्ष्य फिर से एन्कोडिंग के बिना एक वीडियो फ़ाइल से एक ऑडियो-केवल फ़ाइल का उत्पादन करना था और मीडिया खिलाड़ियों द्वारा मेटाडेटा पहचानने का परिचय देना था। पर्यावरण डेबियन GNU / Linux है।

मैं उत्तर खोजने के लिए मुझे सही रास्ते पर डालने के लिए @bootload का शुक्रिया अदा करना चाहता हूं।

ffmpeg मेटाडेटा टैग को .AAC आउटपुट फ़ाइलों में जोड़ने का समर्थन नहीं करता है, हालाँकि, यहाँ दो संभावित वर्कअराउंड हैं।

  1. कमांड लाइन उपयोगिताओं id3 और id3v2 (मानक रिपॉजिटरी से उपलब्ध) एक .aa ऑडियो फ़ाइल के लिए id3 टैग लागू कर सकते हैं। Nautilus ने v1 और v2 टैग शैलियों को मान्यता दी, इसलिए या तो काम करना चाहिए। वही टैग बंशी मीडिया प्लेयर द्वारा मान्यता प्राप्त थे।
id3v2 -t "My Title" audio.aac
  1. ffmpeg एक MP4 कंटेनर में मेटाडेटा जोड़ सकता है, लेकिन Nautilus में एक .mp4 एक्सटेंशन वीडियो फ़ाइल के रूप में दिखाई देगा। Apple इंक ऑडियो फ़ाइलों (.m4a) से वीडियो फ़ाइलों (.m4v) को अलग करने के लिए MP4 कंटेनर में गैर-मानक एक्सटेंशन का उपयोग करता है। ये एक्सटेंशन डेबियन के तहत Nautilus द्वारा और ffmpeg द्वारा मान्यता प्राप्त हैं। इसलिए,
ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.m4a

Nautilus द्वारा मान्यता प्राप्त एक ऑडियो-केवल फ़ाइल का उत्पादन करेगा, और ffmpeg कंटेनर में सुरक्षित रूप से मेटाडेटा जोड़ सकता है।


3

इरादा हार्डवेयर क्या है? क्या यह Apple IP * डिवाइस के लिए है? यदि ऐसा है तो http://atomicparsley.sourceforge.net/ अन्यथा http://ffmpeg.org/ffmpeg.html#Examples को "UTF-8-encoded INI" मैक्सिको / डिमक्स विधि का उपयोग करके देखें। (Utf8 फ़ाइल के रूप में मेटाडेटा निकालें और संशोधित करें और फिर से डालें)।


पर्यावरण डेबियन GNU / Linux है।
क्रिस सी।

Ffmpeg दस्तावेज़ीकरण मेटाडेटा मक्सर / डिमॉक्सर का उपयोग करने के तरीके के बारे में स्पष्ट नहीं है, हालांकि दस्तावेज़ लिंक परिणामी फ़ाइल प्रारूप दिखाता है। क्या आप एक कमांड लाइन उदाहरण प्रदान कर सकते हैं कि यह कैसे किया जाएगा? धन्यवाद।
क्रिस सी।

@ क्रिस अच्छा नहीं लग रहा है। यह सत्यापित करने के लिए aac & ffmpeg स्पेक्स के माध्यम से वैडिंग किए बिना ऐसा लगता है कि ffmpeg द्वारा दिए गए मेटाडेटा को यहाँ सूचीबद्ध किया गया है ~ wiki.multimedia.cx/index.php?title=FFmpeg_etadata#Basic_Usage और acc समर्थित नहीं है। अन्य स्वरूपों के लिए cli का उपयोग करके आप पैटर्न 'ffmpeg -i track05.wav -metadata शीर्षक = "ट्रैक # 5" -metadata लेखक = "अज्ञात कलाकार" -acodec alac -y track05.4a उदाहरण के लिए का पालन करें। सामान्यीकृत पैटर्न ffmpeg -i <SOURCE> -metadata key = "value" <SOURCE> है। यह ठीक आपके द्वारा अनुसरण की जाने वाली प्रक्रिया है :(
बूटलोड

बहुत विशिष्ट मिलता है। जिस मेटाडेटा को आप एनकोड करना चाहते हैं, उसका प्रारूप क्या है? क्या हम ID3 की बात कर रहे हैं? आप आखिर किस प्रारूप में काम करने जा रहे हैं?
बूट

मैं एएसी का समर्थन करता है देखने के लिए चारों ओर एक नज़र डाला। एक आधिकारिक प्रारूप नहीं हो सकता है, लेकिन डेबियन ID3V1 और ID3V2 के भीतर दोनों काम करने लगते हैं। बंशी अपने संपादक का उपयोग करते समय ID3V2 टैग लगाते हुए दिखाई देता है।
क्रिस सी।

1

MP4Box ("gpac" पैकेज का हिस्सा) मूल डेटा को बदलने के बिना MP4 कंटेनरों के साथ AAC फ़ाइलों को लिफाफे। मेटाडेटा को तब टैगिंग सॉफ़्टवेयर के किसी भी टुकड़े का उपयोग करके जोड़ा जा सकता है:

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