The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск rav1e 0.3, кодировщика AV1 на языке Rust , opennews (ok), 09-Фев-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


61. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (15), 09-Фев-20, 16:27 
Есть метрики навроде VMAF и PSNR, гуглится на раз. Насчёт информации на русском языке не уверен.
Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от нах. (?), 09-Фев-20, 17:17 
> Есть метрики навроде VMAF и PSNR, гуглится на раз. Насчёт информации на
> русском языке не уверен.

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


Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 18:42 
Сравнивать визуальные артефакты различных кодеков равноценно нельзя, но степень отличия от оригинала оценить вполне можно. Чем сложнее сцена и чем больше отличий, тем больше результат "плывёт". А глазу заметна даже небольшая разница. С PSNR, насколько я помню, проблема в том, что он артефакты считает за "детали", потеря этих самых "деталей" иногда более предпочтительна. В целом, вывод, который можно сделать, это чем дороже процесс кодирования, тем больше деталей сохраняется. Но эти детали могут оказаться артефактами, что особенно кусается при повторном транскоде. Для сохранения деталей (вроде эффекта плёнки) есть всякие psy-rd/psy-rdoq, но при транскоде сразу лезут артефакты в стиле x264 (как называется грязная кромка, запамятовал? вот они), и на низком битрейте такие "улучшения" попросту разъедают глаза.
Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от нах. (?), 09-Фев-20, 22:29 
> Сравнивать визуальные артефакты различных кодеков равноценно нельзя, но степень отличия от
> оригинала оценить вполне можно.

дык а кому она нужна, степень эта?
Если мы их глазом либо не видим, либо видим совсем не то что этот метод считает важным.

> С PSNR, насколько я помню, проблема в том, что он артефакты считает за "детали", потеря этих
> самых "деталей" иногда более предпочтительна.

о том и речь.

