Существует ли формула для оценки окончательного объема данных, который может быть достигнут?
Нет. Размер в значительной степени зависит от настроек кодирования, которые вы выбираете, то есть от режима управления скоростью, среднего битрейта или среднего качества, частоты кадров, компромисса между эффективностью сжатия и скоростью, конкретным кодером и т.д.
Конечно, если у вас есть тривиальный процесс кодирования с постоянным битрейтом, тогда размер выходного файла легко рассчитать. Но в большинстве случаев вы не хотите использовать фиксированный битрейт.
Для видео, которое я пытаюсь оценить, размер видео и формат кодирования, который я должен использовать, чтобы получить качество видео 1080p?
1080p относится к разрешению 1080 пикселей по вертикали. К этим измерениям не присуще "качество". Когда вы говорите о качестве, вы обычно относите его к категории:
- без потерь (математически без потерь)
- визуально без потерь (различия между оригинальной и закодированной версией не видны человеческому глазу)
- с потерями
При выборе кодека без потерь, такого как raw YUV, FFV1 или HuffYUV, вас беспокоит только размер файла. При выборе кодека без визуальных потерь, такого как ProRes или DNxHD, вы все равно можете столкнуться с большими размерами файлов, которые не подходят для потоковой передачи в Интернете.
Что касается потерь, вы должны подумать о том, каковы ваши требования. Быстрое кодирование важнее, чем низкий размер файла? Вы беспокоитесь об артефактах сжатия или видео должно передаваться через Интернет и, следовательно, быть сжатым? Вы планируете просто заархивировать поток, чтобы посмотреть его позже?
В зависимости от ответа на поставленные выше вопросы вы можете предпочесть пресет быстрого кодирования за один проход с низким и ограниченным битрейтом, чтобы включить потоковую передачу через Интернет. Или вам может понадобиться двухпроходная медленная предустановка кодирования с режимом постоянного качества (например, CRF в x264), если вы заботитесь о верности, но все же хотите довольно небольшой размер.
И как оценить время, которое потребуется для кодирования видео?
Это зависит от возможностей вашего процессора, размеров пикселей и частоты кадров видео, его пространственно-временной сложности и параметров кодера. Например , в libx264
вы можете выбирать различные пресеты. См. Руководство по кодированию FFmpeg H.264 для некоторых советов.