В дереве разработки FFmpeg появилась серия изменений, связанных с поддержкой аппаратно ускоренного декодирования Apple ProRes RAW. Речь идёт не об отдельном релизе, а о свежих коммитах в Git-ветке проекта, которые должны попасть в один из следующих выпусков мультимедийного фреймворка. FFmpeg — это набор библиотек и утилит для обработки аудио, видео, субтитров и сопутствующих метаданных; в его состав входят, в частности, libavcodec, libavformat, libavfilter, ffmpeg, ffplay и ffprobe.
Главное изменение — декодер ProRes RAW теперь доведён до состояния, которое разработчик Lynne описал как завершение обратной разработки декодера. В коммите prores_raw: synchronize decoder with reference implementation прямо указано, что он синхронизирует реализацию с эталонным поведением и применяет кривую линеаризации, добавленную предыдущим патчем. В коде также отражено, что декодер выдаёт линейные 16-битные данные, а коэффициенты и iDCT остаются 12-битными до применения кривой линеаризации.
Для пользователей Linux особенно важна связка с Vulkan: FFmpeg использует не только классические аппаратные видеоблоки, но и вычислительные шейдеры Vulkan Compute. Такой подход позволяет ускорять профессиональные кодеки на обычных GPU без привязки к специализированному блоку декодирования конкретного формата. В блоге Khronos Lynne объяснял, что Vulkan Compute в FFmpeg дополняет Vulkan Video и закрывает случаи, где фиксированные аппаратные кодеки не помогают.
ProRes RAW — это формат Apple для записи «сырых» данных с сенсора камеры с сохранением высокого качества и цветовой информации. По данным Phoronix, с ним работают некоторые камеры Sony, LUMIX и Nikon, а также новые iPhone. Ранее FFmpeg уже получил ускорение ProRes через Vulkan-шейдеры, а теперь эта работа распространена и на ProRes RAW.
Технически реализация продолжает линию развития Vulkan-инфраструктуры FFmpeg. Ещё в 2025 году в проект был добавлен ProRes RAW Vulkan hwaccel: патч поддерживал потоки версии 0 и 1, а обработка была распараллелена с запуском 512 вычислительных инвокаций на тайл. В опубликованном тогда тесте для 5,8K RAW HQ файла приводились результаты: Radeon RX 6900 XT — 63 кадра/с, Radeon RX 7900 XTX — 84 кадра/с, RTX 6000 Ada — 120 кадра/с, Intel GPU — 9 кадра/с.
Свежая серия изменений показывает, что разработчики не просто добавили быстрый путь декодирования, а продолжают приводить реализацию к корректному поведению. В частности, синхронизация с эталонной реализацией затронула сам декодер, парсер, DSP-код ProRes и Vulkan-часть. Это важно для формата RAW, где ошибка в трактовке кривых, битности или цветопередачи может привести не только к артефактам, но и к ошибкам на этапе цветокоррекции.
Отдельно в FFmpeg добавлена поддержка ProRes RAW VideoToolbox hwaccel для платформ Apple. Соответствующий коммит вносит запись в Changelog, добавляет зависимости в configure и регистрирует новый аппаратный ускоритель рядом с уже существующим ProRes RAW Vulkan hwaccel.
Итог для пользователей: FFmpeg постепенно получает более полноценную поддержку ProRes RAW сразу по двум направлениям — через Vulkan для переносимого GPU-ускорения и через VideoToolbox для экосистемы Apple. Для Linux это особенно заметный шаг, поскольку работа с профессиональными RAW-материалами традиционно была областью дорогих проприетарных решений и тяжёлой CPU-обработки.
Содержание
Кэширование — ключевой механизм оптимизации производительности веб-приложений, позволяющий снизить задержки и уменьшить нагрузку на серверы. В этой подробной статье рассмотрим пять основных уровней кэширования, применимых в современных веб-системах. Ты узнаешь о внутреннем и внешнем кэше, кэшировании на уровне reverse proxy, браузера и фронтенда.
Статья будет полезна как начинающим, так и опытным разработчикам, которым интересно углубить понимание кэширования и повысить эффективность своих проектов.
Читать далееИз новостей: продажи Subnautica 2 достигли двух миллионов копий, авторы Indika привлекли 5 миллионов долларов, Windrose продалась тиражом в 2 миллиона копий, продажи Mouse: P.I. for Hire превысили 730к копий.
Из интересностей: как выбрать движок для своей игры, документалка об оригинальной версии Uncharted 4, как Rockstar удалось уместить целый город в память PlayStation 2, почему Unreal доминирует.
Читать далееИногда значение меняется на эквивалентное. И здесь существуют разные подходы к отсечению вырожденных вычислений…
Глубоко погрузиться в темуХабр, привет! Меня зовут Борис Денисенко. Я мобильный разработчик и наставник на курсе «Android-разработчик» в Яндекс Практикуме. У себя в блоге я пишу про Android Automotive OS, но сегодня отойду от частностей и расскажу, в каких ещё сферах может работать мобильный разработчик, если он не занимается приложениями для смартфонов и планшетов.
Читать далееСтроить Wi-Fi сети в современных домах и офисах - то еще удовольствие. Очень много написано про пересечение каналов, зашумленность эфира и нередко делают сравнение по дальности 2,4 vs 5 ГГц.
Однако есть еще одна характеристика, которая напрямую влияет на сигнал. Это конфигурация пространства. И вот ей уделяют куда меньше внимания. А зря.
Из чего сделаны стены и окна в нашем помещении? Это бетон, пеноблок или дерево? А стекла обычные или металлизированные? А есть ли дополнительные факторы, вроде повышенной влажности? Давайте разберемся, как все это влияет на работу Wi-Fi. Я постарался написать статью максимально простым языком для широкого круга читателей, объясняя все используемые специфичные термины. Поехали!
Читать далееВ этой статье я расскажу, как попробовал дешевую альтернативу Claude, создал рабочую программу для macOS и вместо 13$ - потратил 0.25$
Читать далееЛюди в среднем не умеют проводить встречи. Меня это дико бесило, когда я впервые столкнулся с качеством принятия решений на родительских собраниях. Оно близко к отрицательному.
Мы тут писали транскрибатор встреч — это когда можно загрузить запись в трекер и получить список задач на выходе.
За время тестов мы узнали, что про архитектуру встречи вообще никто не думает, а чтобы у неё было продолжение — ну там, следующие шаги, ответственные, сроки и задачи на выходе — это вообще необязательно.
Коротко основное, что может показаться вам странным:
— Встреча без повестки — можно не начинать. Для чего встреча? Что мы делаем? Информируем? Генерим идеи? Принимаем решение? Это разные типы встреч.
— Встреча без решений, следующих шагов, ответственных и сроков — впустую.
— Легко перепутать постановку проблемы с поиском решения. Самая частая ошибка.
— Встреча ради встречи не работает. У неё должен быть осязаемый результат: заполненный бриф, принятое архитектурное решение, список задач.
— Есть понятие «социальная леность» (эффект Рингельмана) — чем больше людей в группе, тем меньше усилий прилагает каждый. В конце все кивают, кажется, что договорились, только конкретики нет. Включается диффузия ответственности. Каждый уверен, что задачу пойдёт делать кто-то другой. Итог: через неделю выясняется, что не сделано ничего.
— Теоретический парадокс: чем сложнее вопрос, тем меньше времени группа его обсуждает, и наоборот. Команда собирается обсудить смену архитектуры серверов и дизайн новой формы.
— За время тестов мы поняли главное: заставить людей соблюдать эту гигиену практически невозможно.
Но хотя бы давайте расскажу про основные методологические выводы.
Читать далееСписки, которые мы реализовывали до сих пор нельзя назвать настоящими функциональными списками потому что настоящий функциональный список должен быть устойчивым.
Это значит, что если у вас есть несколько ссылок на разные узлы списка, добавление новых голов их не затронет. Похожим образом работает git. Вы можете дописывать изменения к истории проекта, при этом все прежние действия с файлами остаются на месте и доступны в любой момент.
Можно ли написать на Rust устойчивый список? Думаю, вы уже догадались, что да. А как — узнаете из третьей части перевода Too Many Linked Lists.
Читать далееПочти каждый сервис, который мы сегодня пишем, ходит куда-то наружу — платёжный шлюз, биллинг, чужой публичный API. И каждый раз, когда садимся писать тесты на этот код, упираемся в один и тот же вопрос: как протестировать клиента, не привлекая внимания санитаров выходя в реальный мир?
Эта статья про то, как выбирать инструмент под эту задачу. Не абстрактно — на одном маленьком, но гордом настоящем сервисе catfact-demo-service, в tests/ которого рядом лежат пять способов протестировать одну и ту же интеграцию. К концу мы их сравним и аргументированно выберем тот, который оставили бы в production-проекте.
Читать далееПривет! На связи Илья Савин, ведущий аналитик департамента защиты от цифровых рисков (Digital Risk Protection) компании F6, и сегодня я расскажу об одной из самых коварных и массовых мошеннических схем, которую киберпреступники применяют для угона учётных записей Roblox. Фишинговая схема с сайтами, которые действуют под выдуманным брендом BloxTools, используется против геймеров в России и других странах.
Читать далееТема менторства в IT давно превратилась в культ. Принято считать, что ментор нужен каждому. Что без ментора карьера не строится. Этим козыряют на собеседованиях. «У нас ты получишь ментора». Джун покупается, потому что ему страшно, он хочет поддержки. А через месяц выясняется, что ментор это просто уставший сеньор, которому тебя назначили приказом. И вместо поддержки ты получаешь часовые созвоны с разговорами ни о чём.
Признать, что менторство не работает, опасно. Слишком много людей поставили на эту карту свою экспертность, свои программы, свои KPI. Реальность упрямая. Подавляющее большинство менторских взаимодействий это пустая трата времени. Иногда безвредная. Чаще вредная.
Читать далееМодель может показывать 95–99% accuracy и при этом не решать задачу: особенно если редкий класс важнее всего для бизнеса. В статье разбираем, почему accuracy ломается на несбалансированных данных, как читать precision, recall и F1, зачем смотреть PR‑кривую и confusion matrix, а также как подбирать порог классификации с учетом стоимости ошибок.
Понять ошибкиВ прошлом году я работал над эксплойтом для консоли Xbox 360 (который позже превратился в столь ожидавшийся программный мод), и мне оказалось нужно найти способ модификации прошивки HDD, чтобы обеспечить эксплойт состояние гонки. Для этого я начал пытаться модифицировать прошивки HDD и SSD разных брендов, которые у меня имелись. В этой серии постов я опишу всю проделанную мной работу, в том числе дампинг и анализ прошивки, интерактивную отладку HDD при помощи JTAG, модификацию прошивки накопителя, а также применение ИИ для анализа и идентификации неизвестной архитектуры микроконтроллеров.
В этом первом посте я расскажу о дампинге, анализе и модификации прошивок HDD. Вся работа выполнялась без помощи ИИ. В следующем посте я опишу, как использовал ИИ для выполнения похожей работы с другими HDD/SSD, а также для реверс-инжиниринга «чёрного ящика» неизвестной архитектуры набора команд, предоставив Claude доступ для отладки моего жёсткого диска.
Читать далееAppend-only — целебная пилюля для ClickHouse, без которой он скорее обуза, нежели буст для бизнеса. Разберем что это, и как этим пользоваться.
Читать далееВ этой статье о том, как мы с командой внедряли ИИ-агента в работу медицинского пульта страховой компании. Задача была не просто «поиграть с нейросетями», а реально встроить LLM в процесс, где цена ошибки очень высока: на линии находится клиент – застрахованный человек, который хочет быстро решить свою проблему, а мы стремимся оказать высокий уровень сервиса. Оператор должен быстро понять его проблему, корректно внести данные и не потерять важный медицинский контекст с помощью ИИ.
Читать далееМы попытались построить MCP-сервер, который сам читает спеки, пишет автотесты и коммитит код. На практике выяснилось, что токены — не главная проблема, а QA — это не «делатели тестов», а носители контекста и ответственности.
Читать далееКаждый, кто пишет Telegram‑ботов на Node.js / TypeScript, знает про библиотеку Telegraf.js. Это был стандарт индустрии. Ключевое слово — «был». Оригинальный репозиторий фактически заброшен майнтейнерами, пулл‑реквесты годами висят без ответа, а сам фреймворк застрял в прошлом.
Пока Telegram один за другим выкатывает масштабные апдейты (Звёзды, Подарки, Бизнес‑аккаунты, Улучшенные медиа), официальный Telegraf не поддерживает ничего из этого.
Мне надоело смотреть на падающие в продакшене боты и городить костыли, поэтому я создал форк — telegraf‑hardened. На прошлой неделе мы выпустили мажорный релиз v6.0.0. Рассказываю, как под капотом устроена обновленная либа.
Читать далееВозможно вы уже знаете, что в чарт «Яндекс Музыки» залетают треки, сгенерированные ИИ. Например, перепевка стихотворения Есенина «Сыпь, гармоника», которая сейчас на 16 месте чарта. Или трек «Ярмарка судеб» исполнителя Alena, который был даже спет в эфире телеканала Россия 1.
Мне нравились алгоритмы «Яндекс Музыки». Благодаря им в своё время я открыл много малоизвестных артистов, которых слушаю до сих пор. Но с появлением Suno, Lyria, Udio, алгоритмами рекомендаций Яндекса пользоваться стало невозможно. Мне то и дело подсовывались низкокачественные ИИ-треки.
В какой-то момент меня это достало. Я провёл своё расследование и получил неутешительные результаты. В базе «Яндекс Музыки» сейчас как минимум 140 тысяч ИИ-исполнителей. Ежемесячно они загружают больше 100 тысяч ИИ-треков, что составляет примерно 40% от всех загружаемых треков. А каждый 10-й трек в чарте – сгенерирован ИИ. И «Яндекс» ничего с этим не делает.
Читать результаты расследованияИз всех модных книжек про будущее ИИ я больше всего люблю «Сумму технологии». 1964 год, Лем сидит и пишет про гомеостаты, цереброматику, имитологические машины. Через тридцать лет родится WWW. Через пятьдесят — БЯМы. Лем про это уже знал. Не знал, но видел.
Я её перечитываю каждый год с 2017-го, когда пришёл в серьёзный deep learning — в G42 Institute of Artificial Intelligence в Абу-Даби. Тогда я запускал датацентры, набитые «золотыми» DGX — золотыми и по дизайну, и по цене, как будто специально спроектированными для ОАЭ — и смотрел, как наивные LSTM-чатботы пытаются связать пять слов подряд. Казалось дорогой игрушкой. Потом громыхнули свёрточные сети, и YOLOv3 стала видеть лучше человека. Потом громыхнули трансформеры. Потом GPT-2. Потом всё остальное.
И, как сейчас модно говорить, вы находитесь здесь.
Каждый раз, когда я перечитываю «Сумму», я с Лемом спорю. И каждый год — о разном. Первый год спорил о масштабе: казалось, он слишком далеко загнался, слишком цивилизационно, мы тут с YOLO разбираемся, какая там цереброматика. Второй год — спорил о темпе: казалось, он недооценил, как быстро. Третий — о темпе, но в другую сторону: казалось, переоценил. К 2026-му я уже понимаю, что Лем спорить со мной не будет.
Читать далее