Доступен новый выпуск системы стабилизации видео Gyroflow, работающей на стадии постобработки и использующей данные с гироскопа и акселерометра для компенсации искажений, появляющихся из-за дрожания и неравномерного движения камеры. Код проекта написан на языке Rust (для интерфейса задействована библиотека Qt) и распространяется под лицензией GPLv3. Сборки публикуются для Linux (AppImage), Windows и macOS...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59315
>стабилизации видео
>коррекции дисторсии, временного параллакса и заваливания горизонтаКак это возможно? При рывках часть нужной картинки уезжает с матрицы, вместо неё приезжает другая часть. При заваливании мало того что значительная часть картинки уезжает с матрицы, так ещё и поворот идёт. При размытии теряются высокие частоты в изображении (да, используя данные с акселерометра можно лучше сделать начальное приближение для ядра, но слепая деконволюция всё равно процесс lossy), и размытое изображение опять обрезается границами матрицы.
безбожным кадрированием, как показано на 36-й секунде демонстрации
Ну и нахрен мне такое "улучшение".
А ты мимо проходи
А смотреть на трясущуюся картинку не иначе и эргономичней и информативней?
Так, меньшее зло.
Вроде у NVIDIA есть точно не помню о чём читал, что-то вроде если чего-то не хватает мы дорисуем. Вроде это относится к частоте кадров. Если низкая частота кадров мы дорисуем кадры до нужной частоты. Но, не точно. Уже в фильмах доделывают или переделывают, или снимают без живых людей. Токов прогресс который прёт. И что с этим будем делать? Кино без живых актёров? Да так дешевле. И кого-то это устроит.
Таков прогресс который прёт.
Когда речь идёт о том, чтобы сделать уже отснятое при удачных условиях, но слегка дефектное технически видео смотрибельным, все средства хороши. Во многих случаях кропом и даже смазом на одном кадре можно пренебречь - не голливуд же, с идеальной картинкой, да лажовыми сценариями. Заново переснять можно менее чем 1% случаев: обстоятельства, погода, нужные люди - всё, как правило, практически уникально.
В пакете ffmpeg есть неплохой vidstab, несколькими параметрами результат стабилизации регулируется хорошо.
Насколько знаю, эффект "желе" он так и не умеет исправлять. Как и большинство программных стабилизаторов вообще.
Да, он хорошо. Кроме двух случаев: движение на переднем плане (например, чья-то голова мелькнула); ведение объекта на переднем плане (например камера следует за проходящим мимо человеком).
Нейросети ещё не прикрутили?
для дорисовывания дырок, уменьшения размытия и т.п. ?
>для дорисовывания дырокДля вызывания трипофобии?
Зачем выдумывать кадры? Если что всё это умело делать OpenCV и с данными гиросков и без уже очень давно.
Чтобы не нужно было обрезать картинку и терять резкость, необходимо дорисовывать то, что не попало в кадр. Простые алгоритмы с этим справляются очень плохо.
Оно дорисовывает то, что ему кажется. А когда кажется, надо креститься. В общем, сами понимаете. Сейчас ИИ-хайп зашкаливает просто, но кто сам с ним работал, тот часто оказывается, мягко говоря, разочарован (хотя, спустя какое-то время, возвращается к нему находит ему довольно скромное применение).
Чтоб не уменьшать поле зрения
А под ARM соберётся?
Проще курице к голове смартфон прикрутить и так снимать.
Дороого выйдет. Грузоподъемность придётся дрону сильно поднимать. Да и не выживет она при маневрировании или аварийной посадке.
Отлично подойдёт для ремейка Братьев Фриков.
Крутое приложение! Работает шустро, аппаратное ускорение используется по полной, стабилизирует реально плавно.Итересно, насколько использование Rust в таких приложениях позволяет экономить время разработчика из-за отсутствия багов, приводящих к падениям?
https://github.com/gyroflow/gyroflow/issues?q=crash
https://github.com/gyroflow/gyroflow/issues?q=panic
"А вот если бы у рыб была шерсть, то были бы и блохи"
Рыбам шерсть заменяет чешуя, а вместо блох есть рачки-паразиты.
И? Я где-то спрашивал, исключает ли Rust падения полностью? Мне интересно мнение тех, кто пробовал разразбатывать полноценное приложение на Rust.
Хорошая попытка набросить, вот только не все креши из-за раста
Если пойти сверху вниз по закрытым крешам:https://github.com/gyroflow/gyroflow/issues/638
"malloc(): unsorted double linked list corrupted and this looks like some issue inside the GPU driver, VA-API or ffmpeg"https://github.com/gyroflow/gyroflow/issues/628
"This looks like a bug in either wayland or Qt, there's not much I can do in Gyroflow about it."https://github.com/gyroflow/gyroflow/issues/605
"That's a bug in ffmpeg, I reported it here"
Почему попытка набросить? Где я говорил что все креши из-за раста?> Если пойти сверху вниз по закрытым крешам
Ну поздравляю ты показал 3 примера, а остальные?
> "malloc(): unsorted double linked list corrupted and this looks like some issue inside the GPU driver, VA-API or ffmpeg"
В биндингах могли чего-то не учесть, даже более того, учитывая что раст не даёт изоляции, насрать в память могли случайно и из ансейф блоков где-то в сторонке, тем более в расте же без либси нельзя, а эта ошибка оттуда.
Пример: https://rustmagazine.github.io/rust_magazine_2021/chapter_7/...> "That's a bug in ffmpeg, I reported it here"
А где порт ffmpeg на раст? А как же RIIR?
Вопрос стоял
> насколько использование Rust [...] позволяет экономить время разработчика из-за отсутствия баговТ.е. логично кидать список всех крешей, правда?
Вместо того, чтобы поделиться списком тех крешей, причиной которых была кодовая база на расте.> Ну поздравляю ты показал 3 примера, а остальные?
Разумеется ниже по списку. Можешь пооткрывать их и посмотреть. А заодно и нам рассказать.
> раст не даёт изоляции
Вообще это кажется настолько очевидным, что разве есть смысл об этом писать?
В любом случае виноват тот код, который память испортил, а не тот который об нее споткнулся.> А где порт ffmpeg на раст?
Пока вроде нет, но все может случиться. Хотя я уже предвижу вой "зачем переписывать??"
> Т.е. логично кидать список всех крешей, правда?
> Вместо того, чтобы поделиться списком тех крешей, причиной которых была кодовая база на расте.А что я должен все креши за него обходить? Ему надо пусть ищет и делает выводы, моё дело направить.
> Разумеется ниже по списку. Можешь пооткрывать их и посмотреть. А заодно и нам рассказать.
Не, мне лень, а ты занимался черрипикингом.
> Вообще это кажется настолько очевидным, что разве есть смысл об этом писать?
Конечно, потому что евангелисты/фанаты внушают обратное.
> В любом случае виноват тот код, который память испортил, а не тот который об нее споткнулся.
Ну хоть в чём-то мы нашли общий язык.
> Пока вроде нет, но все может случиться. Хотя я уже предвижу вой "зачем переписывать??"
Вряд ли случится, так слишком много пастить придётся. Почему вой? Хотят писать на расте ради безопасности памяти, пусть пишут всё на расте, иначе получается что основную работу делает "небезопасный код" и в чём тогда преимущество раста? Ошибиться в тривиальной логике гораздо сложнее.
Какой ненавязчивый маркетинг раста, прямо умиление берет.
А по теме, развитие нейросетей в делает этот проект бесперспективным, как и множества аналогичных. Будет сервис с одной большой кнопкой "Сделать видео хорошо" и это уже не шутка как прежде, а самая настоящая реальность. Скорее всего первым такое будет от Apple, это в ее духе и к нейросетям они относятся серьезно.
Сегмент съемки видео и фото всегда останется. До сих пор есть народ, который снимает на плёнку. Когда снимаешь какой-нибудь лихой проход FPV-дроном, кайф не в том, что потом получаешь красивое видео, а в том, что сделал это ты сам. И кто-то другой, не факт, что даже приблизится к этому, потому как не умеет летать. Этот стабилизатор в первую очередь на этот сегмент рассчитан. И это совсем не то, что DJI со стабилизованным подвесом камеры, бытовые видео с которого, действительно, можно получить кнопкой "сделай красиво".
Этих стабилизаторов на этот сегмент целая гора, хоть платных, хоть бесплатных. Хоть с открытым, хоть с закрытым. Сабж человек сделал, просто потому что может.
Ну вот про гору не надо. Основная масса работает с оптическим потоком, а не с данными от акселерометров и гироскопов.
Нейросети тут могут быть полезны только для постобработки - удаления смаза от движения, эффекта параллакса, дорисовки того, что осталось за кадром. Непосредственно в самой стабилизации, где всё давно математически изучено, особенно при наличии данных о движении камеры, они бесполезны, ибо жрут кучу ресурсов там, где достаточно простых формул.Умиляет тут ваша паранойя. Вы путаете маркетинг и рекламу. Вам мерещится реклама везде, где она могла бы быть.
Какие-то невнятные оправдания вперемешку с оригинальными теориями насчет нейронных сетей, попробуй в следующий раз продвигать свой Раст как-то потоньше, а то выглядит смешно и по-детски.
Ни на сколько раст только мешает. Это всё равно что сделать что-то на Хаскеле потому что можешь.
Ну вот я вижу стабильное полноценное приложение на Rust с кучей функционала, написанное одним человеком, что воодушевляет. Поэтому и интересуюсь у тех, кто ещё пробовал. Вдруг я зря воодушевился? Насколько сложные приложения вы разрабатывали на Rust и C++?
>на языке Rust
>для интерфейса задействована библиотека QtЯ что-то пропустил?
А что удивляет? Биндингам Qt для раста сто лет в обед будет.
Или ожидали использование раст ui?
Десятка альтернативного ПО для стабилизации только с первой страницы поисковика1. VideoProc Converter
2. Windows Movie Maker
3. iMovie
4. Adobe Premiere Pro
5. DaVinci Resolve
6. VSDC
7. Shotcut
8. Virtualdub Deshaker
9. Sony Catalyst Browse
10. Adobe After Effectsи еще существует не менее нескольки десятков.
Т.е. например у Apple уже есть стабилизатор в iMovie, который бесплатен и стоит у каждого, кто работает с видео.
Уровень необходимости СРОЧНО ПЕРЕПИСАТЬ НА РАСТЕ можете оценить сами.
1, 2, 3, 4, 5, 6 - проприетарщина
7 - вы это серьёзно?
8 - проприетарщина с очень своеобразным интерфейсом, данные с датчиков не умеет, ускорение видеокартой не умеет
9, 10 - проприетарщина
Вот ещё можете опробовать: https://github.com/Efenstor/Rolling-Shutter-Video-Stabilization
5-й хоть и проприетарщина, но имеет бесплатную версию. Но без гироскопов. Чисто по картинке.
Толку-то от бесплатности в наше время. Сейчас проприетарный софт даже за деньги только арендуется, а не продаётся, как в доинтернетную эпоху. Ибо без активации он превращается в тыкву. А значит как только софт сдепрекейтят, вы со своими проектами окажетесь в интересном положении. По принципу "пользуйтся, но систему не переустанавливай". Да даже если и не сдепрекейтят, у вас банально может кончиться некое дозволенное количество активаций. Отсюда вывод: фьючерпруфны только кряки и опенсорс.
Ну зайдите хоть на сайт DaVinci Resolve. И бесплатная версия есть с некоторыми ограничениями по функциям, и полноценная платная без подписки. И даже вариант с активацией по флешке. Это же не Адобе какая-нибудь.
И всё равно будущее за всемирным краудфандингом для оперсорса, а не за корпрорациями.
Опенсорса ) Но прикольная описка получилась.
краудфандинг - очень нестабильная штука. Если я, например, хочу начать делать какой-нибудь opensource-продукт, 99% времени я буду над ним работать бесплатно. И дальше вопрос - как долго я смогу им заниматься, если параллельно я должен думать о том, где заработать деньги на жизнь. Раз в несколько лет я могу начать вспоминать, что помимо платной и бесплатной работы иногда у людей бывает личная жизнь и всё такое.... Так вот, с финансированием на подаяниях очень сложно построить план развития, если только нет какого-то параллельного источника финансирования, позволяющего работать над подобными проектами. Впрочем, если коммерческая компания все свои наработки выставляет в исходном коде, это вовсе не значит, что компания получает с них какие-то деньги. Она может жить на венчурное финансировании и надеждах инвесторов в том, что целиком со всеми своими наработками будет продана какой-то крупной корпорации. И вся эта красота с поддержкой будет продолжаться пока есть инвесторы, не спрашивающие о возврате инвестиций.
Для профессионала не стоит вопрос, проприетарщина или нет. Впрочем, я одобряю выбор программ с открытым исходным кодом, и такие есть с функцией стабилизации видео, используя данные с гироскопа:SmoothVideo Project (SVP) - программа с открытым исходным кодом на языке C++, используется для улучшения качества видео.
Blender - программа с открытым исходным кодом на языке Python, которая используется для создания 3D-анимации. Также имеет функции для стабилизации видео, используя данные с гироскопа.
OpenCV - библиотека компьютерного зрения с открытым исходным кодом на языке C++. О ней говорили в комментариях.
VidStab - библиотека стабилизации видео с открытым исходным кодом на языке C++. Она может быть использована в качестве плагина для видеоредакторов, таких как VirtualDub и FFmpeg, что для многих может быть удобно.
Avisynth - скриптовый язык на языке C++, который используется для обработки видео, выбор трушных хардкорщиков.
Как мы видим, недостатка в проектах, реализующих данную функцию, нет. Хотя существование альтернатив это всегда хорошо.
Зачем так оскорблять Blender? Он на C и C++ написан.
Судя по всему это ответ от чатгпт.
SmoothVideo Project (SVP) - проприетарная с закрытыми исходниками
Чем это лучше скриптов для Sony Vegas?