А продираться через детали математики - еще одна жизнь нужна :-(

Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 23:19 
Ну поэтому я просто проверяю скриптом битрейт и параметры у файлов из интернета. Битрейт ниже теоретических пределов однозначно указывает на мусорность файла, по возрастающей. Если там me=dia или subme=3, можно спокойно и с уверенностью утверждать, что файл уг. Также, когда параметров кодека нет, это почти наверняка указывает на мусорность. Глазками конечно проще точнее оценить, но глазками утомительно и больше времени необходимо. Руководствуюсь отношением битрейт/параметры, если они соответствуют моим представлениям и файл не был множественно перекодирован, результат (обычно) соответствует ожидаемому. Качество источника вносит свои коррективы конечно.

Это самый полезный на свете скрипт, почему я не написал его раньше? Времени на его написание ушло не более получаса. Менее 500 строк копипасты.

Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от artenox (?), 10-Фев-20, 00:02 
> Также, когда параметров кодека нет, это почти наверняка указывает на мусорность

Коммерческие кодеры (Mainconcept) не пишут параметры кодирования.
YouTube еще вырезает, хотя, наверняка использует crf в x264 с ограниченным maxrate (на воде особенно заметно).

Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 00:26 
Да, просто пока что мне ещё не попадались хорошие файлы с удалённой инфой в интернете. Аппаратные кодеры тоже сливают софтовым. Я попытался считать скор, но видимо это логику нужно ещё доработать. Например, выдавать несколько раздельных оценок. А если параметров кодирования нет, можно смотреть только на битрейт — это крайне подозрительно само по себе.
Ответить | Правка | Наверх | Cообщить модератору

100. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 00:41 
> если параметров кодирования нет, можно смотреть только на битрейт

CABAC, Ref MediaInfo показывает. В Avidemux можно посмотреть сколько B кадров и длину GOP (а также узнать применялся ли детектор сцен). В Bitrate Viewer график битрейта посмотреть (на CBR ли).

Ответить | Правка | Наверх | Cообщить модератору

101. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 00:56 
Точно. Я дополню, спасибо. Случайно взятый файл показал cabac/ref=1 maxbitrate=16k и жутко размытую картинку. ffprobe сказал has_b_frames=0, видимо их и нет. Насчёт GOP и детектора сцен не уверен, наверно было бы неплохо это знать. ffprobe может сообщить не сканируя весь файл?
Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 02:56 
> ffprobe может сообщить не сканируя весь файл?

Не знаю насчет ffprobe.
В Avidemux клавиши Up/Down переход по ключевым (I) кадрам. Left/Right по обычным кадрам.
Внизу пишется тип кадра. Обычно идут IPPPBBB. Если нет B кадров - это указывает на плохие настройки кодирования.
I кадры по идее должны начинаться, когда в кадре меняется изображение (новая сцена), но не чаще 250 кадров (10 секунд). Если они встречаются чаще (раз в 12 кадров или раз в 25 кадров, т.е. раз в 1 сек), это свидетельствует, что keyframe интервал захардкоден и битрейт тратится впустую (на лишние I кадры) = хуже качество. То бишь энкодер не применял детектор сцен. Иногда бывает, что и при коротком GOP интервале детектор сцен работал (в MPEG2, обычно). Если новая сцена начинается с P или B кадра, это не очень хорошо. GOP - это разница между двумя I.

Там же можно посмотреть длительность каждого кадра = разница времени между двумя кадрами. И по ее значениям вычислить реальную частоту видео. А она иногда бывает переменная (обычно со смартфонов), даже если MediaInfo показывает Constant. Например, первый кадр 00:00:03.520, стрелка Right, второй кадр 00:00:03.560.
560-520=40 мс
1/40*1000=25 fps
Иными словами
1/25=0.04 сек * 1000 = 40мс
Как я уже говорил, в пределах файла длительность может быть переменной (Variable Frame Rate).

Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 04:15 
> YouTube наверняка использует crf в x264 с ограниченным maxrate

Причем, вместе с maxrate задается bufsize - это величина, на которую битрейт может превышать значение maxrate в течении небольшого промежутка времени. На сложных сценах можно видеть так называемые биения битрейта - периодические проседания битрейта/качества* (где-то раз в секунду). В моменты проседания буфер опустошается и дабы компенсировать предыдущее повышение битрейта, он понижается, а сложность сцены то не меняется и все повторяется. Так забавно наблюдать как буфер колбасит.
* к примеру, чистый шум камеры периодически превращается в грязь.

Ответить | Правка | Наверх | Cообщить модератору

113. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 10-Фев-20, 10:22 
чорт, даже интересно стало - что это такое ты смотришь, что можно не смотреть если битрейт не угодил. И зачем тогда это смотреть вообще?

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

126. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 14:53 
Вопрос, скорее, про хранение. Затем, что лучше не было, стриминговые сайты гонят лажу. Потом файлы транскодируются или поставляются как есть, в первом случае хранить убитые раздутые файлы нет совершенно никакого резона, во втором придётся принять за данность.

Но это универсально. Всякие nvenc и особенно quicksync (ладно бы в hevc 10битный кодировали, так нет же, самый днизенский avc, древними картами которые и кодировать нормально не умели) можно удалять совершенно спокойно. Чёртов handbrake опять же, напихали этой дряни в хомячковый софт… Или не удалять, а уменьшить разрешение в 4 раза и битрейт (а значит и размер файла) в 10+ раз и ничего не потерять, но такие файлы всё равно дутые получаются. Эти самые невидимые "кромки" присутствуют, даже если их не видно. Зато хотя бы "волосатые" края сминаются и становятся чёткими.

Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 20:42 
А ffmpeg тоже чертов? Ведь в нем по умолчанию crf 28.
Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 20:43 
И много кто не меняет эти умолчания, если форумы почитать.
Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 21:47 
Абсолютли. Надо же было додуматься до такого, 23 уже обращает всё в тыкву. Я могу ещё понять 19 (тыква) или 18 (не могу понять как можно на серьёзных щах утверждать будто <18 не нужно) по умолщанию, но 28 это совсем какое-то дно.

Но ипичный сферический пользователь не станет ffmpeg пользоваться. Как и голым x264. Отсюда и все беды — пользователь думает, что всё уже готово и настроено.

Ответить | Правка | К родителю #132 | Наверх | Cообщить модератору

135. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 22:00 
> Но ипичный сферический пользователь не станет ffmpeg пользоваться

Может скопипастить команду из форумов.

Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 09-Фев-20, 19:28 
>> Есть метрики навроде VMAF и PSNR, гуглится на раз. Насчёт информации на
>> русском языке не уверен.
> отдельный вопрос, каково их отношение к видимому глазом качеству.

По ссылке[1] с википедии[2], которая заодно третья ссылка в ddg при поиске по запросу "VMAF":

> VMAF was specifically formulated by Netflix to correlate
> strongly with subjective MOS scores. Using machine learning
> techniques, a large sample of MOS scores were used as ground
> truth to train a quality estimation model. It is a full-reference,
> perceptual video quality metric that aims to approximate human
> perception of video quality.

Если по русски, то это ML наученный предсказывать человеческие оценки качества.

И дальше там результат сравнения работы VMAF с субъективным восприятием, который в конечном итоге сводится к:

> a) The results exhibit a strong correlation between subjective Mean Opinion Score and the computed objective VMAF score with a correlation of 0.948. This compares well with the Netflix results of 0.963 and 0.939 for the NFLX-TEST and VQEGHD3 datasets, respectively. Even though the original VMAF was trained on 1080p data we demonstrate its applicability to 4K video.
> b) While VMAF is a strong predictor of subjective opinion of a collection of viewers on the quality of video content, with a RMSE of 12.7, our results show that the computed value more often (85 percent of the time) over-estimates the subjective quality.
> c) The results indicate that if a video service operator were to encode video to achieve a VMAF score of about 93 then they would be confident of optimally serving the vast majority of their audience with content that is either indistinguishable from original or with noticeable but not annoying distortion.

