Сжатие видео: что занимает больше времени? - PullRequest
1 голос
/ 29 октября 2010

Итак, я всегда задавался вопросом, когда речь идет о сжатии, требуется ли меньше времени для кодирования видео с меньшим или большим разрешением.

Ради реалистичностивопрос, давайте возьмем пример нескольких без потерь mov (может быть, mjpeg или prores 422), 29,97 кадров в секунду, ключи установлены на то, что хочет компрессор, или 24, если auto недоступен.Я сделаю 2 преобразования, от 1 до 480p при 800 кбит / с, от 1 до 720p при 1500 кбит / с, оба 2-проходных, в mp4.Я понимаю, что это может быть характерно для кодировщика, но знание того, какие кодировщики занимают больше времени, также было бы хорошо.Если вам нужны подробности, давайте предположим, что это ffmpeg.

Если я преобразую видео в 480p со скоростью 800 кбит / с, сначала кажется, что будет иметь смысл уменьшить его, поскольку он генерирует меньше данных.

Но тогда я подумал, что, может быть, сжатие каждого кадра меньше (если это действительно так), может быть быстрее.Так что, если бы я перешел на 720p при 1500 кбит / с, возможно, это было бы быстрее?

Я думаю, что разница во времени между этими двумя конкретными преобразованиями не будет большой, но она будет другой.Что негативно скажется на скорости конвертации?Размер видео?Битрейт?ключевые кадры?Как бы вы предложили максимизировать скорость конверсии с наименьшим влиянием на качество?

Это в основном гипотетически, я не могу придумать ситуацию, когда я не смог бы позволить серверу пускаться на конверсиивсю ночь, но я всегда задавался вопросом, было ли что-то, что я делал, что излишне замедляло мои обращения.

1 Ответ

0 голосов
/ 29 октября 2010

Дико выражая, вы можете (наивно) учитывать время сжатия как время, необходимое для чтения входного файла, время, необходимое для обработки каждой точки выборки из источника, и время, которое требуется для записи результирующий обработанный вывод. Если в этом (крайне упрощенном) представлении изменяется только вывод и размер уменьшается, тогда ваше время уменьшается.

Кроме того, для решения этой проблемы проще всего было бы создать для себя эталон кодирования, убедившись, что вы повторяете свои тесты несколько раз, чтобы убедиться, что не было внешних факторов влияния.

...