Страдания юного видеоинженера
1.78K subscribers
71 photos
4 videos
2 files
107 links
Новости технологий видео и стриминга
Download Telegram
Demuxed 2023

24-25 октября в Сан-Франциско пройдет Demuxed - одна из крупнейших англоязычных конференций про видео-технологии. В программе - доклады от Netflix, Mux, Vimeo, Elecard и других компаний и исследовательских организаций.

Мы обязательно посмотрим и расскажем вам про самые интересные доклады!
🔥20🥰3🤓1
#подкаст

Мы запустили подкаст про видеотехнологии от конференции VideoTech!

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

В первом выпуске поговорили с Сергеем Икониным, участником Joint Video Experts Team, о стандартах:

— зачем они нужны,

— где заканчивается зона действия стандартов,

— чем именно занимается Комитет по стандартизации JVET, и кто в нем участвует,

— почему компании хотят участвовать в работе Комитета,

— почему стандарты рождаются в битве.

Ведущие

— Алексей Федоров — продюсер в JUG Ru Group. В прошлом — инженер в Oracle и деврел в Одноклассниках.

— Кирилл Толкачев — занимается в JUG Ru Group разработкой видеосвязи, основанной на WebRTC.

Гость

Сергей Иконин — более 15 лет работает в области цифровой мультимедийной связи, а также участвует в международной стандартизации.

Подкаст уже доступен на YouTube, Apple Podcasts, Яндекс Музыке и ВКонтакте.

Подписывайтесь на удобные платформы, чтобы не пропустить новые выпуски!
👍9🔥8👀2
Jump Cutter - проматываем паузы в видео

Недавно мы наткнулись на занятное расширение для браузеров, которое помогает быстрее смотреть лекции, доклады, интервью и прочие видео с “говорящими головами” — Jump Cutter. Оно детектит паузы в речи и ускоряет воспроизведение ролика во время пауз. За счет этого посмотреть вашу любимую лекцию по матану можно в ~1.5 раза быстрее.

Как это работает?
Мы бы не были юными видеоинженерами, если бы сразу не полезли в кишки расширения! Под капотом используется два алгоритма:

1) "stretching" (растяжение): громкость аудио-сигнала анализируется через Web Audio — если аудио слишком тихое, playbackRate видео увеличивается. Для того, чтобы задетектить переход с паузы на область с речью и обратно, используется небольшая задержка вывода аудио-сигнала (и в моменты перехода на речь сжимается и растягивается).
2) “cloning” (клонирование): создается скрытая копия видео-тега, которая играет видео с опережением. Громкость анализируется на ней — это позволяет избежать артефактов, возникающих в первом алгоритме на основном видео-теге в момент “стретчинга”. Алгоритм помечен в библиотеке как экспериментальный. Работать он на большинстве видео-сервисов не будет — если в плеере используется Media Source Extensions, рабочую копию видео-тега без модификаций кода плеера создать не получится.

Можно ли этот механизм как-то улучшить?
Есть классная идея! Чтобы лучше детектить пазуы, можно попробовать прикрутить в используемые алгоритмы шумодав — в сигнале будет оставаться только человеческий голос, и алгоритм будет проматывать шумы/музыкальные вставки. Сделать такую штуку можно через WebAudio — прикрутить ограничение частот через BiquadFilterNode или использовать более сложные фильтры на нейронках, типа rnnoise.
Сейчас как раз идет Hacktoberfest - отдаем идею бесплатно😉
👍14🔥9🥰2😱2
wasp-hls: плеер на WebAssembly (Rust)

wasp-hls — пет-проджект Paul Berberian, ведущего разработчика rx-player. Идея проекта довольно интересная — реализовать всю логику плеера (парсинг плейлистов, загрузка сегментов, работа алгоритмов авто-качества и прочее) на Rust и запускать его в отдельном воркере через WASM. Очень много чего пока не поддержано и не работает, Paul пишет о том, что сейчас это скорее исследовательский проект.
Одна из целей — завести воспроизведение Low Latency HLS.

Идея проекта существенно вдохновлена плеером Twitch (он же Amazon IVS), который работает примерно так же — core-часть плеера написана на C++, и собирается в кросс-платформенные модули для кучи разных платформ с отдельными платформенными биндингами. К сожалению, плеер Twitch проприетарный, и о его внутренней архитектуре мы можем только догадываться. В 2021 году плеер Twitch, правда, стал опен-сорсным утек в сеть вместе с частью кода Amazon. Но мы такое не одобряем — если вам интересно, лучше почитайте исходники wasp-hls🤓
🤓9🤯7👍5🔥3👨‍💻1
#подкаст

Новый выпуск VideoTech Podcast — «Экосистемы развлекательных сервисов»

Поговорили с Михаилом Мазановым из Кинопоиска об устройстве контентных сервисов:

— как используют технологии машинного обучения в онлайн-кинотеатре;
— что драйвит бизнес контентных сервисов;
— с какими проблемами сталкивается рынок онлайн-кинотеатров;
— в чем преимущества экосистемы вокруг продукта;
— как устроены Yandex FunTech и Плюс Студия;
— как повысить качество видео в онлайн-кинотеатре;
— куда движется развитие развлекательных систем.

Ведущие:
— Алексей Федоров — продюсер в JUG Ru Group. В прошлом — инженер в Oracle и деврел в Одноклассниках.
— Игорь Шеко — WebRTC эксперт и разработчик в Яндексе. 

Гость
Михаил Мазанов — отвечает за разработку и управление системой кодирования и защиты лицензионного контента в Кинопоиске и руководит отделом контроля качества Плюс Студии. Вторая работа Михаила — консультирование и менеджмент проекта Olympic Video Player в международной Олимпийской вещательной службе.

Подкаст уже доступен на YouTube, Apple Podcasts, Яндекс Музыке и ВКонтакте.

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

P. S. Мы поменяли очередность выпусков по просьбе гостей. Сегодня публикуем третий подкаст, а на следующей неделе — второй.
🔥9👍4💩2
Небольшой глоссарий (часть 1, часть 2), который поможет вам разобраться со стриминговыми терминами — чем VOD отличается от OTT, что такое FAST, SVOD, EST и другие страшные аббревиатуры.
👍16🤓42🔥2👀1
Возвращаемся с апдейтом по Managed Media Source

В предыдущих сериях: раз, два.

Первая и самая интересная часть новости – Managed Media Source в iOS 17.1 работает. Но с нюансом – Apple хочет, чтобы вы не забыли про AirPlay. Изначально мы предполагали, что достаточно будет заменить new MediaSource() на new ManagedMediaSource()и все само заработает. Однако это приводит к тому, что инстанс ManagedMediaSource не кидает событие sourceopen и не инициализируется. Ошибок при этом вы тоже не увидите.

В попытке проверить, что происходит с нашей демкой, мы начали, в числе прочего, копаться в feature-флагах Safari. И обнаружили сразу под флагом Managed Media Source API другой – Managed Media Source Requires AirPlay source. И он включен по умолчанию. Если же его выключить, то демка превосходно начинает воспроизводить контент. Но пользователя же не заставишь выключать feature-флаг где-то глубоко в настройках браузера, поэтому надо искать другое решение.

Первое, что приходит в голову – поддержать AirPlay. В этом случае, все действительно начинает работать. Но если вы, вдруг, используете DASH-only потоки, вам станет грустно, так как AirPlay в них не умеет. То есть нужно всегда держать рядом HLS. Пример можно посмотреть тут.

Второе – отключить AirPlay. Тут тоже все хорошо работает. Достаточно добавить атрибут x-webkit-airplay=deny. Таким образом вы явно сообщаете Safari, что AirPlay не нужен. Пример для такого мы так же собрали.

Итого, Managed Media Source работает, но нужно помнить про AirPlay.
👨‍💻7🤔4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
И в догонку к предыдущему посту, продолжим про новости от Apple.

В Safari на бете iOS 17.2 стало доступным Fullscreen API на любых HTML-элементах. Теперь можно будет показывать рекламу плеер со всеми кнопочками в Fullscreen на айфонах. Правда и тут не обошлось без нюансов. Так, например, слева сверху браузер будет рисовать свои контролы. Снизу, для большинства устройств будет отображаться системный контрол для выхода на рабочий стол. А еще нужно учитывать монобровь и Dynamic Island.

В общем, рекомендуем проверить, как ваш плеер готов к подобному, пока это еще бета.
👍6🎉4🔥2🤮2💩2😱1
А тем временем мы чуть было не пропустили релиз OBS с поддержкой ipv6 для RTMP и WebRTC. Три дня назад вышел релиз 30.0, который затащил эти много других прикольных фичей.

А ваша платформа уже готова принимать ultra low latency стриминг по WHIP/WebRTC?
🔥7🥰5👍3👏1
Открыли VideoTech 2023!

А завтра на конференции будет Community Day - трансляция докладов и дискуссий 17 ноября будет доступна бесплатно (без смс, но с регистрацией🙂).
🔥29🎉8🤩31
Не секрет, что авторы канала питают нежные чувства к MPEG-DASH. На конференциях в кулуарах выяснилось, что многие компании все ещё предпочитают HLS.

До мощных заруб не дошло, но возник вопрос:
😁14
Каким стандартом стриминга пользуетесь вы для доставки данных до клиента?
Anonymous Poll
34%
DASH
48%
HLS
25%
WebRTC
5%
MSS
1%
MoQ
6%
свой/другой
31%
мне только посмотреть
👍6
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