pet project with video codec
От: sergey2b ЮАР  
Дата: 06.02.25 13:57
Оценка:
подскажите пожалуйста идею для
pet проекта что бы получить опыт с кодеками H.264/AVC, HEVC, and AV1.
Re: pet project with video codec
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.02.25 14:06
Оценка: 12 (1)
Здравствуйте, sergey2b, Вы писали:

S>подскажите пожалуйста идею для

S>pet проекта что бы получить опыт с кодеками H.264/AVC, HEVC, and AV1.

Напиши DLNA-сервер, который умеет ресамплить на видео лету, с учётом возможностей и потребностей клиентов.
Re: pet project with video codec
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.02.25 14:12
Оценка: 19 (3)
Здравствуйте, sergey2b, Вы писали:

S>подскажите пожалуйста идею для

S>pet проекта что бы получить опыт с кодеками H.264/AVC, HEVC, and AV1.

О! И еще вспомнилось.

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

Понятно, что прямолинейное решение — это задача распознавания и сличения образов.

Но у меня есть гипотеза, что если взять видеопоток, разбить его на фреймы, посчитать простые статистические характеристики каждого фрейма, типа размера по отношению к среднему, средней яркости, средней окрашенности и т.п., представить это в виде последовательности во времени, нормализовав точки отсчета и откоррелировать полученные последовательности, то степень корреляции будет неплохо показывать степень похожести фильмов, причем независимо от разрешающей способности и т.п. (но, возможно, зависимо от использованного кодека).
Re[2]: pet project with video codec
От: sergey2b ЮАР  
Дата: 06.02.25 14:32
Оценка:
Здравствуйте, Pzz, Вы писали:

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


можно посчитать хеш фрейма


спасибо за идеи
мне нужна практика в внутренностях кодека а не использовать чужой кодек
Re: pet project with video codec
От: DiPaolo Россия  
Дата: 06.02.25 15:47
Оценка: 12 (1)
S>pet проекта что бы получить опыт с кодеками H.264/AVC, HEVC, and AV1.

А что конкретно хочешь, какого плана опыт? Цель конечная какая? Можно получить опыт тюнинга кодеков, можно просто научиться их скармливать в ффмпег, можно узнать отличия, можно научиться реализовывать каждый из них и оптимизировать.

В качестве общих идей:
— написать анализатор/вьювер для хедеров: руками парсить по спекам и выводить значения полей
— сделать утилиту, которая в несколько потоков кодирует в три кодека, красиво это отображает в виде прогресс бара или еще как-то, считает скорость и битрейт (размер). В конце выводит статистику. Можно еще и качество посчитать и добавить к статистике. Можно даже заморочиться с RD-кривыми (гуглить)

Много чего можно. Тут еще важно, сможешь ли ты это применять (и хочешь ли) или же просто абстрактное что-то сделать.
Патриот здравого смысла
Re[2]: pet project with video codec
От: Sharov Россия  
Дата: 06.02.25 17:27
Оценка:
Здравствуйте, Pzz, Вы писали:


Pzz>О! И еще вспомнилось.

Pzz>Есть куча ведеофайлов в разных форматах. Требуется написать утилиту, которая среди них найдет похожие. У похожих может быть немного вставлено/отрезано в начале/в конце. Кроме того, два одинаковых кина, записанных с разными разрешениями, тоже следует считать похожими.
Pzz>Понятно, что прямолинейное решение — это задача распознавания и сличения образов.
Pzz>Но у меня есть гипотеза, что если взять видеопоток, разбить его на фреймы, посчитать простые статистические характеристики каждого фрейма, типа размера по отношению к среднему, средней яркости, средней окрашенности и т.п., представить это в виде последовательности во времени, нормализовав точки отсчета и откоррелировать полученные последовательности, то степень корреляции будет неплохо показывать степень похожести фильмов, причем независимо от разрешающей способности и т.п. (но, возможно, зависимо от использованного кодека).

