LINUX.ORG.RU

Видео для тестов своего энкодера/декодера

 , ,


0

1

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

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

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

Должно быть же что-то для оценки кодеков?

my_home_porn.mkv

anonymous
()
Ответ на: комментарий от LINUX-ORG-RU

чёт я перемудрил

Да нет. Не перемудрил. Всем кто занимался обработкой изображений известно лицо Лены и морда бабуина. Эти изображения проходят тестировку в первую очередь. Для видео такой выбор «пропущен». Не есть гуд.

anonymous
()

Код дашь позырить?

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

Хотя выглядит слишком примитивно

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Код дашь позырить? Хотя выглядит слишком примитивно

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

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Не, ща википедию почитал там не, не то у меня всё тупее ))))

LINUX-ORG-RU ★★★★★
() автор топика

1) Ты занимаешься ерундой, когда есть VP9

2) В том же ffmpeg есть тесты, можно посмотреть. Или в библиотеках, реализующих кодеки

Harald ★★★★★
()

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

Harald ★★★★★
()
Ответ на: комментарий от Harald
  1. Ты занимаешься ерундой, когда есть VP9

Дай ссылку на либу под BSD/MIT где без танцев с барабаном можно просто открыть файл сказать «рисуй в эту текстуру» и смотреть видосик. =) или сказать, «дай мне следующий кадр я его сам нарисую на чём мне надо»

В том же ffmpeg есть тесты, можно посмотреть. Или в библиотеках, реализующих кодеки

Поищу, спасибо

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от Harald

тестовых данных много можно придумать

Ну, да вот я и подумал что кто-то уже придумал и запилил =)

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Дай ссылку на либу под BSD/MIT где без танцев с барабаном можно просто открыть файл сказать «рисуй в эту текстуру» и смотреть видосик. =) или сказать, «дай мне следующий кадр я его сам нарисую на чём мне надо»

а в чём сложность?

Harald ★★★★★
()
Ответ на: комментарий от Harald

а в чём сложность?

Хз, ну каюсь самому захотелось реализовать что то простое и лёгкое для коротеньких роликов =) Может и в правду потыкать, тут в гугле libvpx вылезло, пойду попробую в OpenGL текстуру проигрыватель сделать. Вроде демки есть какие то.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от Harald

Нуууу, нееее, если в 1920x1080 60 fps видео длинною 1 секунду будет по экрану 1 пиксель летать то для построения каждого следующего кадра мне нужно хранить только два rgbX первый затереть место где был пиксель, второй рисует новый, где X это положение где в опорном кадре произвести изменения то есть w|h. При этом можно ещё игнорировать диапазоны цветов, то есть если в точке был красный типа r=150 а в следующем кадре он 155, а ещё в следующем 145 то это можно тупо игнорировать и не считать за изменение тем самым это изменение не хранить. Одинаковые кадры просто ссылки на предыдущие. По сути получается я храню diff изображений и патчу картинку этими diff ами для построения следующей.

Понятное дело что даже 5 минутный ролик это проблема, но мои потребности для игры это максимум 1 минута ролики, вот я и подумал что стоит попробовать похимичить ))

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

И это довольно интересно я бы сказал, особенно когда всё на ходу придумывать надо =)

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от Harald

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

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

все тру-кодеки

У меня не тру, а наколенная поделка, полноценный кодек пилить мне жизни не хватит, да и серых клеточек тоже.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Не обязательно использовать 4k h265.

anonymous
()
Ответ на: комментарий от LINUX-ORG-RU

Мне сначала надо (выбрать готовую либу или ) запилить хоть что-то работающее

Не mjpeg ли?

anonymous
()
Ответ на: комментарий от anonymous

Где это вообще используется?

anonymous
()
Ответ на: комментарий от Harald

Короче хвалюсь https://youtu.be/vEN_W6g_CD8 297 кадров в разрешении 1920x1080 кодек на основе разности кадров вообще без сжатий выдаёт 204 метра )))))))))) Ну, что-то наколдовать с размерами раза в четыре ужать подшаманить и жить можно =) Два видеоролика в игру вставить можно, а больше чаще и не надо. ))))))))))))))

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Хотя выглядит слишком примитивно

Я бы сказал, что выглядит как обычный MPEG. Ну если не считать что в mpeg цвет идет в виде YCrCb и что разрешение для Y, обычно, больше чем для CrCb

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 3)
Ответ на: комментарий от Harald

все тру-кодеки работают с цветовым пространством YUV, а не RGB

К стати вопрос - а нахрена?

Я понимаю почему это, например, есть в допотомном мпеге - такую картинку можно нормально без преобразований показывать на Ч/Б телеке тупо игноря компоненту цветности, но в современных кодеках какой смысл так делать? Тупо чтобы мочь делать разрешение цветности меньше, чем у яркости? (т.е. немножко уменьшаем размер, в ущерб точной цветопередаче)

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 5)
Ответ на: комментарий от hizel

ась?

ISO/IEC 11172-1:1993 Publication date : 1993-08

Стандарт, так на минуточку, ровестник дума.

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 3)
Ответ на: комментарий от anonymous

Человек неспособен заметить разницу.

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

RiseOfDeath ★★★★
()
Ответ на: комментарий от RiseOfDeath

Тупо чтобы мочь делать разрешение цветности меньше, чем у яркости? (т.е. немножко уменьшаем размер, в ущерб точной цветопередаче)

ну да

Harald ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.