Страдания юного видеоинженера
1.77K subscribers
71 photos
4 videos
2 files
107 links
Новости технологий видео и стриминга
Download Telegram
WebCodecs: как используете?

На конференциях периодически слышу вопрос «Используете ли вы WebCodecs для стриминга, когда нет хардварных кодеков?»

Оно и понятно, технология новая и интересная. Есть демки (раз и два), которые показывают видео через WebCodecs. Существует мнение, что это просто демонстрация возможностей технологии, которыми на практике никто не пользуется. Формат видео mp4 + h264 покрывает 98% пользователей. Остальным 2% соболезную

Для чего же тогда нужны WebCodecs? В голову приходят несколько способов использования:
- шаринг экрана в звонке. Подробнее можно глянуть в докладе Коли Васильчука.
- замена фона в звонке (об этом Коля рассказывал на VideoTech этого года).
- покадровая перемотка для редактирования видео (этот кейс упоминался в докладе Exploring Video Editing in the Browser на Demuxed 2023).
- предпросмотр результата редактирования при применении EDL (Edit decision list) к видео. Подробнее в докладе Puppeteer + <canvas> + WebCodecs to replace ffmpeg на Demuxed 2021.

Получается, что на практике WebCodecs используются для редактирования видео в браузере и для сжатия изображения, создаваемого в браузере, а не для простого стриминга.

Расскажите, используете ли вы WebCodecs? И если используете, то для чего?
🔥7👍6
A story of an unknown low-tier device and its MSE issues

Алексей Березин из DAZN делится особенностями работы с MSE в плеерах на low-end устройствах (смарт-тв и сет-топ боксах)
blog.beraliv.dev/2023-12-21-story-of-unknown-low-tier-device-and-its-mse-issues-lvt-notes
🔥11👨‍💻64
Дорогие читатели! Поздравляем вас с наступающим или уже наступившим 2024 годом!

Желаем, чтобы ваши видео-сервисы всегда работали так, как вы этого хотите!
🍾3410🎄95🕊2🤝1
Видео — это вам не фото: о чём нужно знать разработчикам видеостриминговых сервисов

Антон Кортунов из Yandex Infrastructure опубликовал статью об оценке качества видео, и о том, как на него влияет синхронизация аудио и видео дорожек, параметры съёмки и FPS.
habr.com/ru/companies/yandex_cloud_and_infra/articles/783604
👀13🔥52👨‍💻2👍1
Конкурс Telegram для видеоинженеров

Пока мы постепенно вкатываемся в работу, Telegram объявил конкурс на поддержку прямых трансляций в их клиенте Telegram Web K.

На кону 30000$. Нужно в очень жёсткие сроки (до 21 января) не просто реализовать лайвы, но и обойти баг Chromium.

Chromium игнорирует дополнительные данные в AAC. Из-за чего в некоторых случаях браузер распознает стереозвук, как моно и неправильно инициализирует декодеры. Эта проблема решается заданием количества каналов в mime type в MSE, но порождает неконсистентность.

Время брать отпуск. Как говорится, 30000 баксов — это 30000 баксов.
🔥15🤪6🤡3🤔2👀21🤓1
"Запуск завтра" – mp3. Как мы научились сжимать музыку

В подкасте Самата Галимова вышел классный выпуск про историю формата mp3, который стал основой всей современной индустрии стриминга. Самат рассказывает про то, как устроен mp3, и как появление стандарта повлияло на дальнейшее развитие технологий.

Это мы слушаем.
🔥14👍7😎3🥴1
Demuxed 2023

Все доклады с Demuxed 2023 уже доступны на YouTube. Вот подборка выступлений, которые нам понравились:

1. Pieter-Jan Speelmans - Stories from the trenches: debugging video issues from a client’s perspective 

Theo продаёт плеер как сервис, умеющий практически всё. Интересно узнать о диагностике проблем воспроизведения видео, когда есть возможность влиять только на один блок сложного пайплайна видеохостинга, на плеер.

