Opened 3 years ago

Closed 3 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 3 years ago.
mp3 test file with Tags in different source language
withTagsAAC.aac (67.1 KB) - added by feelart 3 years ago.
aac test file with tags in different source language

Download all attachments as: .zip

Change History (12)

Changed 3 years ago by feelart

mp3 test file with Tags in different source language

Changed 3 years ago by feelart

aac test file with tags in different source language

comment:1 Changed 3 years ago by richardpl

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

comment:2 Changed 3 years ago by feelart

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 3 years ago by feelart (next)

comment:3 Changed 3 years ago by richardpl

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

comment:4 Changed 3 years ago by feelart

There are intimely linked

comment:5 Changed 3 years ago by richardpl

Unfortunately not at all.

comment:6 Changed 3 years ago by feelart

Then should I close this one and open 2?

comment:7 Changed 3 years ago by richardpl

Nope, leave this one open.

comment:8 Changed 3 years ago by feelart

Can you reproduce it?

comment:9 Changed 3 years ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords aac added
  • Priority changed from normal to wish
  • Reproduced by developer set
  • Status changed from new to open
  • Summary changed from 2 reproducable bugs: Tags are not copied to AAC as output, AAC as input leaves partial copy to mp3 to adts muxer does not write metadata
  • Type changed from defect to enhancement
  • Version changed from unspecified to git-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 Changed 3 years ago by jamal

  • Resolution set to fixed
  • Status changed from open to closed

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.