Обновить
128K+

Работа с видео *

Все о создании и обработке видео

83,84
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Пишем терабайты видео на диск в Go и не даем ОС сожрать всю память

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.2K

Выкатили мы первый релиз в прод (100 камер), обрадовали клиентов, начали работать. Прошел где-то час, полетели алерты. Залезаю на сервак, смотрю htop – а там свободно 100 метров ОЗУ. Пу-пу-пу-пу. Нужно внести уточнение что боевой сервер имел 32 гига озу. Ожидаемое поведение было то что процессор отдыхает, сетевуха переваривает трафик, озу 250-300 МБ, диски нагружены не сильно. Так что, когда видишь такие цифры в htop, начинаешь винить себя и свои кривые руки, написавшие это "Г". Но все же решили пойти в Гугл, чатгпт и тому подобное. Благо, ответ нашелся быстро, и посыпать голову пеплом перестали.

Код оказался не вообще не причем, память сожрал сам Линукс. Если когда-нибудь вы писали тонны данных на диск, я думаю вы уже поняли в чем дело. Есть такой «невидимый враг» как страничный кэш (Page Cache). Вот именно он и был корнем этой проблемы.

Как работает страничный кеш и что с ним делать?

Когда ваша функция, которая должна писать данные на диск пишет данные, на самом деле она не пишет их на диск. Она пишет их в ОЗУ. Логика ядра Линукса проста и банальна, и она направленна на ускорение «отзывчивости» системы, всю суть можно объяснить так: «О, только что записали сотню гигабайт данных, наверное, скоро понадобится эти данные прочитать. Оставлю-ка я их в кеше, пользователь будет рад что так быстро смог их прочитать.» И так гигабайт за гигабайтом, пока в сервере не кончится физическая память.

Типичное решение проблемы – пишем скрипт, который раз в час делает echo 3 > /proc/sys/vm/drop_caches. Ну а кто-то просто забивает и позволяет системе убивать случайные процессы через OOM Killer. Но мы же пишем отказоустойчивую штуку. Нам такое не подходит. Задача объяснить ядру ОС, что наши fMP4 сегменты видеоархива — это write-only мусор на небольшое количество времени (т.к если клиент не хочет долго хранить записи, то архив чистится, а если хочет – мы отправляем архив после N времени хранения в S3, а локальную копию тоже чистим). Так что все должно работать по принципу – записал и забыл.

Читать далее

Новости

Как добиться 8 Гбит/с видеотрафика на одном ядре CPU в Go

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.7K

Предисловие

Есть небольшой побочный профиль, которым я занимаюсь – ретрансляция сырых потоков RTSP, в HLS. По сути задача простая, чтобы любой простой юзер мог увидеть картинку со своих камер, не пользуясь проприетарным облачным ПО от производителя камер. Во-первых, это много денег, т.к многие клиенты хотят хранить достаточно долго записи с камер. Во-вторых, почти у всех производителей камер разное ПО, и это тупо не удобно иметь 10 разных приложений и/или порталов, где это все можно посмотреть. Ну и в-третьих мало где есть интеграции с ИИ (что для моих клиентов, критически важно). Даже если эта интеграция есть, она либо узкоспециализирована, либо опять-таки проприетарна, либо стоит много денег, а иногда и все это вместе. Решение - использование сырых RTSP потоков, их поддерживают и отдают 90% всех камер на рынке.

Так вот, схема была достаточно проста: несколько камер, простой бэк, выдаем на едином ресурсе для клиентов картинку по HLS, используя плеер hls.js. Всех все устраивало, всем все нравилось. Быстро, просто, удобно и не дорого. Тесты работали идеально, клиенты довольны. С каждым был чат, куда выдавали ссылку на просмотр, а также был общий чат со всеми клиентами – где обсуждались вопросы подключения, финансовые ну и прочее. И вот настает момент Х, кто-то по ошибке скидывает в общий чат ссылку…и конец. По ссылке кликнул видимо весь чат, 3 минуты, полетели алерты в боте, алярм, ахтунг, тревога. Смотрим железо, сервер в ауте, ООМ, все потоки отвалились. Через 20 минут чат разрывался от гневных сообщений, о неработоспособности у всех. Занавес.

Читать далее

Как собрать «живую луну» из 500 000 точек в TouchDesigner

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.2K

TouchDesigner позволяет собирать сложные генеративные эффекты из небольшой сети операторов. В этом туториале создадим «живую луну» из 500 000 точек, поверхность которой непрерывно деформируется процедурным шумом.

Основной эффект строится на связке Point Generator POP, Feedback POP, Noise POP и Math POP. Шум смещает частицы, а нормализация каждый кадр возвращает их на поверхность сферы. Благодаря обратной связи деформация превращается в непрерывное движение.

После настройки POP-системы подготовим рендер через Geometry COMP, добавим шлейф с помощью Feedback TOP и завершим изображение свечением через Bloom TOP. В статье приведены схема сети, параметры операторов, скриншоты всех основных этапов и варианты дальнейшего развития эффекта — от аудиореактивности до управления через MIDI.

