avconv как скопировать весь поток и объединить метаданные (исправить дату создания)?

Я пытаюсь исправить метаданные некоторых старых видео, поэтому я хотел бы скопировать все потоки аудио-видео и субтитров и объединить метаданные из текстового файла.

Сначала я отправляю метаданные с помощью: avconv -i out.mp4 -f ffmetadata metadata.txt

, а затем пытаюсь скопировать метаданные: avconv -i MOV_0732.mp4 -f ffmetadata -i metadata.txt -c:v copy -c:a copy -c:s copy -map 0 out.mp4

Но окончательные метаданные остается нетронутым, если я перемещаю аргументы метаданных в конец, avconv не запускается:

[buffer @ 0x2128d40] w:1280 h:720 pixfmt:yuv420p
[mpeg4 @ 0x2124660] Invalid pixel aspect ratio 65536/65536, limit is 255/255
Output #0, mp4, to 'out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 1947-03-24 14:12:20
    Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 65536:65536 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 90k tbc
    Metadata:
      creation_time   : 1947-03-24 14:12:20
    Stream #0.1(eng): Audio: [0][0][0][0] / 0x0000, 48000 Hz, mono, s16, 200 kb/s
    Metadata:
      creation_time   : 1947-03-24 14:12:20
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg4)
  Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
2
задан 13 May 2013 в 13:52

1 ответ

После чтения документации и большого количества поисков я наконец получил ответ, который я хотел, заключительная команда:

avconv -i IN.mp4 -i METADATA.txt -map_metadata 1 -codec copy -map 0 OUT.mp4

Это означает:

  • используйте исходные данные: В mp4 и METADATA.txt
  • отобразите метаданные от входа 1 (METADATA.txt)
  • скопируйте все кодеки (никакое транскодирование)
  • отобразите все потоки от входа 0 (В mp4)
  • запишите в Mp4
3
ответ дан 13 May 2013 в 13:52

Другие вопросы по тегам:

Похожие вопросы: