Сжатие видео. Теория и практика.

Сжатие видео. Теория и практика.

Показано с 1 по 9 из 9

  1. #1
    Аватар для DiKey
    Участник форума
    Адрес Россия, Саратовская обл., Энгельс

    Сжатие видео. Теория и практика.

    Вводная тема: Скорость/размер/качество


    Все знают, что многочисленные программы для кодирования видео в современный формат h.264 (он же "AVC", он же "Mpeg-4 Part 10") сильно отличаются не только по скорости, но и качеству своей работы. Критерием оценки качества любой программы для кодирования видео (далее - "кодек") являются три параметра:
    1. Качество полученного видеофайла (т.е. то, насколько результат похож на оригинал)
    2. Размер полученного видеофайла
    3. Время, затраченное на кодирование.

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

    Но так как идеал недостижим, будем есть, что дают ориентироваться на реалии.

    Изучая эту тему много лет, я остановился на небольшой бесплатной программе "x264". Она, при равном размере получаемого файла, позволяет выполнить кодирование быстрее или качественнее, чем аналоги. Я говорю "или", т.к. x264 позволяет изменять настройки в широком диапазоне, позволяя выбрать соотношение качество/скорость/размер файла. Если я делаю короткий видеоролик, который буду показывать клиенту для утверждения, мне без разницы, какой получится размер файла, но мне важно, чтобы качество и скорость кодирования были высокими.
    Если мне нужно отправить клиенту ролик на подтверждение по почте - мне нужны высокая скорость и малый размер файла, качеством можно пренебречь, т.к. клиент понимает, что это предварительный вариант.
    И, наконец, когда я делаю финальный вариант видеоролика (или свадебного видео) мне важны и качество и размер файла (нужно порой уложиться в размер DVD/BLURAY болванки), а вот затраченное время не столь важно (когда я пишу эти строки, мой компьютер уже 12 часов сжимает двухчасовой фильм, и работать ему еще часа три).
    Поэтому, когда в новостях пишут, что новая программа жмет видео очень быстро, а тестеры в обзорах нахваливают этот кодировщик, я первым делом смотрю, сможет ли новая программа кодировать видео быстрее, чем x264 в режиме "ultrafast"? Как правило, не может. Да и кодирует обычно хуже при том же размере полученного файла. Таким образом, сравнивая различные видеокодеки, нужно учитывать все три параметра. И если скорость можно измерить секундомером, а выяснение размера файла вообще не является проблемой, то как же честно и непредвзято сравнивать качество кодирования? И почему именно формат h.264, а не Mpeg-2, например? Об этом я расскажу в следующий раз...

    Комментарии, исправления, уточнения и вопросы только приветствуются!
    [свернуть]


    Последний раз редактировалось DiKey; 19.04.2013 в 01:56.
  2. Поблагодарили:

  3. #2
    Аватар для DiKey
    Участник форума
    Адрес Россия, Саратовская обл., Энгельс
    Сегодня, как и обещал, расскажу о преимуществах формата h.264 перед устаревшим, но все еще живым MPEG-2. Для начала возьмем фрагмент видео из темы Adobe Premiere и производительность Cuda с названием "TEST 005 AVCHD CANON 5D" и сделаем так, чтобы он мог гарантированно отправиться электронной почтой, т.е. уложим его в 10 мегабайт (оставим место под звук и т.д.) Длительность видео - чут менее 18 секунд. Для чистоты эксперимента будем пользоваться только штатными средствами Adobe Premiere CS 6.0. Сначала жмем в формат MPEG-2, затем в h.264. Выставляем максимально качественные настройки, предназначенные для BluRay дисков. В поле "Битрейт" вписываем - 4.359. После этого через фреймсервер и программу x264 делаем еще два вариант сжатия. В качестве Medium (оно максимально приближено по скорости кодирования к Premiere) и в качестве VerySlow (Это почти самый качественный режим. Есть еще Placebo, но в нем особого смысла нет, а скорость ниже).
    Рендерим, и полученное видео снова кладем на TimeLine. Для визуального сравнения делаем скришоты:

    Изображения целиком, доступные по клику

    Оригинал изображения:



    MPEG-2:



    h.264 (выведенным средствами Premiere):



    h.264 (выведенный через фреймсервер и программу x264 качество Medium )



    h.264 (выведенный через фреймсервер и программу x264 качество VerySlow )

    [свернуть]


    Увеличенные фрагменты видео:

    Фрагмент оригинала:



    Фрагмент, сжатый в MPEG2:



    Фрагмент, сжатый в h.264 средствами Премьера:



    Фрагмент, сжатый в h.264 через x264 качество Medium :



    Фрагмент, сжатый в h.264 через x264 качество VerySlow:



    И снова фрагмент оригинала, для удобства сравнения:



    [свернуть]



    Время, затраченное на сжатие было примерно равным (кроме режима VerySlow).

    Время, затраченное на кодирование (примерное):


    • MPEG-2: 27 секунд
    • h.264 Premiere: 27 секунды
    • h.264 через x264 Medium: 29 секунд
    • h.264 через x264 VerySlow: 55 секунд
    [свернуть]

    Размер полученных файлов:


    каждый из полученных файлов для чистоты эксперимента я положил в одинаковый контейнер: ".ts"
    MPEG-2 = 10,7 МБ
    h.264 через premiere = 9,37 МБ
    h.264 через x264 Medium= 9,33 МБ
    h.264 через x264 VerySlow = 9,28 МБ
    [свернуть]


    Последний раз редактировалось DiKey; 24.04.2013 в 04:27.
  4. Поблагодарили:

  5. #3
    В поле "Битрейт" вписываем - 4.359
    почему такой низкий
    Можно выложить скрины настроек экспорта?


  6. Поблагодарили:

  7. #4
    Аватар для DiKey
    Участник форума
    Адрес Россия, Саратовская обл., Энгельс
    почему такой низкий
    Чтобы отличие было заметно на глаз. Если выставить битрей, к примеру, 25мегабит, то отличия придется искать с микроскопом.

    Можно выложить скрины настроек экспорта?
    Конечно, пожалуйста:

    Настройки вывода из PREMIERE

    h.264

    MPEG-2
    [свернуть]

    Найтройки программы x264 (отличие только в параметре "preset"):

    Medium:
    x264.exe --bitrate 4359 --tune film --pass 1 --preset medium --bluray-compat --vbv-maxrate 30000 --vbv-bufsize 30000 --level 4.1 --keyint 25 --slices 4 --tff --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --ssim --sar 1:1 -o x264.264 01.avs
    x264.exe --bitrate 4359 --tune film --pass 2 --preset medium --bluray-compat --vbv-maxrate 30000 --vbv-bufsize 30000 --level 4.1 --keyint 25 --slices 4 --tff --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --ssim --sar 1:1 -o x264.264 01.avs

    VerySlow:
    x264.exe --bitrate 4359 --tune film --pass 1 --preset veryslow --bluray-compat --vbv-maxrate 30000 --vbv-bufsize 30000 --level 4.1 --keyint 25 --slices 4 --tff --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --ssim --sar 1:1 -o x264.264 01.avs
    x264.exe --bitrate 4359 --tune film --pass 2 --preset veryslow --bluray-compat --vbv-maxrate 30000 --vbv-bufsize 30000 --level 4.1 --keyint 25 --slices 4 --tff --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --ssim --sar 1:1 -o x264.264 01.avs
    [свернуть]


    Последний раз редактировалось DiKey; 24.04.2013 в 02:22.
  8. Поблагодарили:

  9. #5
    Чтобы отличие было заметно на глаз
    Но такой низкий поток реально не используется. А может на высоком битрейте один из кодаков работает лучше всех, а на низком на оборот хуже всех. Вот здесь мы теряем объективность. Думаю надо искать другой способ оценки качества кодирования(мы с тобой об этом как то говорили) оценка не на глаз, а цифровым способом. И тестировать с реально используемыми битрейтами. Наша объективность-наш авторитет.


  10. Поблагодарили:

  11. #6
    Аватар для DiKey
    Участник форума
    Адрес Россия, Саратовская обл., Энгельс
    Ну так не все же сразу. Об этом как раз и будет в следующей части.


  12. Поблагодарили:

  13. #7
  14. Поблагодарил:

  15. #8
    Ну так не все же сразу. Об этом как раз и будет в следующей части.
    ждём, как говорится, продолжения банкета. очень толково и наглядно... спасибо за Вашу работу!


  16. Поблагодарил:

  17. #9
    Спасибо за сравнение. Давным-давно, у нас будет вторая часть?


Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Adobe Encore - Практика работы, приемы, обсуждение.
    от DiKey в разделе Авторинг дисков Blu-ray
    Ответов: 78
    Последнее сообщение: 31.12.2023, 21:39
  2. Теория увеличения и уменьшения цифровых изображений
    от ASEVI в разделе Теория / Мануалы / FAQ
    Ответов: 2
    Последнее сообщение: 13.01.2014, 03:34
  3. Битность видео: теория и рекомендации
    от WishMaster в разделе Уроки по видеомонтажу
    Ответов: 0
    Последнее сообщение: 08.07.2013, 18:38
  4. «Нелинейный Видео Редактор» с новыми эффектами для создания видео
    от WishMaster в разделе Другие программы видеомонтажа
    Ответов: 0
    Последнее сообщение: 03.07.2013, 12:46
-->