Читать далее

MiniMax H3: нейронка, которая сама себе режиссёр, звукарь и монтажёр

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели7.6K

Есть такой тип новостей – после которых ты просто закрываешь ноутбук и минуту тупишь в стену. Вот у меня так случилось пару дней назад, когда я добрался до демок MiniMax H3. И нет, не потому что “о боже, ещё одна видеомодель” – их сейчас штампуют как флагманские смартфоны. А потому что H3 упорно отказывается вести себя как обычная видюха.

Обычно у таких генераторов фокус один: текст → видео, ну или картинка → видео, максимум монтаж отдельным сервисом прикрутят. А тут прям с порога плюют на границы – между “сгенерировать” и “отредачить”, между “картинкой” и “звуком”. Кидаешь ей шесть референсных изображений, ролик-образец для тайминга монтажа и одно предложение текста – она выдаёт 15-секундный клип, смонтированный именно так, как в примере. Просунул зелёный экран с актёром – уберёт хромакей, подставит сказочный лес и перестроит освещение под новую сцену.

Разрабы формулируют красиво: H3 – «шаг к более общему мультимодальному интеллекту», а все эти специализированные модельки под конкретную задачу они прямо называют «лишней сложностью». Вместо зоопарка узких инструментов – один трансформер, который смотрит на текст, картинки, видео и аудио как на единый контекст. Спорно? Ну… отчасти да.

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

Читать далее

Свет, камера, IDKFA!: как мы снимали первый российский фильм о реверс-инжиниринге

Время на прочтение13 мин
Охват и читатели12K

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

В 2001 году российского программиста Дмитрия Склярова арестовали в США по обвинению в нарушении DMCA — американского закона об авторском праве в цифровую эпоху. Скляров участвовал в создании программы Advanced eBook Processor: она позволяла сделать копию легально купленной электронной книги в формате PDF. На конференции DEF CON в Лас-Вегасе он рассказал о недостатках защиты Adobe, после чего был арестован. Скляров стал первым физическим лицом, которому предъявили уголовное обвинение по DMCA — хотя красть он ничего не собирался.

Постепенно вокруг реверса цифровых технологий стали формироваться правила, а сам он из вольного увлечения небольшой группы энтузиастов превратился в серьезное исследовательское направление. Как выглядел путь от обычного любопытства до профессии, рассказывает первое в России кино об обратной разработке «Как получить доступ ко всему: реверс-инжиниринг». За несколько месяцев фильм посмотрели более миллиона человек. 

Кстати, кинопремьеру мы также сделали в духе реверса. Из забавного у нас был пивной кран, который не нальет ни капли, пока ты не крякнешь простенькую сrack-me-программу. Она просила пароль и молча проверяла, верный он или нет. Правильного пароля никто не давал, зато сам файл был открыт, его можно было разобрать и понять, по какому правилу программа отличает верный ответ от неверного. Вычислили правило, получили пароль — и вот ты уже в некотором роде реверс-инженер, наслаждающийся вкусом пенного.

Читать далее

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

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.4K

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

Чтобы обновить одно видео, надо открыть OBS, поднять чистый профиль браузера — иначе в кадр лезут закладки и всплывашки. Потом записать дубль, в котором ты ни разу не промахнулся мышкой. Потом порезать в редакторе, наложить подписи. На семь видео уходит день. Через два месяца — опять день.

Предсказуемо, видео перестали обновлять. Тогда я написал штуку, которая собирает ролик из текстового файла.

Читать далее

Как рационально разделить длину раскадровки | Практическое руководство по созданию раскадровки с помощью Viddo AI

Время на прочтение12 мин
Охват и читатели4.8K

Как научно рассчитать продолжительность каждого кадра при создании коротких видеороликов с помощью Viddo AI? В этой статье представлена ​​полная методология разделения продолжительности кадров, 5 типов шаблонов контента и многоразовый пример подсказки.

При создании коротких видеороликов с помощью Viddo AI вам нужно всего лишь ввести текстовое описание (подсказку), и ИИ автоматически сгенерирует визуальный ряд. Однако многие создатели упускают из виду важный вопрос: какой должна быть продолжительность каждого кадра?

Слишком длинные кадры заставят зрителей прокручивать страницу; слишком короткие кадры не смогут эффективно передать информацию. В этой статье мы расскажем вам о полной методологии разбиения длины кадров, которая поможет вам создавать короткие видеоролики с точным темпом с помощью Viddo AI.

Читать далее

Picture-in-Picture в iOS: от запуска до переключения контента

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.5K

