2

ffmpeg/avconv を使用して動画を変換するときに、作成時のメタデータを保持したいと考えています。変換しようとしているファイルは次のとおりです。

$ ffmpeg -i in.avi 
ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:00:59 with gcc 4.6.3
Input #0, avi, from 'in.avi':
  Metadata:
    creation_time   : 2013-08-12 06:59:14
    encoder         : CanonMVI06
  Duration: 00:00:12.26, start: 0.000000, bitrate: 14549 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 30 tbr, 30 tbn, 30 tbc
    Stream #0.1: Audio: pcm_u8, 11024 Hz, 1 channels, u8, 88 kb/s

私が実行する最初のアプローチで

$ ffmpeg -i in.avi -vcodec libx264 -acodec libmp3lame -r 30 -map_metadata 0 out.avi

保持したい「creation_date」メタデータを持たない出力ファイルを取得します。

$ ffmpeg -i out.avi 
ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:00:59 with gcc 4.6.3
[avi @ 0x83ba260] max_analyze_duration reached
Input #0, avi, from 'out.avi':
  Metadata:
    encoder         : Lavf53.21.1
  Duration: 00:00:12.38, start: 0.000000, bitrate: 704 kb/s
    Stream #0.0: Video: h264 (Main), yuv420p, 640x480, 30 fps, 30 tbr, 30 tbn, 60 tbc
    Stream #0.1: Audio: mp3, 11025 Hz, mono, s16, 200 kb/s

別のアプローチも試しました

$ ffmpeg -i in.avi -f ffmetadata metadata.txt
$ ffmpeg -i in.avi -f ffmetadata -i metadata.txt -vcodec libx264 -acodec libmp3lame -r 30 out.avi

metadata.txt に正しい情報が含まれていても、同じ成功を収めています。

;FFMETADATA1
creation_time=2013-08-12 06:59:14
encoder=CanonMVI06

私は何を間違っていますか?

4

2 に答える 2