Питр-Ян рассказал, что
- аналитические дашборды дают ложное чувство контроля.
- событий Play, Pause и Buffering достаточно для QoE. Однако для глубокой диагностики нужны ещё и события добавления чанков в буфер, данные о сети, буфере, pts и других параметрах, которые можно собирать опционально, активируя логирование по мере необходимости.

Ссылка на доклад.

2. Shravya Kunamalla - Using application informed pacing to be a friendly internet neighbor

Netflix представил Sammy — схему работы ABR и rate control, решающую проблему конкуренции нескольких устройств за пропускную способность сети. Скачкообразность потребления трафика (traffic burstiness) плеером вызывает накопление буфера роутера, что увеличивает задержки (RTT и потерю пакетов).

Sammy уменьшает скачкообразность потребления трафика путем задания скорости, с которой плеер хочет получать данные от сервера. Алгоритм ABR выбирает эту скорость, основываясь на QoE.

Идея алгоритма Sammy напоминает BBR (Bottleneck Bandwidth and Round Trip Time).

Ссылка на доклад.

3. Guillem Cabrera - Implementing HLS/DASH Content Steering at Scale

Гильермо Кабрера рассказал о сложностях и компромиссах обычной cloud-based реализации Content Steering. Например, стандартный TTL, равный 300с, оптимален для балансировки CDN, но большой для оптимизации QoE.

Brightcove предлагает перенести Steering Manifest на edge-сервера, делится возможной архитектурой и примером реализации.

Ссылка на доклад.

Смотрели Demuxed? Поделитесь, что вас заинтересовало.
👨‍💻97🔥5👍4🤔1
#подкаст

SRT и CDN — это любовь? Посмотрим, как считает рынок

Возвращаем вещание VideoTech Podcast. Мы пригласили разработчика видеостримингов Максима Лапшина, чтобы обсудить протокол SRT и перспективы развития транскодинга.

В этом выпуске — всё об отношениях с видеотехнологиями:

— Совместимость: какие протоколы любят телевизионщики, а какие — интернетчики.

— Созависимость: как старые привычки инженеров множат неэффективные практики.

— Запасные варианты: а что там с RTMP и WebRTC?

— Муки выбора: нехватка железа для транскодинга и трейдоффы FPGA.

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

Ведущий выпуска — Игорь Шеко, WebRTC-энтузиаст, работает в Yandex Infrastructure с realtime-видео.

Смотрите выпуск на YouTube 14 февраля в 15:00 по Москве.

Подкаст на других платформах:
Apple Podcasts
Яндекс Музыка
Вконтакте
🔥164👍3👏2
Media is too big
VIEW IN TELEGRAM
OpenAI показали превью AI-модели генерации видео Sora.

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

OpenAI еще не открыли модель для публичного доступа – в первую очередь планируется выпустить детектор, который будет определять, было ли видео сгенерировано Sora.
🔥16🤡3🤔2🤯1🤓1
HTTP Live Streaming Tools for CentOS Linux 7

Оказывается, еще в декабре прошлого года Apple снизошла до простых смертных и выпустила пакет утилит HTTP Live Streaming Tools для Linux. Ранее он был доступен только для Mac OS.

HTTP Live Streaming Tools – это набор утилит для подготовки HLS потоков (сегментатор видео/субтитров, генератор плейлистов). Самая полезная утилита без хороших аналогов – mediastreamvalidator – позволяет проверить готовый HLS-плейлист на соответствие спецификации и заранее отловить большое количество потенциальных проблем.

Загрузка пакета доступна на девелоперском портале Apple. Редистрибутить пакет лицензия Apple запрещает. Сборки сейчас доступны только под CentOS, Debian/Ubuntu почему-то не завезли, но спасибо и на этом.
🔥16👍3🤡32
На этой неделе, 20 марта, пройдет бесплатное online событие RTC@Scale - событие для всех кто строит свои решения для RTC видео и аудио комуникаций. Это одно из основных событий по темам WebRTC, кодеков для него и качеству сигнала на онлайн мероприятиях.

