Opened 12 years ago

Closed 11 years ago

#2269 closed enhancement (fixed)

adts muxer does not write metadata

Reported by: feelart Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: aac
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

RE: ffmpeg 1.1 (build 2013-02-09)

2 bugs:
1/ when aac is the output source, source tags are not copied

2/ when aac is input, ouput tags have issues with some non EN chars

Quid is it linked to any aac encoder or just libvo_aacenc

First let's test source is MP3

With:

ffmpeg -i withTagsMp3.mp3 -map_metadata 0 tagTestaacNoTagCopy.aac

no tag are copied, no warning or error

while both are OK:

ffmpeg -i withTagsMp3.mp3 -map_metadata 0 tagTestmp3OK.mp3

ffmpeg -i withTagsMp3.mp3 -map_metadata 0 -id3v2_version 3 tagTestID3v2mp3OK.mp3

Second let's test when source is AAC

ffmpeg -i withTagsAAC.aac -map_metadata 0 aac2mp3RUSSIAN_FAILS.mp3

Here French characters are copied, but Russian fails (note withTagsMp3.mp3 is OK with Russian)
Returns an error:

"[aac @ 000000000222d3e0] channel element 2.0 is not allocated
Error while decoding stream #0:0: Error number -1 occurred"
ffmpeg -i withTagsAAC.aac -map_metadata 0 aac2aacFails.aac

Here no tags are copied at all !

"[aac @ 000000000222d3e0] channel element 2.0 is not allocated
Error while decoding stream #0:0: Error number -1 occurred"

Attachments (2)

withTagsMp3.mp3 (68.9 KB ) - added by feelart 12 years ago.
mp3 test file with Tags in different source language
withTagsAAC.aac (67.1 KB ) - added by feelart 12 years ago.
aac test file with tags in different source language

Download all attachments as: .zip

Change History (12)

by feelart, 12 years ago

Attachment: withTagsMp3.mp3 added

mp3 test file with Tags in different source language

by feelart, 12 years ago

Attachment: withTagsAAC.aac added

aac test file with tags in different source language

comment:1 by Elon Musk, 12 years ago

by tags in aac you just mean id3v1 tags - this is fairly trivial to add suppport.

comment:2 by feelart, 12 years ago

No, you read too quickly.

There are 2 bugs.
One when the source is for instance mp3 and the output is aac
In that case, no tag is copied

Second bug type, is when the source is aac, then
when the output is mp3, it fails to properly copy Russian chars
when the output is aac, no tag is copied at all!

Even this produce no tag

ffmpeg -i withTagsMp3.mp3 -metadata title="does NOT work" aac2mp3ForceTitle.aac

Version 0, edited 12 years ago by feelart (next)

comment:3 by Elon Musk, 12 years ago

But this is ticket for one bug only, so ignore second one.

comment:4 by feelart, 12 years ago

There are intimely linked

comment:5 by Elon Musk, 12 years ago

Unfortunately not at all.

comment:6 by feelart, 12 years ago

Then should I close this one and open 2?

comment:7 by Elon Musk, 12 years ago

Nope, leave this one open.

comment:8 by feelart, 12 years ago

Can you reproduce it?

comment:9 by Carl Eugen Hoyos, 12 years ago

Component: undeterminedavformat
Keywords: aac added
Priority: normalwish
Reproduced by developer: set
Status: newopen
Summary: 2 reproducable bugs: Tags are not copied to AAC as output, AAC as input leaves partial copy to mp3adts muxer does not write metadata
Type: defectenhancement
Version: unspecifiedgit-master
$ ffmpeg -i fate-suite/mpegaudio/extra_overread.mp3 -strict -2 out.aac
ffmpeg version N-50068-g2220f13 Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb 18 2013 12:32:48 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 17.102 / 52. 17.102
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.100 / 54. 63.100
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 38.103 /  3. 38.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mp3 @ 0x16270c0] max_analyze_duration 5000000 reached at 5015510 microseconds
Input #0, mp3, from 'fate-suite/mpegaudio/extra_overread.mp3':
  Metadata:
    track           : 1
    encoded_by      : Fraunhofer IIS MP3 v04.01.02 (fast)
    date            : 2011
    encoder         : Lavf54.1.0
  Duration: 00:00:10.00, start: 0.000000, bitrate: 191 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, mono, s16p, 192 kb/s
Output #0, adts, to 'out.aac':
  Metadata:
    track           : 1
    encoded_by      : Fraunhofer IIS MP3 v04.01.02 (fast)
    date            : 2011
    encoder         : Lavf54.63.100
    Stream #0:0: Audio: aac, 44100 Hz, mono, fltp, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 -> aac)
Press [q] to stop, [?] for help
size=     148kB time=00:00:10.00 bitrate= 121.0kbits/s
video:0kB audio:145kB subtitle:0 global headers:0kB muxing overhead 2.035478%
$ ffmpeg -i out.aac
ffmpeg version N-50068-g2220f13 Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb 18 2013 12:32:48 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 17.102 / 52. 17.102
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.100 / 54. 63.100
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 38.103 /  3. 38.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[aac @ 0x30d4520] max_analyze_duration 5000000 reached at 5015510 microseconds
[aac @ 0x30d4520] Estimating duration from bitrate, this may be inaccurate
Input #0, aac, from 'out.aac':
  Duration: 00:00:09.93, bitrate: 121 kb/s
    Stream #0:0: Audio: aac, 44100 Hz, mono, fltp, 121 kb/s
At least one output file must be specified

comment:10 by jamal, 11 years ago

Resolution: fixed
Status: openclosed

Should be fixed in commit c994b42830cb6c3152b4d383d7c26affc1a2321b

You can enable ApeTag metadata with -write_apetag 1

ffmpeg -i withTagsAAC.aac -map_metadata 0 -write_apetag 1 aac2aacFails.aac
Note: See TracTickets for help on using tickets.