Bagaimana menemukan bitrate file mp3 melalui command line?

30

Apa perintah terminal yang dapat digunakan untuk menemukan bitrate dari file mp3?

Apakah ada opsi lain selain yang tersedia mpg321 -t name.mp3?

devav2
sumber

Jawaban:

36

Sederhananya:

file song.mp3

Catatan: file disertakan dengan Ubuntu.


Untuk pecinta alias, masukkan ini di akhir ~/.bashrcfile Anda :

bitrate () {
    echo `basename "$1"`: `file "$1" | sed 's/.*, \(.*\)kbps.*/\1/' | tr -d " " ` kbps
}

Buka jendela Terminal baru. Anda sekarang dapat menjalankan perintah berikut:

bitrate song.mp3
TuanCharlo
sumber
1
Wow. filePerintah sederhana berhasil.
devav2
9
Berhati-hatilah: jika file adalah bit rate variabel (VBR), file hanya akan melaporkan salah satu dari banyak bit rate yang ada. (Saya pikir ini bit rate frame pertama.) Jawabannya bisa menipu jika sebagian besar file berada pada tingkat yang sangat berbeda. Jika Anda ingin mengetahui bit rate rata-rata, lihat jawaban apacheuk.
Alan De Smet
+1 Setiap peluang Anda dapat menambahkan ringkasan singkat untuk jawaban ini, menjelaskan cara kerjanya?
Suara
2
Untuk beberapa alasan filetidak bekerja dengan banyak MP3 yang saya miliki yang diidentifikasi dengan baik oleh exiftooldan bahkan lebih baik oleh mediainfo.
jamadagni
Tidak berfungsi untuk sebagian besar file saya di Ubuntu 16.04. Seperti yang dinyatakan di atas, saya cukup yakin karena file tidak memahami file VBR dengan benar. "file" hanya mengatakan "File audio dengan ID3 versi 2.3.0"
slacy
34

MediaInfo adalah solusi lebih lanjut untuk melakukan itu (tidak hanya di mp3).

sudo apt-get install mediainfo

Contoh:

mediainfo Aphrodite_-_Superman_\(dnb\).mp3 | grep "Bit rate"

Keluaran:

Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps

Contoh lain:

mediainfo Aphrodite_-_Superman_\(dnb\).mp3 | grep 'Bit rate  '

Output lain:

Bit rate                                 : 192 Kbps

Dapatkan bitrate audio secara tepat melalui mediainfo dalam bps:

mediainfo --Output='Audio;%BitRate%' '/MY/MEDIA/FILE.MP3'

atau dalam Kbps:

mediainfo --Output='Audio;%BitRate/String%' '/MY/MEDIA/FILE.MP3'
BuZZ-dEE
sumber
Anda bisa menentukan --Output=JSONuntuk mendapatkan output diformat sebagai JSON. Ini berguna jika Anda menggunakan mediainfodi dalam aplikasi lain.
Chris
26

Instal paket mp3info

sudo apt-get install mp3info

Untuk menemukan penggunaan bitrate

mp3info -r a -p "%f %r\n" *.mp3 

akan memberikan info yang Anda butuhkan, juga memiliki beberapa fungsi bermanfaat lainnya man mp3infountuk info lebih lanjut

apacheuk
sumber
1
mp3info tidak mendukung penandaan ID3v2.
Ian
1
@Ian: benar seperti itu mungkin, itu tidak relevan dengan pertanyaan ini atau jawaban ini.
Johann
1
Jika Anda ingin tahu tentang bit rate saja, maka ya - itu tidak relevan. Jika Anda menemukan jawaban ini karena Anda sedang mengerjakan skrip yang membutuhkan bitrate di samping bidang lain dari file mp3 Anda (beberapa di antaranya hanya memiliki tag ID3v2) maka informasi ini akan mencegah Anda untuk menemui jalan buntu dengan mp3info- a program yang tidak selalu mengekstrak info dari mp3.
Ian
8

Anda dapat menginstal paket libimage-exiftool-perl:

sudo apt-get install libimage-exiftool-perl

Lalu lari:

exiftool -AudioBitrate GoldLion.mp3

Ini akan menampilkan sesuatu seperti:

Audio Bitrate : 192 kbps
peduli
sumber
Keren! Ini memberikan informasi meta yang luar biasa tentang file tersebut.
devav2
Ya tetapi tidak mengidentifikasi VBR. Jawaban Buzz-Dee di bawah ini tentang MediaInfo membantu.
jamadagni
4

Info terbaik, sejauh ini, disediakan oleh ffprobe(bagian dari ffmpegpaket). mpg123 juga bagus, tetapi sulit untuk menangkap output, yang mungkin mengapa Anda meminta sesuatu yang lain.

$ 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

Untuk penggunaan khusus, lakukan ini:

# 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"
        }
    }
}
not2qubit
sumber