В целом, событие в этом году посвещено работе со сложными сетевыми условиями (такими как: плохая сеть, звонки на большие дистанции) и немного AV1.

Особого внимания, на мой взгляд, в этом году достойны вытупления Sean Dubois, создателя PION и доклад разработчиков из одной социальной сети про AI BWE
Ну и отдельно стоит посмотреть выступление Tsahi Levent-Levi, так как он всегда весьма неплохо суммаризирует состояние и направление развития индустрии.

Регистрация бесплатная. Увидимся с вами онлайн.
🔥10👍6👨‍💻5
Forwarded from Яндекс
Media is too big
VIEW IN TELEGRAM
🌟 Чтобы вы посмотрели это видео, нужно было создать целую инфраструктуру. Объясняем в новом выпуске «Вопроса со звёздочкой», как устроен стриминг в интернете, на примере нашей видеоплатформы, которая работает в Кинопоиске, Маркете и даже в Яндекс Картах.

Подписывайтесь @yandex
Please open Telegram to view this post
VIEW IN TELEGRAM
18🔥15👍8🥰41🤡1
Awesome Video, огромная коллекция статей, туториалов, инструментов и других материалов о разработке видео и стриминговых сервисов — https://awesome.video
👨‍💻19👍7👀53🔥2🆒2
Время скандалов из твиттера!
Hi, This is a high priority ticket and the FFmpeg version is currently used in a highly visible product in Microsoft. We have customers experience issues with Caption during Teams Live Event. Please help,

https://trac.ffmpeg.org/ticket/10341
😁11🤡6🙈2🐳1
IEEE Computer Society запретил подавать статьи с изображением Лены из соображений diversity
https://arstechnica.com/information-technology/2024/03/playboy-image-from-1972-gets-ban-from-ieee-computer-journals

Вы наверняка встречали это фото (ну, по крайней мере, верхнюю его часть😏) — фотография Лены Форсен из Playboy 1972 года долгое время использовалась в научных статьях и примерах для демонстрации работы алгоритмов обработки изображений. Картинка контрастная и имеет много деталей, что позволяет хорошо отразить поведение алгоритмов на участках изображений разного характера.

Дискуссия о замене "Lenna image" на другие тестовые фото идет довольно давно — Nature запретил использовать ее еще в 2016 году, а в 2019 сняли целую документалку "Losing Lena", целью которой было исключить образ Лены из использования в сфере технологий и обработки изображений.

😢
Please open Telegram to view this post
VIEW IN TELEGRAM
😢30🤡4🌚3🤣3💔3🫡3👍2
Jpegli - новая библиотека кодирования JPEG от Google
https://opensource.googleblog.com/2024/04/introducing-jpegli-new-jpeg-coding-library.html

Google выкатил в open-source новую библиотеку для кодирования jpeg - https://github.com/libjxl/libjxl/tree/main/lib/jpegli
Либа под капотом используют алгоритмы из JPEG-XL, который Google, по сути, сам похоронил пару лет назад.

Jpegli, судя по тестам, жмет картинки до 35% эффективнее существующих реализаций (mozjpeg, libjpeg-turbo), и полностью совместим с существующими декодерами.

Можно переходить!
👍16🤔6😁2👀2
Чётко о мутных заглушках 

TL;DR: Команда Mux напоминает о базовых вещах — можно и нужно использовать блюр для имитации загрузки видео и изображений.

Мы постоянно боремся за скорость показа первого кадра видео. Пользователь начинает ждать контент сразу после клика по кнопке «Смотреть». Можно технически ускорять загрузку видео, а можно также работать с ощущениями пользователя — создавать иллюзию того, что мы уже что-то загрузили, чтобы он дождался основного контента. Для этого используются скелетоны, гифки и размытые заглушки (Low-Quality Image Placeholders, LQIP). В статье Mux рассматривают различные способы использовать LQIP.

