A melhor informação, de longe, é fornecida por ffprobe
(parte do pacote ffmpeg
). mpg123 também é legal, mas é difícil extrair o grep, o que provavelmente é o porquê de você estar pedindo por algo mais.
$ mpg123 -t example.mp3 2>&1 | grep -A1 -E "^MPEG"
MPEG 2.5 L III cbr32 11025 mono
$ ffprobe example.mp3 2>&1 | grep Stream
Stream #0:0: Audio: mp3, 11025 Hz, mono, s16p, 32 kb/s
Para pro-uso, faça isso:
# ffprobe -v quiet -print_format json -show_format -show_streams example.mp3
{
"streams": [
{
"index": 0,
"codec_name": "mp3",
"codec_long_name": "MP3 (MPEG audio layer 3)",
"codec_type": "audio",
"codec_time_base": "1/11025",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"sample_fmt": "s16p",
"sample_rate": "11025",
"channels": 1,
"channel_layout": "mono",
"bits_per_sample": 0,
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"time_base": "1/14112000",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 55294344,
"duration": "3.918250",
"bit_rate": "32000",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0
}
}
],
"format": {
"filename": "example.mp3",
"nb_streams": 1,
"nb_programs": 0,
"format_name": "mp3",
"format_long_name": "MP2/3 (MPEG audio layer 2/3)",
"start_time": "0.000000",
"duration": "3.918250",
"size": "17260",
"bit_rate": "35240",
"probe_score": 51,
"tags": {
"title": "Sound Effects - Female Operatic La 1 - Opera singer sings La.",
"artist": "Download Sound Effects - SoundDogs - AOS",
"album": "http://www.Sounddogs.com",
"track": "0",
"copyright": "(c) 2010 Sounddogs.com, All Rights Reserved",
"genre": "SFX - Humans; Vocalizations",
"comment": "Royalty Free Sound Effects - Sounddogs.com",
"date": "2008"
}
}
}