2015-04-07 4 views
4

я пытаюсь вычислить продолжительность mp3, используя битрейт и размер файла, после некоторого поиска я нашел эту формулу:Рассчитать Mp3 на основе битрейта и размера файла

(mp3sizeInByte*0.008)/bitrate

я использую mp3sizeInByte*0.008 преобразовать байты Kbits.

, но это не так точно, в результате есть пара второй по сравнению с фактической продолжительностью mp3.

Я хочу знать эту формулу?

+0

Я не вижу знак вопроса в любом месте но так или иначе, как вы получаете свою ценность для битрейта? Как файл закодирован? – helrich

+0

@helrich Я использую ffmpeg для извлечения метаданных mp3. – alireza

+2

Даже с CBR битная скорость _effective_ может меняться. [См. Здесь] (http://wiki.hydrogenaud.io/index.php?title=Bit_reservoir) для получения дополнительной информации. В целом, если несколько минут mp3 отключен на несколько секунд, это все еще очень хорошо. Я бы действительно рассмотрел разбор тегов ID3, чтобы получить информацию, которую вы после. – helrich

ответ

4

можно рассчитать размер, используя следующую формулу:

х = длина песни в секундах

у = битрейт в килобит в секунду

(х * у)/8

Мы делим на 8, чтобы получить результат в байтах.

Так, например, если у вас есть 3 минуты песня

3 минуты = 180 секунд

128kbps * 180 секунд = 23,040 килобит данных 23040 килобит/8 = 2880 кб

Вы бы затем преобразовать в мегабайтах путем деления на 1024:

2880/1024 = 2.8125 Мб

Если все го есть было сделано с разной скоростью кодирования, скажем, 192Kbps это будет выглядеть следующим образом:

(192 * 180)/8 = 4320 кб/1024 = 4.21875 Мб

Смежные вопросы