Convert m4a to aac and keep metadata on Windows 7

2.9k views Asked by At

I want to convert an m4a file to aac*. I can do this using:

ffmpeg -i song.m4a -acodec copy song.aac

But on Windows 7 the metadata is not compatible. It seems the -id3v2_version 3 flag should be used so that Windows compatible ID3 tags version 2.3 are used:

ffmpeg -i song.m4a -acodec copy -id3v2_version 3 song.aac

However, with the above command I still don't get any metadata in song.aac. I have used windows file explorer, mp3tag and winamp to confirm there are no tags.

*: reason; m4a won't play on the car stereo so following this advice (http://www.vwaudiforum.co.uk/forum/showthread.php?153728-Tip-Getting-M4A-(iTunes)-format-music-to-play-on-a-VW-head-unit)

Console Output:

C:\temp>ffmpeg -i song.m4a -acodec copy -id3v2_version 3 song.aac
ffmpeg version N-67914-gf87a344 Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov 22 2014 22:10:18 with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.100 / 56. 15.100
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000002dcc760] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'song.m4a':
  Metadata:
    major_brand     : M4A
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 1980-07-20 13:32:00
    iTunSMPB        :  00000000 00000840 0000007C 0000000001027F44 00000000 00000000 00000000 00000000 00000000 00000000
 00000000 00000000
    iTunNORM        :  0000061A 0000052A 00001C40 000021EE 00035E0A 00046912 00007B8C 00007B99 0002845B 00024D35
    title           : Time Away
    artist          : Andy Stott
    album_artist    : Andy Stott
    album           : Faith In Strangers
    genre           : Electronic
    track           : 1/9
    disc            : 1/1
    compilation     : 0
    gapless_playback: 0
    date            : 2014-11-17T08:00:00Z
    copyright       : Ôäù 2014 Modern Love
    media_type      : 1
    iTunMOVI        : <?xml version="1.0" encoding="UTF-8"?>
                    : <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.d
td">
                    : <plist version="1.0">
                    : <dict>
                    :   <key>asset-info</key>
                    :   <dict>
                    :           <key>file-size</key>
                    :           <integer>14359364</integer>
                    :           <key>flavor</key>
                    :           <string>2:256</string>
                    :   </dict>
                    : </dict>
                    : </plist>
                    :
  Duration: 00:06:24.20, start: 0.000000, bitrate: 298 kb/s
    Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 285 kb/s (default)
    Metadata:
      creation_time   : 1980-07-20 13:32:00
    Stream #0:1: Video: mjpeg, gray(bt470bg/unknown/unknown), 1400x1400 [SAR 300:300 DAR 1:1], 90k tbr, 90k tbn, 90k tbc

Output #0, adts, to 'song.aac':
  Metadata:
    major_brand     : M4A
    minor_version   : 0
    compatible_brands: M4A mp42isom
    iTunMOVI        : <?xml version="1.0" encoding="UTF-8"?>
                    : <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.d
td">
                    : <plist version="1.0">
                    : <dict>
                    :   <key>asset-info</key>
                    :   <dict>
                    :           <key>file-size</key>
                    :           <integer>14359364</integer>
                    :           <key>flavor</key>
                    :           <string>2:256</string>
                    :   </dict>
                    : </dict>
                    : </plist>
                    :
    iTunSMPB        :  00000000 00000840 0000007C 0000000001027F44 00000000 00000000 00000000 00000000 00000000 00000000
 00000000 00000000
    iTunNORM        :  0000061A 0000052A 00001C40 000021EE 00035E0A 00046912 00007B8C 00007B99 0002845B 00024D35
    title           : Time Away
    artist          : Andy Stott
    album_artist    : Andy Stott
    album           : Faith In Strangers
    genre           : Electronic
    track           : 1/9
    disc            : 1/1
    compilation     : 0
    gapless_playback: 0
    date            : 2014-11-17T08:00:00Z
    copyright       : Ôäù 2014 Modern Love
    media_type      : 1
    encoder         : Lavf56.15.100
    Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, 285 kb/s (default)
    Metadata:
      creation_time   : 1980-07-20 13:32:00
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size=   13523kB time=00:06:24.19 bitrate= 288.3kbits/s
video:0kB audio:13410kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.843272%

C:\temp>
1

There are 1 answers

2
Zombo On BEST ANSWER

The reason the files will not play on the car stereo is probably not M4A, it is probably faststart

FFmpeg corrupts iTunes files