Ticket #2157 (open defect)
-metadata track=1/10 and M4A issues
| Reported by: | Atarikid | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avformat |
| Version: | git-master | Keywords: | mov |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
Adding metadata track total to .m4a files does not work anymore with FFmpeg 1.1 and higher (gits)
ffmpeg -i source.mp3 -c:a aac -strict -2 -metadata track=1/10 -vn -output.m4a
It only adds the track number (1) but not the track total number (10)
Works fine with FFmpeg 1.0.1
Ouput :
[mp3 @ 0x7f94e8806600] max_analyze_duration 5000000 reached at 5015510 microseconds
Input #0, mp3, from '/Users/atarikid/Desktop/source.mp3':
Metadata:
artist : Dreadzone
album : Sound
title : Return of the dread
genre : Electronic
track : 1
date : 2001
Duration: 00:06:21.62, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
Stream #0:1: Video: mjpeg, yuvj420p, 168x166 [SAR 1:1 DAR 84:83], 90k tbr, 90k tbn, 90k tbc
Metadata:
title :
comment : Cover (front)
File '/Users/atarikid/Desktop/output.m4a' already exists. Overwrite ? [y/N] y
Output #0, ipod, to '/Users/atarikid/Desktop/output.m4a':
Metadata:
artist : Dreadzone
album : Sound
title : Return of the dread
genre : Electronic
date : 2001
track : 1/10
encoder : Lavf54.61.100
Stream #0:0: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
Stream mapping:
Press [q] to stop, ? for help
size= 5942kB time=00:06:21.64 bitrate= 127.5kbits/s
video:0kB audio:5877kB subtitle:0 global headers:0kB muxing overhead 1.109580%
Attachments
Change History
comment:2 in reply to: ↑ 1 Changed 4 months ago by cehoyos
Replying to Atarikid:
To be more clear:
-metadata track="1/10" should save "1/10" to TRK but in only saves "1"
To make this clear you could add the output of "ffmpeg -i output.m4a"
And please add the complete, uncut console output for your original, failing command line, never cut the first 50 and the last 50 lines.
comment:3 Changed 4 months ago by cehoyos
And since I am unable to reproduce the regression (ie that it worked with earlier versions):
Please also add command line together with complete, uncut console output for a working version.
comment:4 Changed 4 months ago by Atarikid
BTW it works fine for MP3 but for M4A (AAC and ALAC) it does not work.
The output for ffmpeg -i output/m4a
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/atarikid/Desktop/output.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
title : Return of the dread
artist : Dreadzone
album : Sound
date : 2001
encoder : Lavf54.61.100
genre : Electronic
track : 1
Duration: 00:06:21.65, start: 0.023220, bitrate: 127 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s
Metadata:
handler_name : SoundHandler?
At least one output file must be specified
comment:5 Changed 4 months ago by Atarikid
Hmm.. strange .. It does not seems to be a regression after all (although I was pretty sure it worked fine with FFmpeg 1.0)
Anyhow, it should do it. It does with all other formats.
Or is there another metadata for track total?
comment:7 Changed 4 months ago by cehoyos
- Version changed from unspecified to git-master
- Component changed from undetermined to avformat
Could you add the complete, uncut console output (including command line) for your failing command to make this a valid ticket?
comment:8 Changed 4 months ago by Atarikid
Ok here follows all information I can give you - including how it works fine with mp3 and a example file.
First let us show how it should work.
/Users/atarikid/Desktop/ffmpeg -i /Users/atarikid/Desktop/source.m4a -c:a libmp3lame -metadata track=1/10 /Users/atarikid/Desktop/output.mp3
ffmpeg version N-48986-g9a038a9 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 19 2013 08:27:49 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --enable-pthreads --disable-shared --enable-static --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libfaac --enable-postproc --enable-runtime-cpudetect --disable-debug --disable-network --disable-doc --enable-small --enable-nonfree
libavutil 52. 15.100 / 52. 15.100
libavcodec 54. 89.100 / 54. 89.100
libavformat 54. 61.100 / 54. 61.100
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/atarikid/Desktop/source.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
encoder : Lavf54.61.100
Duration: 00:00:04.85, start: 0.023220, bitrate: 98 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s
Metadata:
handler_name : SoundHandler?
File '/Users/atarikid/Desktop/output.mp3' already exists. Overwrite ? [y/N] y
Output #0, mp3, to '/Users/atarikid/Desktop/output.mp3':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
TRCK : 1/10
TSSE : Lavf54.61.100
Stream #0:0(und): Audio: mp3, 44100 Hz, stereo, fltp
Metadata:
handler_name : SoundHandler?
Stream mapping:
Press [q] to stop, ? for help
size= 77kB time=00:00:04.85 bitrate= 129.2kbits/s
video:0kB audio:76kB subtitle:0 global headers:0kB muxing overhead 0.419663%
Reading the output file:
/Users/atarikid/Desktop/ffmpeg -i /Users/atarikid/Desktop/output.mp3
ffmpeg version N-48986-g9a038a9 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 19 2013 08:27:49 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --enable-pthreads --disable-shared --enable-static --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libfaac --enable-postproc --enable-runtime-cpudetect --disable-debug --disable-network --disable-doc --enable-small --enable-nonfree
libavutil 52. 15.100 / 52. 15.100
libavcodec 54. 89.100 / 54. 89.100
libavformat 54. 61.100 / 54. 61.100
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
Input #0, mp3, from '/Users/atarikid/Desktop/output.mp3':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
track : 1/10
encoder : Lavf54.61.100
Duration: 00:00:04.88, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
At least one output file must be specified
As you notice the track metadata reads 1/10 as it should.
Now the same but to m4a
/Users/atarikid/Desktop/ffmpeg -i /Users/atarikid/Desktop/source.m4a -c:a aac -strict -2 -metadata track=1/10 /Users/atarikid/Desktop/output.m4a
ffmpeg version N-48986-g9a038a9 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 19 2013 08:27:49 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --enable-pthreads --disable-shared --enable-static --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libfaac --enable-postproc --enable-runtime-cpudetect --disable-debug --disable-network --disable-doc --enable-small --enable-nonfree
libavutil 52. 15.100 / 52. 15.100
libavcodec 54. 89.100 / 54. 89.100
libavformat 54. 61.100 / 54. 61.100
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/atarikid/Desktop/source.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
encoder : Lavf54.61.100
Duration: 00:00:04.85, start: 0.023220, bitrate: 98 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s
Metadata:
handler_name : SoundHandler?
File '/Users/atarikid/Desktop/output.m4a' already exists. Overwrite ? [y/N] y
Output #0, ipod, to '/Users/atarikid/Desktop/output.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
track : 1/10
encoder : Lavf54.61.100
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
handler_name : SoundHandler?
Stream mapping:
Press [q] to stop, ? for help
size= 77kB time=00:00:04.85 bitrate= 130.0kbits/s
video:0kB audio:75kB subtitle:0 global headers:0kB muxing overhead 2.081122%
Reading the output file:
/Users/atarikid/Desktop/ffmpeg -i /Users/atarikid/Desktop/output.m4a
ffmpeg version N-48986-g9a038a9 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 19 2013 08:27:49 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --enable-pthreads --disable-shared --enable-static --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libfaac --enable-postproc --enable-runtime-cpudetect --disable-debug --disable-network --disable-doc --enable-small --enable-nonfree
libavutil 52. 15.100 / 52. 15.100
libavcodec 54. 89.100 / 54. 89.100
libavformat 54. 61.100 / 54. 61.100
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/atarikid/Desktop/output.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
encoder : Lavf54.61.100
track : 1
Duration: 00:00:04.88, start: 0.023220, bitrate: 129 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s
Metadata:
handler_name : SoundHandler?
At least one output file must be specified
The track metadata is now only 1 which is not correct.
Notes:
- It doesn't matter if you use aac, libfaac or any other aac encoder.
- This issue also applies to ALAC encoding
- All other codecs (ogg, wav, opus, ... ) it works fine as with mp3. So its only a .m4a issue
Hopes this helps fixing this.
comment:9 Changed 4 months ago by cehoyos
- Keywords mov added
- Status changed from new to open
- Reproduced by developer set
$ ffmpeg -i http://samples.ffmpeg.org/A-codecs/lossless/ALAC/old_midi_stuff.m4a -strict -2 -t 1 out.m4a
ffmpeg version N-49055-g60af6c3 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 20 2013 15:48:14 with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl --disable-indev=jack
libavutil 52. 15.100 / 52. 15.100
libavcodec 54. 89.100 / 54. 89.100
libavformat 54. 61.101 / 54. 61.101
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.101 / 3. 32.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://samples.ffmpeg.org/A-codecs/lossless/ALAC/old_midi_stuff.m4a':
Metadata:
major_brand : M4A
minor_version : 0
compatible_brands: M4A mp42isom
creation_time : 2005-02-19 06:43:21
title : Track 02
track : 2/11
encoder : iTunes v4.7.1.30
Duration: 00:03:21.23, start: 0.000000, bitrate: 485 kb/s
Stream #0:0(und): Audio: alac (alac / 0x63616C61), 44100 Hz, stereo, s16, 485 kb/s
Metadata:
creation_time : 2005-02-19 06:43:21
Output #0, ipod, to 'out.m4a':
Metadata:
major_brand : M4A
minor_version : 0
compatible_brands: M4A mp42isom
track : 2/11
title : Track 02
encoder : Lavf54.61.101
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
creation_time : 2005-02-19 06:43:21
Stream mapping:
Stream #0:0 -> #0:0 (alac -> aac)
Press [q] to stop, [?] for help
size= 18kB time=00:00:01.02 bitrate= 146.2kbits/s
video:0kB audio:17kB subtitle:0 global headers:0kB muxing overhead 5.540479%
$ ffmpeg -i out.m4a
ffmpeg version N-49055-g60af6c3 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 20 2013 15:48:14 with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl --disable-indev=jack
libavutil 52. 15.100 / 52. 15.100
libavcodec 54. 89.100 / 54. 89.100
libavformat 54. 61.101 / 54. 61.101
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.101 / 3. 32.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
title : Track 02
encoder : Lavf54.61.101
track : 2
Duration: 00:00:01.05, start: 0.023220, bitrate: 142 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 135 kb/s
Metadata:
handler_name : SoundHandler
At least one output file must be specified
comment:10 Changed 4 months ago by cehoyos
- Summary changed from -metadata track=1/10 and AAC issues to -metadata track=1/10 and M4A issues




To be more clear:
-metadata track="1/10" should save "1/10" to TRK but in only saves "1"