Можно же ключевые кадры одного видео сравнивать с другим, обычная корреляция (сопоставление сигналов). Ну т.е. если они совпадают,
но могут быть сдвинуты.
Кодом людям нужно помогать!
Re[3]: pet project with video codec
От: sergey2b ЮАР  
Дата: 06.02.25 17:29
Оценка:
Здравствуйте, Sharov, Вы писали:


S>Можно же ключевые кадры одного видео сравнивать с другим, обычная корреляция (сопоставление сигналов). Ну т.е. если они совпадают,

S>но могут быть сдвинуты.

может быть разная освещенность или разрешение кадров
Re[3]: pet project with video codec
От: Sharov Россия  
Дата: 06.02.25 17:29
Оценка: 12 (1)
Здравствуйте, sergey2b, Вы писали:

S>спасибо за идеи

S>мне нужна практика в внутренностях кодека а не использовать чужой кодек

Ну вот, пожалуйста --https://rsdn.org/forum/job/8888164?tree=tree
Автор: Nuzhny
Дата: 26.01.25

Там и нейронки и все-все-все.
Кодом людям нужно помогать!
Re[4]: pet project with video codec
От: Sharov Россия  
Дата: 06.02.25 17:30
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>>Можно же ключевые кадры одного видео сравнивать с другим, обычная корреляция (сопоставление сигналов). Ну т.е. если они совпадают,

S>>но могут быть сдвинуты.
S>может быть разная освещенность или разрешение кадров

Но вот надо это как-то решить и отфильтровать.
Кодом людям нужно помогать!
Re: pet project with video codec
От: Слава  
Дата: 06.02.25 18:31
Оценка: 12 (1)
Здравствуйте, sergey2b, Вы писали:

S>подскажите пожалуйста идею для

S>pet проекта что бы получить опыт с кодеками H.264/AVC, HEVC, and AV1.

Восстановитель битых файлов, обновление ключевых кадров и т.п.
Re: pet project with video codec
От: jamesq Россия  
Дата: 06.02.25 18:34
Оценка: 12 (1)
Здравствуйте, sergey2b, Вы писали:

S>подскажите пожалуйста идею для

S>pet проекта что бы получить опыт с кодеками H.264/AVC, HEVC, and AV1.

Не знаю, подходит ли или нет. Но вот мне например нужна просто библиотека, позволяющая банально создать видеофайл из набора кадров. Я хочу побаловаться с графикой, генерировать эти кадры и сохранять в видео.
Сохранять каждый кадр в файл картинки и затем утилитой создавать из них видео — не предлагать.
Re[2]: pet project with video codec
От: Философ Ад http://vk.com/id10256428
Дата: 06.02.25 18:40
Оценка:
Здравствуйте, Pzz, Вы писали:

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


Да, тоже об этом думал: бардак в видеоархиве — страшная вещь. Притом я когда-то писал поиск дубликатов файлов, и глядя на эту задачу не знаю как к ней подступиться. Притом мне бы хватило возможности сравнивать видео, отличающееся только форматом и разрешением. Файлы сравнить просто, а с видео и картинками всё сложно.
Всё сказанное выше — личное мнение, если не указано обратное.
Re: pet project with video codec
От: Философ Ад http://vk.com/id10256428
Дата: 06.02.25 18:42
Оценка: +1
Здравствуйте, sergey2b, Вы писали:

S>подскажите пожалуйста идею для

S>pet проекта что бы получить опыт с кодеками H.264/AVC, HEVC, and AV1.

Попробуй, для начала, написать утилиту, которая сравнивает 2 видеофайла. Они могут иметь разное разрешение и вразных контэйнерах.
Это уже полезным делом будет.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[2]: pet project with video codec
От: sergey2b ЮАР  
Дата: 06.02.25 18:59
Оценка:
Здравствуйте, Философ, Вы писали:


