web-dev-qa-db-ja.com

FFmpegはM4Aファイルを破壊します

USBインターフェースを備えた車で再生するM4Aファイルを作成しようとしています。
このファイル そのままで正常に動作します。ただし、次を使用してファイルをリマックスすると、

ffmpeg -i Miaow-02-Hidden.m4a -c copy outfile.m4a

私の車ではもう再生されません。

4
Steven Penny

TagEditor を介して2つのファイルを取得でき、違いに気づきました。

$ tageditor --info --files Miaow-02-Hidden.m4a outfile.m4a
Technical information for "Miaow-02-Hidden.m4a":
  Container format: MPEG-4 Part 14
    Document type                 M4A
    Duration                      4 min 5 s 156 ms
    Creation time                 2010-11-03 09:42:53
    Modification time             2010-11-03 09:43:12
    Tag position                  before data
    Index position                before data
    Padding                       3.12 KiB

Technical information for "outfile.m4a":
  Container format: MPEG-4 Part 14
    Document type                 M4A
    Version                       512
    Duration                      4 min 5 s 157 ms
    Creation time                 1904-01-01 00:00:00
    Modification time             1904-01-01 00:00:00
    Tag position                  after data
    Index position                after data
    Padding                       8 bytes

ご覧のとおり、元のファイルの先頭にはインデックス(moovアトム)があります。これは ファストスタートと呼ばれます です。コマンドを変更すると、問題が修正されました。

ffmpeg -i Miaow-02-Hidden.m4a -c copy -movflags faststart outfile.m4a
4
Steven Penny