Идея LQIP проста: сжать изображение до состояния «у вас jpg», растянуть до нужных размеров и сгладить фильтром размытия по Гауссу. С распространением формата WebP вес таких заглушек стал достигать 100B. LQIP отлично работают в вебе, так как можно закодировать сжатое изображение в Base64 и отдать сразу с метаданными видео (без лишних походов по сети).

Есть более продвинутые готовые решения:
Blurhash. Сжимает еще сильнее, вес заглушки достигает 20-30B. BlurHash применяет дискретное косинусное преобразование, сохраняя только ключевые компоненты, а затем кодирует эти компоненты в Base83.
Thumbhash. Работает аналогично Blurhash, но кодирует больше деталей. Кроме того позволяет передать соотношение сторон и кодировать изображения с альфа-каналом.

Главный минус этих решений — необходимость декодирования на стороне клиента (hash -> Base64), всегда нужен JS. 

Поделитесь, пользуетесь ли вы заблюренными заглушками? Какие решения для них используете?
🔥16👍6👨‍💻3🆒1
AV1 в массы?

Появилось подтверждение, что Google переходит на софтварный декодер libdav1d от VideoLAN для воспроизведения AV1 и "по воздуху" раскатит обновление вплоть до Android 12 (Snow Cone).

Сейчас для софтварного декодирвания используется libgav1. Однако, как говорили в феврале, теперь будет использоваться libdav1d от VideoLAN. Последнее подтверждает Arif Dikici, Software Development Manager из команды Android Video and Image Codecs, Google.

Причина перехода, похоже, производительность.. libdav1d значимо эффективнее, чем libgav1. Конечно, было бы эффективнее использовать хардварное декодирование, однако, появление хардварной поддержки - очень длительный процесс.

Кстати, просмотреть доступные декодеры можно в приложении. Нашел кто у себя libdav1d?
👍11🔥6🤔31👏1
Новые инструменты для WebRTC!

Наверное у вас всегда было желание понять что у вас с STUN/TURN. Базовые знания обычно ограничиваются на том что прямое соединение - хорошо, а relay через turn - плохо. Но мы же инженеры! Нам надо цифр! И вот вышел отличный инструмент ICEPerf - позволяет перевести в цифры что ваш TURN/STUN работает хорошо и померяться цифрами с друзьями.
Авторы софта на своем сайте выложили какие-то цифры о том как работают публично доступные TURN сервера, но это все шелуха, так как они показывают цифры, но не показывают откуда их собирали (мне кажется это домик в лесу около ДЦ CloudFlare, но как проверить?)
Так что можете смело скипать сайт и сразу переходить на их github и брать агента в работу.
👍15👨‍💻8👀2🤔1
Microsoft PlayReady скомпрометирован

https://seclists.org/fulldisclosure/2024/May/5

PlayReady — одна из трех популярных DRM-систем для защиты видеоконтента от нелегального копирования, разрабатываемая Microsoft. Видео, защищенное DRM, расшифровывается специальным DRM-клиентом (софтварным или хардварным) и воспроизводится через secure path операционной системы — это блокирует запись экрана при воспроизведении такого контента.

В софтварной реализации PlayReady обнаружена дыра, которая позволяет извлечь приватные ключи DRM-клиента. С помощью этих ключей можно «сэмулировать» DRM-клиента вне secure path и сохранить/записать защищенное PlayReady видео без потери качества.

Впрочем, для записи изображения все DRM-системы в любом случае обходятся устройством для захвата HDMI за 20$ с AliExpress 🏴‍☠️.
😁16🤡6👍4
Детективная история про запуск DRM-контента на Set-Top Box

При разработке видеосервисов для Smart TV, STB и других девайсов "с особенностями" часто можно столкнуться с неочевидными проблемами. Видео не работает, и совершенно не понятно, почему — при этом в десктопном браузере все заводится.

Daniel Silhavy (мейнтейнер dash.js) делится историей отладки такой проблемы на Set-Top Box и подходами, которые он применял для дебага.

https://websites.fraunhofer.de/video-dev/kid-it-out-putting-big-buck-bunny-on-a-diet/
👍8🤔3👨‍💻32👀2🥱1