warper
21.04.2010, 19:18
При кодировании игрового видео все мы задаемся в конце одним и тем же вопросом: какой кодек выбрать, какие настройки для него использовать?
Для тестирования были взяты кодеки Mainconcept AVC, Sony AVC из триальной версии Sony Vegas 9.0d, Koepi's XviD 1.2.2, а также x264 cli build 1542
В качестве подопытного был выбран ролик из игры Mass Effect 2 длительностью 2 минуты 38 секунд в .avi uncompressed 25 fps. Ролик состоит из диалогов, нескольких игровых экранов и тяжелого для кодирования участка собственно игрового действа. Предварительная обработка ролика включала приведение его в Studio Levels и ресайз до 720*576.
Сравнение проводилось в бесплатной вресии MSU Video Quality Measurement Tool
Изначально футаж был записан в программе fraps 3-й версии в разрешении 1920*1080 с частотой 25 кадров в секунду, но в силу ограничений на обрабатываемый размер картинки в средстве подсчета PSNR его пришлось уменьшить до DVD-разрешения.
Тестирование проводилось сравнением Y-PSNR, также скажу несколько слов по визуальному сравнению полученных файлов.
Изначально планировалось кодирование с вариантами битрейта 400, 600, 1000, 2000, 3600, 5000 Кбит/с в 1 и 2 прохода, однако из-за ограничений в настройках и дополнительных возможностей в результате настройки получились несколько отличными (битрейты в кбит/с):
* в Sony AVC в 1 проход (2 прохода не предусмотрено) со следующими битрейтами: 400, 600, 1000, 2000, 3600, 5000
* в xvid кодировалось в 1 и 2 прохода со следующими битрейтами: 400, 600, 1000, 2000, 3600; также в один проход с битрейтом 5000
* в Mainconcept AVC в 1 и 2 прохода со следующими битрейтами: 384, 768, 2000, 4000
* в x264 в 1 и 2 прохода: 400, 600, 1000, 2000, 3600, 5000; в 1 проход с битрейтом 200; по качеству crf 18, 20, 23, 25, 28, 30, 33, 35
Фактически получившиеся битрейты отличались от заданных (особенно сильно у x264), поэтому в дальнейшем сравнении они будут озвучены отдельно.
Перед цифрами и конкретикой хочется еще сказать несколько слов про тенденции, которые прослеживаются у выбранных кодеков.
На сверхнизких битрейтах все кодеки показывают неудовлетворительную картинку - у xvid картинка рассыпается на кубики, у Sony AVC появляются одноцветные квадраты с рваными, у Mainconcept AVC картинка становится рваной, у x264 - вязко-контрастной.
На высоких битрейтах все кодеки более или менее справились, у xvid артефакты еще заметны, у остальных картинка вполне смотрибельна.
Для xvid финальная часть оказалась настолько тяжелой по битрейту, что при кодировании в 2 прохода происходит фатальное снижение качества всего ролика. Можно сказать, что на сегодняшний момент кодировать тяжелые игровые ролики в xvid нецелесообразно - для гарантированно хорошего качества нужен слишком большой битрейт.
Mainconcept и x264 в меньшей степени перераспределяют битрейт - картинка в начальной части в двухпроходном режиме слабо страдает даже при недостатке битрейта в финале.
Кодирование по качеству (режим crf) в x264 позволяет добиться смотрибельной картинки даже на низких битрейтах. Вместе с тем в таком режиме лучше всего передавались промежуточные игровые экраны.
У x264 картинка кажется немного сглаженной, но надписи (достаточно крупные по игровым меркам) в отличие от других кодеков не кажутся искаженными.
Использование x264 в однопроходном режиме с указанием битрейта может выдавать непредсказуемые результаты. Отношение минимального и максимального битрейта доходило до x10, а фактический средний битрейт превышал заданный на величину до 23%. На роликах с "легким финалом" битрейт бы выравнивался, но тестовый ролик заканчивается как раз тяжелой для кодирования последовательностью.
Для тестирования были взяты кодеки Mainconcept AVC, Sony AVC из триальной версии Sony Vegas 9.0d, Koepi's XviD 1.2.2, а также x264 cli build 1542
В качестве подопытного был выбран ролик из игры Mass Effect 2 длительностью 2 минуты 38 секунд в .avi uncompressed 25 fps. Ролик состоит из диалогов, нескольких игровых экранов и тяжелого для кодирования участка собственно игрового действа. Предварительная обработка ролика включала приведение его в Studio Levels и ресайз до 720*576.
Сравнение проводилось в бесплатной вресии MSU Video Quality Measurement Tool
Изначально футаж был записан в программе fraps 3-й версии в разрешении 1920*1080 с частотой 25 кадров в секунду, но в силу ограничений на обрабатываемый размер картинки в средстве подсчета PSNR его пришлось уменьшить до DVD-разрешения.
Тестирование проводилось сравнением Y-PSNR, также скажу несколько слов по визуальному сравнению полученных файлов.
Изначально планировалось кодирование с вариантами битрейта 400, 600, 1000, 2000, 3600, 5000 Кбит/с в 1 и 2 прохода, однако из-за ограничений в настройках и дополнительных возможностей в результате настройки получились несколько отличными (битрейты в кбит/с):
* в Sony AVC в 1 проход (2 прохода не предусмотрено) со следующими битрейтами: 400, 600, 1000, 2000, 3600, 5000
* в xvid кодировалось в 1 и 2 прохода со следующими битрейтами: 400, 600, 1000, 2000, 3600; также в один проход с битрейтом 5000
* в Mainconcept AVC в 1 и 2 прохода со следующими битрейтами: 384, 768, 2000, 4000
* в x264 в 1 и 2 прохода: 400, 600, 1000, 2000, 3600, 5000; в 1 проход с битрейтом 200; по качеству crf 18, 20, 23, 25, 28, 30, 33, 35
Фактически получившиеся битрейты отличались от заданных (особенно сильно у x264), поэтому в дальнейшем сравнении они будут озвучены отдельно.
Перед цифрами и конкретикой хочется еще сказать несколько слов про тенденции, которые прослеживаются у выбранных кодеков.
На сверхнизких битрейтах все кодеки показывают неудовлетворительную картинку - у xvid картинка рассыпается на кубики, у Sony AVC появляются одноцветные квадраты с рваными, у Mainconcept AVC картинка становится рваной, у x264 - вязко-контрастной.
На высоких битрейтах все кодеки более или менее справились, у xvid артефакты еще заметны, у остальных картинка вполне смотрибельна.
Для xvid финальная часть оказалась настолько тяжелой по битрейту, что при кодировании в 2 прохода происходит фатальное снижение качества всего ролика. Можно сказать, что на сегодняшний момент кодировать тяжелые игровые ролики в xvid нецелесообразно - для гарантированно хорошего качества нужен слишком большой битрейт.
Mainconcept и x264 в меньшей степени перераспределяют битрейт - картинка в начальной части в двухпроходном режиме слабо страдает даже при недостатке битрейта в финале.
Кодирование по качеству (режим crf) в x264 позволяет добиться смотрибельной картинки даже на низких битрейтах. Вместе с тем в таком режиме лучше всего передавались промежуточные игровые экраны.
У x264 картинка кажется немного сглаженной, но надписи (достаточно крупные по игровым меркам) в отличие от других кодеков не кажутся искаженными.
Использование x264 в однопроходном режиме с указанием битрейта может выдавать непредсказуемые результаты. Отношение минимального и максимального битрейта доходило до x10, а фактический средний битрейт превышал заданный на величину до 23%. На роликах с "легким финалом" битрейт бы выравнивался, но тестовый ролик заканчивается как раз тяжелой для кодирования последовательностью.