Как декодировать Base64 в MP3
- Вставьте Base64 в поле Base64 или data URI. Это может быть чистый Base64 или полный URI
data:audio/mpeg;base64,…, переносы строк не важны. - Нажмите play в плеере под сведениями о файле. Длительность появится, как только браузер прочитает начало файла.
- Посмотрите на область подсказок: если аудио не в MP3, там будет написано, что это.
- Нажмите Скачать файл, чтобы сохранить .mp3, или Скопировать как data URI для элемента
<audio>.
Всё происходит в браузере; странице запрещено выполнять сетевые запросы, кроме счётчика просмотров Cloudflare, так что запись остаётся на вашем компьютере.
Как инструмент узнаёт MP3
У файла MP3 нет одной постоянной сигнатуры. Он начинается либо с тега ID3v2, либо сразу с заголовка первого аудиокадра:
| Base64 начинается с | Первые байты | Что это значит |
|---|---|---|
SUQz | ID3 | Тег ID3v2 перед аудио: название, исполнитель, часто обложка |
//s или //o | FF FB, FF FA | Кадр MPEG-1 Layer III, обычный MP3 с частотой 32–48 кГц |
//M или //I | FF F3, FF F2 | MPEG-2 Layer III, низкие частоты дискретизации (16–24 кГц), часто для речи |
/+M | FF E3 | MPEG-2.5 Layer III, 8–12 кГц |
//E или //k | FF F1, FF F9 | Не MP3: это AAC в потоке ADTS |
У результатов синтеза речи и голосовых записей тега ID3 часто нет, поэтому они сразу начинаются с //M или //s. Обложка в теге ID3 может занимать бо́льшую часть файла; как убрать её перед кодированием, рассказано на странице MP3 в Base64.
Если это не MP3
Данные с меткой MP3 иногда оказываются в другом формате, и плееры, которые верят расширению, их не принимают. Инструмент сообщает настоящий формат и предлагает кнопку, чтобы сохранить файл правильно:
| Подсказка | Что это |
|---|---|
| «Похоже на M4A, а не на MP3.» | Аудио AAC в контейнере MP4, так записывают телефоны и многие приложения |
| «Похоже на WAV, а не на MP3.» | Обычно несжатое аудио: в CD-качестве примерно в одиннадцать раз больше MP3 на 128 кбит/с |
| «Похоже на OGG, а не на MP3.» или «…на Opus, а не на MP3.» | Ogg Vorbis или Opus, часто встречаются в веб-приложениях и чатах |
| «Похоже на WebM, а не на MP3.» | Запись из браузера, обычно Opus внутри WebM |
| «Похоже на AAC, а не на MP3.» | Сырой поток AAC (.aac) |
Нажмите Скачать как .m4a (или кнопку с другим предложенным расширением), чтобы расширение совпало с содержимым. Чтобы получить настоящий MP3, нужен кодировщик, например ffmpeg: ffmpeg -i input.m4a -b:a 128k output.mp3.
Длительность и битрейт
Длительность сообщает медиадвижок браузера, который читает заголовки кадров. Для файла с постоянным битрейтом она точная. MP3 с переменным битрейтом обычно содержит заголовок Xing или VBRI с числом кадров; если его нет, браузер оценивает длину по первым кадрам, и до конца воспроизведения цифра может сильно расходиться с реальностью.
Декодированный размер можно сверить с длительностью: при 128 кбит/с минута аудио весит 960 000 байт, около 1,28 миллиона символов Base64. Длину Base64 для любого размера посчитает калькулятор размера.
Как декодировать MP3 и узнать длительность в командной строке
base64 -d voice.b64 > voice.mp3
ffprobe -v error -show_entries format=duration,bit_rate -of default=nw=1 voice.mp3
Для трёхсекундного тестового тона на 128 кбит/с ffprobe выведет duration=3.030204 и bit_rate=129216; лишние 30 мс и чуть более высокий битрейт объясняются дополнением кодировщика и тегом ID3. О декодировании в командной строке подробнее в статье Base64 в Bash, о других аудиоформатах на странице Base64 в аудио.
Вопросы и ответы
Как превратить Base64 в файл MP3?
Вставьте Base64 в поле выше, проверьте, что он играет, и нажмите Скачать файл. Файл сохранится как decoded.mp3, если data URI или открытый текстовый файл не подскажут другое имя.
Почему пример на этой странице беззвучный?
В примере одна секунда настоящих аудиокадров MPEG с тишиной: его задача – показать плеер и определение формата. Вставьте свой Base64, чтобы услышать настоящий звук.
Корректен ли MIME-тип `audio/mp3`?
Для MP3 зарегистрирован тип audio/mpeg. Браузеры всё равно принимают data:audio/mp3;base64,…, и инструмент декодирует такой URI без предупреждения, но при скачивании и в Скопировать как data URI используется audio/mpeg.
Показывает ли инструмент название и исполнителя?
Нет, тег ID3 не отображается. Он сохраняется в скачанном файле, так что музыкальный плеер, как обычно, покажет название, исполнителя и обложку.