एक फाइल से दूसरी फाइल में मेटाडेटा की प्रतिलिपि बनाने के लिए ffmpeg का उपयोग करना


17

मैं एक वीडियो से दूसरे वीडियो के मुख्य पहलुओं (फ्रेम दर, रिज़ॉल्यूशन) से जुड़े सभी मेटा डेटा को कॉपी करने के लिए ffmpeg का उपयोग करना चाहता हूं। क्या एक एकल आदेश के साथ ऐसा करने का एक सरल तरीका है?

जवाबों:


19

का उपयोग करें -map_metadata

इस उदाहरण में वैश्विक और धारा मेटाडेटा से कॉपी किया जाएगा in0.mkv। वीडियो और ऑडियो स्ट्रीम से कॉपी की जाएगी स्ट्रीम in1.mkv:

ffmpeg -i in0.mkv -i in1.mkv -map 1 -c copy \
# copies all global metadata from in0.mkv to out.mkv  
-map_metadata 0 \
# copies video stream metadata from in0.mkv to out.mkv
-map_metadata:s:v 0:s:v \
# copies audio stream metadata from in0.mkv to out.mkv
-map_metadata:s:a 0:s:a \
out.mkv

यह कुछ इस तरह से परिणाम देगा:

Output #0, matroska, to 'out.mkv':
  Metadata:
    title           : Global Title
    AUTHOR          : Global Author
    Stream #0:0: Video: h264
    Metadata:
      title           : Stream 0 Title
    Stream #0:1: Audio: vorbis
    Metadata:
      title           : Stream 1 Title

डिफ़ॉल्ट रूप से वैश्विक मेटाडेटा को पहली इनपुट फ़ाइल से कॉपी किया जाता है, इसलिए -map_metadata 0संभवतः छोड़ा जा सकता है।


1
यदि आपका स्रोत वीडियो एक .mov फ़ाइल है, तो आपको ध्वज जोड़ने की आवश्यकता है -movflags use_metadata_tagsया आउटपुट वीडियो में मेटाडेटा नहीं होगा।
मास्टरगेल

-3

यदि आप सभी की जरूरत है मूल बातें (निर्माण की तारीख, आदि) है, तो टच-आर FILE1 FILE2 FILE1 से FILE2 तक मेटाडेटा के रूप में काम करेगा।


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