Насколько точна продолжительность mp3-файла, заданная Ffprobe?Python

Программы на Python
Anonymous
Насколько точна продолжительность mp3-файла, заданная Ffprobe?

Сообщение Anonymous »

У меня есть mp3-файл со значением частоты дискретизации 44100, назовем его a.mp3.
Итак, я получаю продолжительность файла a. mp3 с помощью следующей команды ffprobe:

Код: Выделить всё

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 a.mp3
Я получаю 7,752 секунды.
Поскольку частота дискретизации указана в секунду, теоретически общее количество выборок должно быть,

Код: Выделить всё

44100 * 7.752
= 341863.2
Давайте округлим до 341863
Но используя библиотеку Python ffmpegio со следующим кодом , я получаю общий объем выборки, равный 340560.

Код: Выделить всё

with ffmpegio.open(file, 'ra', blocksize = 16, sample_fmt = 'dbl') as file_opened:

for i, indata in enumerate(file_opened):

do some stuff
print(i * 16)
Таким образом, существует значительная разница между 341863 и 340560.
Я думаю, что это связано с продолжительностью значение, заданное Ffmpeg.
Что вы думаете?
Я искал в документации ffmpeg, но не нашел ничего, что привлекло бы мое внимание:
https://python-ffmpegio.github.io/python-ffmpegio/
Спасибо.
Поиск отвечает о точности команды ffprobe.

Подробнее здесь: https://stackoverflow.com/questions/790 ... is-precise

Вернуться в «Python»