Как стать автором
Обновить

Комментарии 14

О чем этот пост? Как проводилось тестирование? Что кодировалось? Какие настройки кодеков? Где объективные метрики качества? Сравнительные скриншоты? Сам образец, чтобы проверить результат?

Нет, ничего этого нет. Тогда зачем собственно пост?
Почитайте статью повнимательнее. Там есть ответы на все ваши вопросы. Основная идея была именно в измерении скорости кодирования одного и того же файла разными кодеками. Зачем нужны сравнительные скриншоты? Я не измерял качество так как эта оценка весьма субъективна. Даже с использованием всеми любимого PSNR. Я измерял исключительно скорость кодирования. Она для меня была определяющей величиной. И только. О каких настройках идёт речь? Коэффициенте квантования? Так он везде был выставлен на самое лучшее качество. Но опять же я сравнивал относительную скорость, а не оптимизировал работу по вектору различных переменных. В чём моя ошибка? Или вы знаете как сделать так, чтобы результат получился гораздо лучше для Theora? Welcome. Многие захотят узнать. В том числе и я.
>Основная идея была именно в измерении скорости кодирования одного и того же файла разными кодеками.
Любым кодеком можно варьировать скорость кодирования на порядок-два при разных настройках, по этому конкретные параметры кодеков важны.

>Зачем нужны сравнительные скриншоты?
Чтобы убедиться, что одним кодеком не накодировалась конфетка, а вторым — вырвиглазный пипец

>Я не измерял качество так как эта оценка весьма субъективна.
Instant fail, что добавить

>О каких настройках идёт речь? Коэффициенте квантования?
Не помню как с этим делом в xvid или theora, но в x264 кодирование по постоянному квантователю — просер качества и битрейта в никуда

>Так он везде был выставлен на самое лучшее качество.
Лучший квантователь = 0 — сжатие без потерь, точно «самое лучшее качество»?

>В чём моя ошибка?
Перечислил выше

>Или вы знаете как сделать так, чтобы результат получился гораздо лучше для Theora?
Чтобы знать, как мне сделать лучше, для начала надо знать как было сделано до меня. Опять же не вижу ни настроек кодеков, ни «простенького написаного теста»
В доказательство моего первого утверждения, быстро прогнал маленький семпл в x264:

$ x264 --preset ultrafast --psnr --ssim stream.y4m -o /dev/null
x264 [info]: SSIM Mean Y:0.9827493
x264 [info]: PSNR Mean Y:43.032 U:47.530 V:47.895 Avg:44.030 Global:43.127
encoded 479 frames, 294.63 fps, 1518.02 kb/s

$ x264 --preset placebo --psnr --ssim stream.y4m -o /dev/null
x264 [info]: SSIM Mean Y:0.9830546
x264 [info]: PSNR Mean Y:43.128 U:47.612 V:47.948 Avg:44.121 Global:43.202
encoded 479 frames, 6.57 fps, 609.30 kb/s

Примерно вдвое меньший размер и разница в скорости примерно в 45 раз при примерно одинаковом выходном качестве. Еще подтверждения о необходимости выкладывания всех материалов тестирования нужны?
И оба варианта --preset однопроходные? Как с применением фильтров? В любом случае покажите мне то-же рузультат в однопроходном варианте на Theora. Статья имено об этом кодеке.
>Любым кодеком можно варьировать скорость кодирования на порядок-два при разных настройках, по этому конкретные параметры кодеков важны.

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

>Зачем нужны сравнительные скриншоты?
Чтобы убедиться, что одним кодеком не накодировалась конфетка, а вторым — вырвиглазный пипец

Качество — самое лучшее которое может дать данный кодек. Сравнивать качество у меня не было задачи. Основная задача — сравнение скорости. Если скорость меня не устраивает, то зачем мне тестировать качество? Для этого есть другие статьи/тесты. Но они субъективны. При использовании разных метрик — будет разный результат.

>Я не измерял качество так как эта оценка весьма субъективна.
Instant fail, что добавить

Ну, добавить что-нибудь осмысленное, чтобы не получить минусов)

>Так он везде был выставлен на самое лучшее качество.
Лучший квантователь = 0 — сжатие без потерь, точно «самое лучшее качество»?