Ф>Попробуй, для начала, написать утилиту, которая сравнивает 2 видеофайла. Они могут иметь разное разрешение и вразных контэйнерах.

Ф>Это уже полезным делом будет.


мне надо подготовиться к собеседованию на программиста кодеков на verilog
книгу по кодекам я нашел и начал читать нужна задачка для практики именно по внутренниму устройству кодеков

то что вы пишите я могу написать используя avcodec
Re[3]: pet project with video codec
От: sergey2b ЮАР  
Дата: 06.02.25 19:00
Оценка:
Здравствуйте, Философ, Вы писали:


Ф>Да, тоже об этом думал: бардак в видеоархиве — страшная вещь. Притом я когда-то писал поиск дубликатов файлов, и глядя на эту задачу не знаю как к ней подступиться. Притом мне бы хватило возможности сравнивать видео, отличающееся только форматом и разрешением. Файлы сравнить просто, а с видео и картинками всё сложно.


я писал библиотеку которая детектирует движение в помоещении где свет постоянно мигает
Re[4]: pet project with video codec
От: Философ Ад http://vk.com/id10256428
Дата: 06.02.25 19:04
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>я писал библиотеку которая детектирует движение в помоещении где свет постоянно мигает


Наверное это круто, и кому-то нужно. А мне нужно 2 видео сравнить.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: pet project with video codec
От: sergey2b ЮАР  
Дата: 06.02.25 19:12
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Наверное это круто, и кому-то нужно. А мне нужно 2 видео сравнить.

если вы подумайте это две похожие задачи
Re[2]: pet project with video codec
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.02.25 19:52
Оценка:
Здравствуйте, Pzz, Вы писали:

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


Pzz>Понятно, что прямолинейное решение — это задача распознавания и сличения образов.


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


Во, это прямо моя мечта, хочу такое сделать, когда всё остальное переделаю и заняться будет категорически нечем

Еще добавлю, что хотелось бы детектить вариант, когда один видос является фрагментом другого.

Ещё — что бы умело детектить смену сцены/ракурса (когда изображение радикально меняется), выставлять тайминги, и выдавать описание сцены. И чтобы можно было помечать что вот это вот — реклама, или ещё какая-то лажа, и чтобы можно было это вырезать. Ну, или сделать нарезку сцен по размеченному списку.

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

Ну и самое интересное — чтобы умело людей узнавать узнавать. Ну, и ещё, может, определяло автоматом жанр видоса


По поводу алгоритмов — видосы могут быть пересемпленными с разным фреймрейтом. Думал пережимать в один небольшой рейт, разбивать на картинки-кадры, даунсемплить их в один небольшой размер, и делать сравнение по таким кадрам. Тут и смену кадра можно наверное отслеживать — по слишком большой разнице между соседними кадрами. Оставался ещё вопрос, как определять, как сравнивать два одинаковых видоса, но на один был наложен светофильтр какой-нибудь, типа сепию наложили
Маньяк Робокряк колесит по городу
Re[2]: pet project with video codec
От: Alekzander Россия  
Дата: 06.02.25 21:07
Оценка: -1 :)
Здравствуйте, jamesq, Вы писали:

J>Сохранять каждый кадр в файл картинки и затем утилитой создавать из них видео — не предлагать.


А нет версии ffmpeg, оформленной как библиотека, а не файловая утилита командной строки?
Re[3]: pet project with video codec
От: DiPaolo Россия  
Дата: 06.02.25 23:08
Оценка: 12 (1)
S>мне надо подготовиться к собеседованию на программиста кодеков на verilog
S>книгу по кодекам я нашел и начал читать нужна задачка для практики именно по внутренниму устройству кодеков

с этого и надо было начинать...

в таком случае я посоветую читать исходники референсных или просто опен-сорсных енкодеров/декодеров и разбираться, как оно устроено, сопоставляя со спеками на стандарты

ну далее и можно попробовать написать свой декодер с самым простым набором фичей и без оптимизаций
Патриот здравого смысла
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.