Анализ аудио потока HLS с помощью Web Audio API и hls.js

В современных веб-приложениях для потокового видео всё чаще требуется не просто воспроизводить контент, но и анализировать аудиодорожку в реальном времени. Например, строить индикаторы уровня громкости (VU/PPM метры), визуализировать спектрограммы или детектировать тишину. В этой статье разберём, как корректно объединить hls.js и Web Audio API для анализа аудио из HLS-потока в браузере, избежав типичных подводных камней.

https://habr.com/ru/articles/967392/

#hls #webapi #audiocontext #audiocontext_api #react #js #javascript #ts #typescript #html

Анализ аудио потока HLS с помощью Web Audio API и hls.js

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

Хабр

Определение bpm (beats per minute) в браузере

Когда-то я занимался спортивными парными танцами. Часто на тренировках была необходимость узнать темп (или скорость, если немного подушнить насчёт терминов) играющего трека, который измеряется в «ударах в минуту» ( beats per minute , bpm ) Спортсмены используют для этого разные сайты/приложения, где нужно пальцем «протапать» ритм. Я и сам таким пользовался, но однажды я задался вопросом — смогу ли я сделать браузерный сервис, который сможет определять bpm из записанного через микрофон аудио Эта статья как раз о том, как я его сделал Я не буду вдаваться в тонкости реализации непосредственно UI: у меня уже был на момент начала разработки пет-проект на React, и сервис я решил делать на базе него.

https://habr.com/ru/articles/904542/

#bpm #микрофон_в_браузере #AudioContext #AudioWorklet #анализ

Определение bpm (beats per minute) в браузере

Мотивация Когда-то я занимался спортивными парными танцами. Часто на тренировках была необходимость узнать темп (или скорость, если немного подушнить насчёт терминов) играющего трека, который...

Хабр

#ios17 introduced a new JavaScript bug for anyone using the createMediaElementSource method on AudioContext. I've had to disable visualisations on my website so just to avoid anyone else chasing their tails on why their audio/video JavaScript cleverness has stopped working on new devices: https://bugs.webkit.org/show_bug.cgi?id=261668

#javascript #webkit #bug #audio #audiocontext #createmediaelementsource

261668 – REGRESSION (IOS 17): AudioContext.createMediaElementSource breaks video playback

I'm still trying to figure out the rules for #audioContext on the iPhone 14. I have all this code that has worked for years on different systems and browsers. It looks like, if you grab an audioContext "too soon" you can't resume it? And that keeps #MediaRecorder from working? It's not making sense to me.