0.95 корреляции -- это очень неплохо, но VMAF всё же часто переоценивает качество.

Подход ясен, моё любопытство удовлетворено. Но все эти числа и выводы не стоит рассматривать как истину в последней инстанции: там выборка 18 человек всего (для оттачивания методики измерения надо бы несколько десятков, хотя бы), плюс не написано что это за выборка, каким образом она создавалась. Дети до пяти лет с близорукостью высокой степени? Студенты второго курса на дизайнерских специальностях? Раз не описана выборка, значит скорее всего репрезентативности выборки не уделялось должного внимания, а это значит что результат может кардинально отличаться от реальности. То есть, я бы на месте video service operator ещё бы подумал, стоит ли обращать внимание на рекомендацию в пункте (c).

С другой стороны -- это второстепенное исследование, которое пытается оценить применимость VMAF для оценивания 4K видео (VMAF был заточен под 1K, согласно статье). В википедии есть ссылки на статьи 2012/13 годов, с которых всё начиналось, так что лучше туда идти за подробностями в отношении надёжности этой метрики.

[1] https://www.realnetworks.com/sites/default/files/vmaf_reprod...
[2] https://en.wikipedia.org/wiki/Video_Multimethod_Assessment_F...

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

92. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 22:31 
> То есть, я бы на месте video service operator ещё бы подумал, стоит ли обращать внимание на
> рекомендацию в пункте (c).

ну вот, еще до одного дошло, что верить никому нельзя.

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

Ответить | Правка | Наверх | Cообщить модератору

110. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 10-Фев-20, 09:44 
> imho, чем тратить недели на чтение первоисточников и разбирательства деталей, проще потратить (недели же) на пробные кодирования и ручной просмотр

Хахаха, лол. Заменить выборку из 18 человек на выборку из 1 человека, это офигенно добавит к достоверности исследования, да. Если ты хочешь лучше, то тебе надо набрать своих человек 15, повторить исследование и сравнить результаты с тем, что указано в статье. В случае существенного расхождения набрать ещё человек тридцать и наковырять ещё данных.

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

> если мы не нетфликс, и для себя это делаем, нас интересует не его выборка, а наша собственная.

Ты читать умеешь? Совет ориентирован на video service provider. Если ты раздаёшь видео себе, то тебе вообще никакие советы не нужны, бери и стримь. Если не понравится, потом подтюнишь.

Ответить | Правка | Наверх | Cообщить модератору

112. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 10-Фев-20, 10:17 
> Хахаха, лол. Заменить выборку из 18 человек на выборку из 1 человека, это офигенно добавит к
> достоверности исследования, да.

естественно. Мы же для этого человека делаем, а не для тех восемнадцати.

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

> И, я отмечу, чтение первоисточников -- это несколько часов.

то что ты сделал - это не чтение первоисточников, это ты прошелся по верхам.
А разбираться в деталях - это уже недели и будут.

> Ты читать умеешь? Совет ориентирован на video service provider.

ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.

> Если ты раздаёшь видео себе, то тебе вообще никакие советы не нужны, бери и стримь. Если не
> понравится, потом подтюнишь.

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


Ответить | Правка | Наверх | Cообщить модератору

136. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 10-Фев-20, 22:21 
> то что ты сделал - это не чтение первоисточников, это ты прошелся по верхам.

Да, но и потратил я на это не несколько часов, а несколько минут.

> ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.

Ему нужен компромисс между качеством и дешевизной.

Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 11-Фев-20, 10:25 
>> ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.
> Ему нужен компромисс между качеством и дешевизной.

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

Ответить | Правка | Наверх | Cообщить модератору

146. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 11-Фев-20, 15:25 
>>> ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.
>> Ему нужен компромисс между качеством и дешевизной.
> ему нужно денег, и желательно - побольше. Если пипл хавает дерьмо с
> лопаты - то дерьма ему и навалят.
> Если какие-то мерссские конкурентишки выложили качество получше - надо подумать, нельзя
> ли им устроить какую-нибудь пакость, а вовсе не улучшать свой сервис.
> Рыночек, знаешь ли, решает.

Тебе удалось уловить самые азы экономики. Умница.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру