11

Я хочу использовать ffmpeg для копирования всех метаданных, не связанных с основными аспектами видео (частота кадров, разрешение), из одного видео в другое. Есть ли простой способ сделать это с помощью одной команды?

2 ответа2

13

Используйте -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 вероятно, можно было бы опустить.

-2

Если вам нужны только основы (дата создания и т.д.), Коснитесь -r ФАЙЛ1 ФАЙЛ2 Будет работать как метаданные, копирующие брелок из ФАЙЛА1 в ФАЙЛ2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .