Я использую php-ffmpeg (PHP-API для ffmpeg) для проверки видеофайлов перед их преобразованием. Я получаю всю информацию, которая мне нужна, просто отлично, но я хочу использовать ее для расчета приблизительного размера файла видео после его конвертации, чтобы я мог более эффективно конвертировать видео для качества по сравнению с пространством и т. Д.
Размер файла после преобразования должен быть только приблизительным. До сих пор я пытался умножить длительность на ожидаемый битрейт видео плюс ожидаемый битрейт аудио. Однако, это дает мне размер, намного больший, чем у исходного видеофайла с более высоким битрейтом видео и аудио. Я предполагаю, что есть коэффициент сжатия, который, возможно, придется принимать во внимание для каждого другого видеокодека, но сейчас я просто пытаюсь получить что-то с .mp4 / m4v.
Это то, что я пробовал;
// duration | vid bitrate | aud bitrate
$estimated_converted_size = $duration * ((4992 * 1024) + (128 * 1024));
Результат для видео продолжительностью 24 секунды с битрейтом видео 29302 Кбит / с и размером файла 87,86 МБ оценивается как 121,11 МБ после преобразования в 4992 КБ - явно не правильно!
Я не слишком разбираюсь в технических характеристиках видео, но есть ли способ достаточно точно оценить размер файла после преобразования?