[FFmpeg-user] how to display metadata?

Pushkar Pradhan pradhan.pushkar at gmail.com
Fri Mar 25 20:21:47 CET 2011


On Fri, Mar 25, 2011 at 12:04 PM, Pushkar Pradhan <pradhan.pushkar at gmail.com
> wrote:

>
>
> On Fri, Mar 25, 2011 at 11:43 AM, sean darcy <seandarcy2 at gmail.com> wrote:
>
>> On 03/25/2011 02:37 PM, sean darcy wrote:
>>
>>> On 03/25/2011 11:27 AM, James Darnley wrote:
>>>
>>>> On 25/03/2011, sean darcy<seandarcy2 at gmail.com> wrote:
>>>>
>>>>> I've prepared a speech:
>>>>>
>>>>> ffmpeg -i "speech_1.wav" -metadata track="1" -metadata title="My
>>>>> Speech"
>>>>> -acodec aac -ab 128000 -strict experimental speech_1.aac
>>>>>
>>>>> which seems to work fine, the track and title show on the console
>>>>> output.
>>>>>
>>>>> But:
>>>>>
>>>>> ffmpeg -i speech.aac
>>>>> Input #0, aac, from 'speech_1.aac':
>>>>> Duration: 00:01:44.95, bitrate: 128 kb/s
>>>>> Stream #0.0: Audio: aac, 44100 Hz, stereo, s16, 128 kb/s
>>>>>
>>>>
>>>> That suggests the output format doesn't actually support metadata
>>>>
>>>
>>> Huh? aac doesn't support metadata?
>>>
>>> It certainly looks like it does:
>>>
>>> ffmpeg -i "Track 1.wav" -metadata track=1 -metadata title="Test Track"
>>> -acodec aac -ab 128000 -strict experimental Track_1.aac
>>> ...............
>>> Input #0, wav, from 'Track 1.wav':
>>> Duration: 00:02:01.88, bitrate: 1411 kb/s
>>> Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
>>> Output #0, adts, to 'Track_1.aac':
>>> Metadata:
>>> title : Test Track
>>> track : 1
>>> encoder : Lavf52.73.0
>>> Stream #0.0: Audio: aac, 44100 Hz, 2 channels, s16, 128 kb/s
>>> .......
>>>
>>> But:
>>>
>>> ffprobe Track_1.aac
>>> Input #0, aac, from 'Track_1.aac':
>>> Duration: 00:01:44.95, bitrate: 128 kb/s
>>> Stream #0.0: Audio: aac, 44100 Hz, stereo, s16, 128 kb/s
>>>
>>>
>>> So I guess the question is whether the aac encoder is creating the
>>> metadata, or is ffprobe not reading it?
>>>
>>> And shouldn't EasyTag be able to read it if the metadata were there?
>>>
>>> sean
>>>
>>
>> Well, it seems the aac encoder just isn't writing the metadata:
>>
>> ffmpeg -i "Track 1.wav" -metadata track=1 -metadata title="Test Track"
>> -acodec libmp3lame -ab 128000  Track_1.mp3
>> .........
>>
>> ffprobe Track_1.mp3
>> Input #0, mp3, from 'Track_1.mp3':
>>  Metadata:
>>    TIT2            : Test Track
>>    TRCK            : 1
>>    TSSE            : Lavf52.73.0
>>  Duration: 00:02:01.91, start: 0.000000, bitrate: 127 kb/s
>>    Stream #0.0: Audio: mp3, 44100 Hz, 2 channels, s16, 128 kb/s
>>
>>
>> sean
>>
>>
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>
> MP3 definitely supports metadata in the form of ID3 Tags.
> When I looked at the ADTS container format I didn't see a way to add
> metadata: http://wiki.multimedia.cx/index.php?title=ADTS
> Unless it can be prepended to the AAC samples itself?
>
> To verify if the metadata is being injected in the AAC stream you can use a
> hex editor and search for your string.
>
> --
> pushkar
>
> You can probably even use grep (or findstr in windows) to verify the
metadata is inserted in the stream


-- 
pushkar


More information about the ffmpeg-user mailing list