В каком месте лучший квантователь — 0? Вы хоть знакомы с принципами и алгоритмами кодирования, которые применяются в этих кодеках? Или вы судите о циферке возле ползуночка GUI настройки качества?
>вы путаете не работу кодека как такового, а механизмы предварительной фильтрации, оценки и тд
оценки и фильтрации чего? Если попробовать вчитаться в логи выше, то можно понять, что запускался только кодировщик, на уже разжатом потоке, без записи на диск, работал ТОЛЬКО кодек, никаких фильтров, построцессинга и чего либо еще не было.

>Ну, добавить что-нибудь осмысленное, чтобы не получить минусов)
Кармадрочер на связи?

>Вы хоть знакомы с принципами и алгоритмами кодирования, которые применяются в этих кодеках?
Абсолютное большинство видео кодеков работает на основе дискретного косинусного преобразования (DCT), где начальная матрица значений делится на значение квантователя и затем округляется, тем самым чем меньше квантователь, тем выше качество. Для xvid диапазон значений постоянного квантователя, для x264. Как можно догадаться round(X/1)=X, при условии, что X — целое. В x264 0 является служебным значением квантователя, которое используется как флаг для того, чтобы пропустить бесполезные операции квантования.

>Или вы судите о циферке возле ползуночка GUI настройки качества?
Аналогичное впечатление создалось о человеке, не способном выложить методологию своего исследования, а лишь способного заткнув уши повторять в слух как маленький ребенок «Мне это не надо, я хочу не так, я знаю лучше всех...»
Парсер съел значения квантователей:
xvid: 1-31
x264: 0-51
>Или вы судите о циферке возле ползуночка GUI настройки качества?
Аналогичное впечатление создалось о человеке, не способном выложить методологию своего исследования, а лишь способного заткнув уши повторять в слух как маленький ребенок «Мне это не надо, я хочу не так, я знаю лучше всех...»

Методология исследования выложена вся. Свою задачу — я решил. Если у вас есть свои задачи, то вперёд. Решите их и продемонстрируйте результаты.
По поводу повторения — ваши личные домыслы. Ни в статье, ни в комментариях речи об этом нет.
Я понимаю, что для вас важно насколько «круто» кодек кодирует очередное кино. Для вас важно качество картинки. И тестов на качество с различными метриками достаточно много. Мне важно было определить относительную скорость кодирования. Посмотрите на заголовок. Заметили?
Предоставленная методология:

Информация о кодеках:
+Используемые кодеки
-Версии используемых кодеков
-Параметры используемых кодеков

Информация о тесте:
-Исходный код теста

Информация об используемом оборудовании:
-Конфигурация оборудования (известно только, что для разных кодеков использовались разные процессоры)

Информация об исходном видео:
+Разрешение видео
-Битрейт видео
-Сложность видео
-Чересстрочность\прогрессивность видео

Информация о результатах кодирования:
+Время кодирования
-Объективное качество кодирования
-Субъективное качество кодирования

Итого: 3 плюса, 9 минусов. Методология выложена не вся.

П.С. Сразу на счет «мне не важно качество». Так не бывает, бывает приемлемый уровень качества. Если не важно качество, то устанавливаются минимальные параметры качества, уменьшается размер картинки раза в 3-4 и идут в ход любые другие извращения для увеличения скорости кодирования. В противовес я вижу установки с максимальным качеством.
>Информация о кодеках:
+Используемые кодеки
-Версии используемых кодеков
-Параметры используемых кодеков

Смотрим статью и видим следующее:
Версия Theora: 1.1.1. XVID: 1.2.2. Цифры возле названий — версии.
По поводу параметров используемых кодеков: Коэффициент квантования в максимальном качестве у обоих кодеков. Оптимизация работы с использованием ASM — максимальная.
Какой параметр кодирования, относящийся к кодеку я ещё упустил?

>-Исходный код теста

В статье есть описание алгоритма, Исходный текст его реализует.

>-Битрейт видео
Вы о чём? Какой битрейт? Статья о кодировании видео. Соответственно источник — не сжатое видео. Формат может быть любой. Но в данном случае — YV12. Битрейт сами посчитать сможете. 704*576*3/2.

>-Сложность видео
-Чересстрочность\прогрессивность видео

Для оценки относительной скорости на данном видео потоке это не играет роли.