С системной функцией Picture-in-Picture (PiP) сталкивались, пожалуй, все владельцы iPhone: кто-то смотрит видео на фоне переписки, кто-то общается по видеосвязи в любимых мессенджерах. Для пользователя это просто удобство, а для разработчика видеосервиса — отдельный механизм со своей инфраструктурой, жизненным циклом и набором ограничений. В этой статье я разберу интеграцию PiP как встроенного плеера: от первого запуска до переключения контента. Поделюсь нюансами, с которыми вы точно столкнётесь на практике, и покажу, как обойти типовые грабли.

Читать далее

Kandinsky WM 1.0: генеративные модели для Physical AI

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели9.6K

В конце прошлого года мы представили семейство моделей генерации изображений и видео Kandinsky 5.0. Флагманская модель Kandinsky 5.0 Video Pro заняла и долгое время удерживала первое место среди open-source-моделей в категории text-to-video на arena.ai. Сегодня мы выкладываем в открытый доступ Kandinsky WM 1.0, набор из трех специализированных моделей генерации видео для доменов Physical AI: автомобильные сценарии, робототехника и сцены со сложной физикой.

Читать далее

Shorts Maker v2: как я превратил AI-генератор видео в возобновляемый production pipeline на Python

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели10K

Как превратить работающий AI-прототип в надёжный production pipeline? Разбираю архитектуру Shorts Maker v2 — генератора коротких видео на Python с DDD, возобновлением после сбоев, checkpoint’ами после каждой сцены, ограниченной конкурентностью и заменяемыми AI-провайдерами

Читать далее

Почему выбрать денойзер сложнее, чем написать свой

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели14K

Устранение шума на видео с плёнки — тема объёмная, и эта индустрия меня не на шутку увлекла. Немногим раньше я даже обучил свой собственный компактный «устранитель шума Archivist» для плёнки, не найдя существующих альтернатив.

Но такой путь самурая оказался жесток — 2 месяца потраченного времени и сотни сожжённых часов работы ГПУ. Повторять — чересчур даже для меня, при всей любви к многомесячным проектам :). С того момента я ещё тщательнее пригляделся к доступному рядовому пользователю арсеналу.

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

Всего у нас 6 участников: 5 отобранных нейросетей, 1 ручной алгоритмический ветеран индустрии + 1 потенциальный король новой эры.

Читать далее

Как я создаю видео по сториборду

Время на прочтение13 мин
Охват и читатели8.8K

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

Читать далее

Шлём своё видео через чужое радио или реверс инжиниринг BETAFPV P1 Air Unit

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели16K

На рынке цифровых FPV-видеосистем внезапно появилась куча «новых» брендов — BetaFPV, HGLRC и другие. Вот только стоит вскрыть их модный HD-юнит, и выясняется кое-что любопытное про то, что скрывается под крышкой у всех сразу.

Я взял один такой и решил дойти до самого дна: рут-консоль, пароль, аппаратный энкодер и вопрос, который не давал покоя — а можно ли заставить FPV-очки показать то, чего камера никогда не видела?

Читать далее

Ближайшие события

Система виновата всегда — даже когда она еще не включена

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.7K

 

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

 Под катом — три рассказа о внедрении, три типовых истории из жизни.

Читать далее

Модель адаптивного стриминга или — как читать уравнения в программирование 2026, скриншоты

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели15K

Здравствуйте, что-бы разобраться c уравнениями, нужно примерно понимать что это не новость а статья.

Читать далее

Собрала AI-пайплайн для Reels один раз — дальше просто меняю картинки

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.5K

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

Читать далее

Kadr: видеоредактор, в котором Claude Code монтирует рядом с тобой

Время на прочтение8 мин
Охват и читатели9.4K

Kadr: видеоредактор, в котором Claude Code монтирует рядом с тобой

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

Читать далее

Поиск по короткому аудио фрагменту

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.9K

Рад всех приветствовать, тема на мой взгляд очень интересная! Приступим?

Постановка задачи

Есть короткая аудио запись продолжительностью от 3 до 6 секунд. Требуется найти: откуда она?

Читать далее

Про то, как я оцифровал себя без ИИ, чтобы стать видеоблогером

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели15K

История про то, как я сделал себе виртуального аватара для коротких видео — без генерации видео через ИИ.

Задача была простая: превратить свои текстовые заметки в вертикальные ролики, не садиться перед камерой и не тратить день на монтаж каждого выпуска.

В итоге получилась самодельная полуавтоматическая DIY‑система:

— универсальные графические ассеты персонажа
— ручная озвучка моим голосом
— разметка фраз в аудио через Audacity
— текстовый сценарий с управляющими тегами для событий в ролике
— кастомный JSX‑плагин для After Effects

Система берёт сценарий с управляющими тегами, аудиодорожку с голосом и файл разметки, после чего собирает заготовку ролика: аватар, липсинк, мимику, субтитры и слайды.

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

В конце — немного статистики по первым трём роликам, запущенным с нулевых аккаунтов: YouTube, Instagram, TikTok и ВК.

Читать далее

Видеомонтаж в blender, бесплатный и надёжный

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели14K

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

Читать далее
1
23 ...