Как я могу найти или создать самый маленький аудиофайл mp3? - PullRequest
0 голосов
/ 07 апреля 2020

Я много раз пытался найти самый маленький mp3-файл в Google, но я нашел mp3-файл размером 700 Кб. Но я думаю, что мы можем создать / найти самый маленький файл mp3.

Поэтому, пожалуйста, помогите мне найти / создать самый маленький файл mp3.

1 Ответ

0 голосов
/ 07 апреля 2020

Самое простое, что нужно сделать - это создать MP3-файл с очень низким битрейтом и вырезать из него один кадр. Давайте создадим немного тихого звука с помощью FFmpeg:

ffmpeg -f lavfi -i "aevalsrc=0:duration=1" -f mp3 -b:a 8k -ar 8000 short.mp3

В этом случае мы используем фильтр lavfi, который является утилитарным фильтром для генерации тестовых шаблонов, а что нет. То, как мы используем aevalsrc, устанавливает все значения семплов на 0 ... практически бесшумно. Мы устанавливаем duration на 1 секунду. (Для MP3 требуется, по крайней мере, длина кадра, иначе ничего не будет выводиться. Я думаю, что проще просто позволить FFmpeg вывести секунду и затем обрезать позже.)

На выходе FFmpeg мы настраиваем его для формата mp3, на скорости 8 кбит / с с частотой дискретизации 8 кГц.

Теперь откройте получившийся файл с помощью своего надежного шестнадцатеричного редактора. Вы должны увидеть кучу повторяющихся последовательностей. Это рамки MPEG, и вы можете свободно вырезать их. (Игнорировать все содержимое ID3 в заголовке файла ... это не обязательно сохранять. Также обратите внимание, что при реальном использовании мы не всегда можем сократить границы кадра из-за использования битового резервуара, который может распределять данные из одного кадра в другой при использовании CBR. Это не должно вступать в игру ... мы кодируем тихий звук.)

Каждый кадр MPEG начинается с 11-битной синхронизации c слово всего 1. Обычно вы находите это син c слово и затем проверяете заголовок перед синтаксическим анализом, но это син c слово должно быть очевидно для вас в шестнадцатеричном редакторе. В моем файле первые несколько байтов каждого кадра FF E3 13 C4 00. Просто обрежьте файл от начала одного кадра до следующего. Вы получите что-то вроде этого.

Hex Editor Screenshot

Теперь сохраните это и протестируйте в своем плеере. Вы не должны ничего слышать в течение очень короткого периода времени. Кроме того, протестируйте с помощью FFmpeg, и вы должны увидеть что-то вроде этого:

Input #0, mp3, from 'shortest.mp3':
  Duration: 00:00:00.14, start: 0.000000, bitrate: 8 kb/s
    Stream #0:0: Audio: mp3, 8000 Hz, mono, fltp, 8 kb/s

144-байтовый файл - это то, что вы получите. Я понятия не имею, почему вы хотите это сделать, но есть объяснение. : -)

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...