Meta verileri bir dosyadan diğerine kopyalamak için ffmpeg kullanma


17

Bir videonun (kare hızı, çözünürlük) temel yönleriyle ilişkili olmayan tüm meta verileri bir videodan diğerine kopyalamak için ffmpeg kullanmak istiyorum. Bunu tek bir komutla yapmanın basit bir yolu var mı?

Yanıtlar:


19

Kullanın -map_metadata.

Bu örnekte global ve stream meta verileri kopyalanacak in0.mkv. Video ve ses akışları aşağıdakilerden akışla kopyalanacaktır 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

Bu şöyle bir şeyle sonuçlanacaktır:

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

Varsayılan olarak genel meta veriler ilk girdi dosyasından kopyalanır, bu nedenle -map_metadata 0büyük olasılıkla atlanabilir.


1
Kaynak videonuz bir .mov dosyasıysa, bayrağı da eklemeniz gerekir, -movflags use_metadata_tagsaksi takdirde çıkış videosu meta verileri içermez.
Mastergalen

-3

İhtiyacınız olan tek şey temel bilgilerse (oluşturma tarihi vb.) İse, -r FILE1 FILE2 öğesine dokunun.


Soruyu okursanız, amaç dosya meta verileri değil, video meta verileridir.
fixer1234
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.