Làm thế nào để tìm bitrate của tệp mp3 thông qua dòng lệnh?


30

Lệnh terminal có thể được sử dụng để tìm bitrate của tệp mp3 là gì?

Có lựa chọn nào khác ngoài mpg321 -t name.mp3?

Câu trả lời:


36

Chỉ cần đặt:

file song.mp3

Lưu ý: file được bao gồm trong Ubuntu.


Đối với những người yêu thích bí danh, hãy chèn phần này vào cuối ~/.bashrctệp của bạn :

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

Mở một cửa sổ Terminal mới. Bây giờ bạn có thể chạy lệnh sau:

bitrate song.mp3

1
fileLệnh đơn giản đã thực hiện các mẹo.
devav2

9
Được cảnh báo: nếu tệp là tốc độ bit thay đổi (VBR), tệp sẽ chỉ báo cáo một trong nhiều tốc độ bit hiện tại. (Tôi nghĩ đó là tốc độ bit của khung đầu tiên.) Câu trả lời có thể là lừa đảo nếu hầu hết các tệp ở tốc độ rất khác nhau. Nếu bạn muốn biết tốc độ bit trung bình, hãy xem câu trả lời của apacheuk.
Alan De Smet

+1 Bất kỳ cơ hội nào bạn có thể thêm một bản tóm tắt ngắn gọn cho câu trả lời này, giải thích cách hoạt động của nó?
tiếng nói

2
Vì một số lý do filekhông hoạt động với toàn bộ MP3 mà tôi có được xác định đúng exiftoolvà thậm chí tốt hơn mediainfo.
jamadagni

Không hoạt động đối với hầu hết các tệp của tôi trên Ubuntu 16.04. Như đã nêu ở trên, tôi khá chắc chắn rằng do tệp không hiểu chính xác các tệp VBR. "tập tin" chỉ nói "Tập tin âm thanh với ID3 phiên bản 2.3.0"
slacy

34

MediaInfo là giải pháp tiếp theo để làm điều đó (không chỉ trên mp3).

sudo apt-get install mediainfo

Thí dụ:

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

Đầu ra:

Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps

Một vi dụ khac:

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

Đầu ra khác:

Bit rate                                 : 192 Kbps

Nhận chính xác bitrate âm thanh qua mediainfo trong bps:

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

hoặc tính bằng Kb / giây:

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

Bạn chỉ có thể chỉ định --Output=JSONđể có được đầu ra được định dạng là JSON. Điều này rất hữu ích nếu bạn đang sử dụng mediainfobên trong một ứng dụng khác.
Chris

26

Cài đặt gói mp3info

sudo apt-get install mp3info

Để tìm bitrate sử dụng

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

sẽ cung cấp thông tin bạn cần, cũng có một số chức năng hữu ích khác man mp3infođể biết thêm thông tin


1
mp3info không hỗ trợ gắn thẻ ID3v2.
Ian

1
@Ian: đúng như có thể, nó không liên quan đến câu hỏi này hoặc câu trả lời này.
Johann

1
Nếu bạn tò mò về tốc độ bit một mình, thì có - nó không liên quan. Nếu bạn tìm thấy câu trả lời này vì bạn đang làm việc với một tập lệnh cần bitrate ngoài các trường khác từ các tệp mp3 của bạn (một số trong đó chỉ có thẻ ID3v2) thì thông tin này sẽ ngăn bạn đi vào ngõ cụt với mp3info- a chương trình không phải lúc nào cũng trích xuất thông tin từ mp3.
Ian

8

Bạn có thể cài đặt gói libimage-exiftool-perl:

sudo apt-get install libimage-exiftool-perl

Sau đó chạy:

exiftool -AudioBitrate GoldLion.mp3

Nó sẽ xuất ra một cái gì đó như:

Audio Bitrate : 192 kbps

Mát mẻ! Điều này cung cấp thông tin meta tuyệt vời về các tập tin.
devav2

Có nhưng nó không xác định VBR. Câu trả lời của Buzz-Dee bên dưới về MediaInfo giúp ích cho điều đó.
jamadagni

4

Thông tin tốt nhất, cho đến nay, được cung cấp bởi ffprobe(một phần của ffmpeggói). mpg123 cũng tốt, nhưng đầu ra khó grep, đó có thể là lý do tại sao bạn yêu cầu một cái gì đó khác.

$ 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

Để sử dụng, hãy làm điều này:

# 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"
        }
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.