>-Объективное качество кодирования
-Субъективное качество кодирования

Качество кодирование максимально возможное с использованием данных кодеков. Статьи сравнения качества есть на хабре.

>П.С. Сразу на счет «мне не важно качество». Так не бывает, бывает приемлемый уровень качества. Если не важно качество, то устанавливаются минимальные параметры качества, уменьшается размер картинки раза в 3-4 и идут в ход любые другие извращения для увеличения скорости кодирования. В противовес я вижу установки с максимальным качеством.

Аргумент умного и знающего человека, который лучше всех знает что нужно другим. Задачи, стоящие передо мной — описаны. Качество максимальное и на первом этапе оно для меня не имеет значения. Насчёт уменьшения разрешешения. Как вы думаете, на каком разрешении будет наименьшая скорость кодирования? Правильно. На максимальном. Поэтому я и взял максимальное разрешение и сравнил скорости.

>вы путаете не работу кодека как такового, а механизмы предварительной фильтрации, оценки и тд
оценки и фильтрации чего? Если попробовать вчитаться в логи выше, то можно понять, что запускался только кодировщик, на уже разжатом потоке, без записи на диск, работал ТОЛЬКО кодек, никаких фильтров, построцессинга и чего либо еще не было.

При чём здесь x264? Вы где-нибудь в статье видите упоминание о нём? Я рад, что вы умеете им пользоваться. Но речь не об этом. Речь о Theora и XVID с указанием качества в виде коэффициента квантования. Не больше и не меньше. А судя по вашей командной строке вы сравниваете разные конфигурации настроек. Отличия могут быть как в количестве проходов алгоритма, так и в применении оптимизации. SSE-MMX-CUDA ит прочее.

>Ну, добавить что-нибудь осмысленное, чтобы не получить минусов)
Кармадрочер на связи?

Вы знаете как Фрейд интерпретирует подобные высказывания?)

>Вы хоть знакомы с принципами и алгоритмами кодирования, которые применяются в этих кодеках?
Абсолютное большинство видео кодеков работает на основе дискретного косинусного преобразования (DCT), где начальная матрица значений делится на значение квантователя и затем округляется, тем самым чем меньше квантователь, тем выше качество. Для xvid диапазон значений постоянного квантователя, для x264. Как можно догадаться round(X/1)=X, при условии, что X — целое. В x264 0 является служебным значением квантователя, которое используется как флаг для того, чтобы пропустить бесполезные операции квантования.

Сильно напоминает студента, сдающего экзамен в институте по очередному предмету. Слова все правильные, а смысл отсутствует и соответственно понимание.

>При чём здесь x264?
При том, что любой более менее используемый кодек имеет массу настроек, влияющих как на производительность, так и на качество выходной картинки, что я и попытался продемонстрировать на примере наиболее часто используемого мной кодека.

>Я рад, что вы умеете им пользоваться.
Чего не могу сказать о вас и соответствующих кодеках

>Вы знаете как Фрейд интерпретирует подобные высказывания?)
Мало интересуюсь интеллектуальными изысками человека к 35 годам наделавшего 6 детей, а затем ушедшего в завязку на 30 лет, ничего удивительного в том, что весь мир у него крутился вокруг либидо, хотя да, потом он добавил и танатос, но Фрейд моден именно первым.

>Сильно напоминает студента, сдающего экзамен в институте по очередному предмету. Слова все правильные, а смысл отсутствует и соответственно понимание.
Сильно напоминает вчерашнего студента, защитившего диплом и смотрящего на нынешних студентов, как на говно. И таки да, я в прошлом семестре сдавал алгоритмы кодирования и именно по этому представляю себе, как они работают, чего вы еще не доказали, чего собственно и жду, с правильными словами, смыслом и пониманием.
Хотелось бы увидеть конкретику. А именно перечисление настроек, влияющих на скорость работы кодеков XVID и Theora, которые я не упоминул.

PS. Мне очень жаль, что люди вас считают тем, что вы написали о себе. Поверьте, у меня и мыслей подобных не было. Я искренне поверил в то, что хабр это место для общения грамотных технических специаистов. Которые умеют конструктивно строить диалог и обоснованно отстаивать своё мнение, приводя в качестве аргументов конкретные цифры и факты.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории