Bir mp3 dosyasının bit hızını komut satırından nasıl bulabilirim?


30

Bir mp3 dosyasının bit hızını bulmak için kullanılabilecek terminal komutu nedir?

Dışında başka bir seçenek var mpg321 -t name.mp3mı?

Yanıtlar:


36

Basit ifadeyle:

file song.mp3

Not: file Ubuntu ile birlikte verilir.


Diğer takma sevenler için bunu ~/.bashrcdosyanızın sonuna ekleyin :

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

Yeni bir Terminal penceresi açın. Şimdi aşağıdaki komutu çalıştırabilirsiniz:

bitrate song.mp3

1
vay. Basit filekomut hile yaptı.
devav2

9
Dikkat edilmesi gerekenler: eğer dosya değişken bit hızı (VBR) ise, dosya mevcut birçok bit hızından sadece birini rapor edecektir. (İlk karenin bit hızı olduğunu düşünüyorum.) Dosyanın çoğu çok farklı bir hızdaysa, cevap yanıltıcı olabilir. Ortalama bit hızını bilmek istiyorsanız, apacheuk'in cevabına bakınız.
Alan De Smet

+1 Bu cevabın nasıl çalıştığını açıklayan kısa bir özet ekleme şansınız var mı?
sesler

2
Nedense file, doğru bir şekilde tanımladığım exiftoolve hatta daha iyi bir şekilde tanımladığım birçok MP3 ile çalışmaz mediainfo.
jamadagni

Ubuntu 16.04'teki dosyalarımın çoğu için çalışmıyor. Yukarıda belirtildiği gibi, dosyanın VBR dosyalarını doğru şekilde anlamadığından dolayı eminim. "file" sadece "ID3 sürüm 2.3.0 olan ses dosyası" diyor
slacy

34

MediaInfo bunu yapmak için başka bir çözümdür (sadece mp3'te değil).

sudo apt-get install mediainfo

Örnek:

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

Çıktı:

Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps

Başka bir örnek:

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

Başka bir çıktı:

Bit rate                                 : 192 Kbps

Tam olarak ses bit hızını bps cinsinden mediainfo ile alın :

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

veya Kbps cinsinden:

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

--Output=JSONÇıktıyı JSON olarak biçimlendirmek için belirtebilirsiniz . mediainfoBaşka bir uygulamanın içinde kullanıyorsanız, bu kullanışlıdır .
Chris

26

Yükleme mp3info paketi

sudo apt-get install mp3info

Bit hızı kullanımını bulmak için

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

İhtiyacınız olan bilgiyi verecek, ayrıca man mp3infodaha fazla bilgi için başka bazı yararlı fonksiyonlara sahip olacaktır.


1
mp3info ID3v2 etiketlemeyi desteklemiyor.
Ian

1
@Ian: Bu doğru olabilir, bu soru ya da bu cevapla alakasız.
Johann

1
Yalnız bit hızı hakkında merak ediyorsanız, o zaman evet - bu konu dışı. Bu cevabı bulursanız, mp3 dosyalarınızdaki (bazıları sadece ID3v2 etiketlerine sahip olan) diğer alanlara ek olarak bit hızına ihtiyaç duyan bir komut dosyası üzerinde çalışıyor olsaydınız, o zaman bu bilgi çıkmazdan aşağı inmenizi engellerdi mp3info- a her zaman mp3lerden bilgi ayıklamayan bir programdır.
Ian

8

Paketi kurabilirsiniz libimage-exiftool-perl:

sudo apt-get install libimage-exiftool-perl

O zaman koş:

exiftool -AudioBitrate GoldLion.mp3

Gibi bir şey çıkacaktır:

Audio Bitrate : 192 kbps

Güzel! Bu dosya hakkında harika meta bilgileri sağlar.
devav2

Evet, ancak VBR'yi tanımıyor. Buzz-Dee'nin MediaInfo ile ilgili cevabı aşağıda.
jamadagni

4

Şimdiye kadarki en iyi bilgi, ffprobe( ffmpegpaketin bir parçası ) tarafından sağlanmaktadır . mpg123 aynı zamanda hoş, fakat çıktı alması zor, bu yüzden muhtemelen başka bir şey istiyordun.

$ 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

Yanlısı kullanım için şunu yapın:

# 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"
        }
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.