#go2rtc
По многочисленным просьбам, в go2rtc была добавлена прямая поддержка протокола HTTP-FLV. Именно его используют в проекте dom.ru для отображения потока с домофонов.
К сожалению, пока без звука. Но зато видео можно забрать с минимальной задержкой в форматах WebRTC, MSE, MP4, RTSP, включая snapshot в формате mp4.
Если очень нужен звук - можно подключить транскодинг средствами ffmpeg, но это добавляет время к старту потока.
Говорят, хорошо работает в связке с отображением потока на телевирах с Яндекс Алисой.
По многочисленным просьбам, в go2rtc была добавлена прямая поддержка протокола HTTP-FLV. Именно его используют в проекте dom.ru для отображения потока с домофонов.
К сожалению, пока без звука. Но зато видео можно забрать с минимальной задержкой в форматах WebRTC, MSE, MP4, RTSP, включая snapshot в формате mp4.
Если очень нужен звук - можно подключить транскодинг средствами ffmpeg, но это добавляет время к старту потока.
Говорят, хорошо работает в связке с отображением потока на телевирах с Яндекс Алисой.
#go2rtc
Автор rtsp-simple-server отметил go2rtc. Именно его гениальная идея взаимодействия с FFmpeg легла в архитектуру проекта. О чём, конечно же, отмечено в начале документации.
Автор rtsp-simple-server отметил go2rtc. Именно его гениальная идея взаимодействия с FFmpeg легла в архитектуру проекта. О чём, конечно же, отмечено в начале документации.
#go2rtc
Марафон очередных бессонных ночей закончен в виде нового релиза go2rtc.
Разных фич стало больше, а размер приложения - меньше. Потому что я выкинул почти все внешние библиотеки и переписал их функции с нуля.
Из большого и сложного появилась базовая поддержка стриминга в Apple HomeKit. Этим конечно сейчас никого не удивишь. Такое умеют разные open source решения.
Зато никто из них не умеет trasparent proxy для HomeKit камер (например Aqara). Это когда камера продолжает работать в экосистеме Apple с полной поддержкой всех своих функций. И дополнительно можно с неё забрать RTSP, WebRTC, MSE, снапшоты и прочее.
А ещё никто из них не имеет маленького и полностью автономного приложения в 5 МБайт, которое можно запустить прям на железе камеры.
Например, разработчик альтернативных прошивок для дешёвых и популярных китайских камер Wyze, добавил go2rtc в качестве основного стримингового ядра на эти камеры. А это значит, что с новым релизом поддержка HomeKit появится прям на них. А, в перспективе, и на других камерах.
Изменений очень много, поэтому релиз может быть не супер стабилен.
https://github.com/AlexxIT/go2rtc/releases/tag/v1.7.0
Марафон очередных бессонных ночей закончен в виде нового релиза go2rtc.
Разных фич стало больше, а размер приложения - меньше. Потому что я выкинул почти все внешние библиотеки и переписал их функции с нуля.
Из большого и сложного появилась базовая поддержка стриминга в Apple HomeKit. Этим конечно сейчас никого не удивишь. Такое умеют разные open source решения.
Зато никто из них не умеет trasparent proxy для HomeKit камер (например Aqara). Это когда камера продолжает работать в экосистеме Apple с полной поддержкой всех своих функций. И дополнительно можно с неё забрать RTSP, WebRTC, MSE, снапшоты и прочее.
А ещё никто из них не имеет маленького и полностью автономного приложения в 5 МБайт, которое можно запустить прям на железе камеры.
Например, разработчик альтернативных прошивок для дешёвых и популярных китайских камер Wyze, добавил go2rtc в качестве основного стримингового ядра на эти камеры. А это значит, что с новым релизом поддержка HomeKit появится прям на них. А, в перспективе, и на других камерах.
Изменений очень много, поэтому релиз может быть не супер стабилен.
https://github.com/AlexxIT/go2rtc/releases/tag/v1.7.0
#go2rtc
Обновления получили сразу два проекта - go2rtc и WebRTC.
1. В go2rtc появилась механика шаринга потока на популярные стриминговые сервисы - YouTube, Telegram и др.
Тут, в первую очередь, интересен Telegram. Ведь он позволяет легко и быстро создать публичную анонимную трансляцию камеры на весь мир. Или же создать закрытую трансляцию для семьи, друзей, подъезда, спонсоров...
Есть один минус - сервера Telegram добавляют к трансляции задержку примерно в 10 секунд. На YouTube я видел задержку менее двух секунд. Тут я готов посотрудничать с командой Павла @durov, чтоб догнать и перегнать этот показатель YouTube. Пишите - сделаем из Telegram топовую стриминговую платформу.
2. Также в go2rtc появилась поддержка two-way audio для протокола DVRIP. Популярные безымянные камеры из Поднебесной.
3. И поддержка two-way audio появилась в карточке WebRTC.
---
На скриншоте выше демонстрация четырёх технологий стриминга камеры за серым IP-адресом (без публичного внешнего доступа):
1. SSH Tunnel - самый сложный в настройке способ. У меня на GitHub есть такой аддон.
2. Telegram - трансляция поддерживается в мобильных и настольных приложениях. Видно отставание потока.
3. WebTorrent - поддерживается в go2rtc довольно давно, есть статья на Хабре.
4. HomeKit - для внешнего доступа нужен "центр умного дома" Apple, у меня это старый iPad Air 2 на постоянном питании. Трансляция на доли секунды опережает WebRTC.
Ещё в список можно добавить сервисы Ngrok и Dataplicity. В бесплатной версии оба позволяют закрепить за своим сервером один публичный адрес.
Обновления получили сразу два проекта - go2rtc и WebRTC.
1. В go2rtc появилась механика шаринга потока на популярные стриминговые сервисы - YouTube, Telegram и др.
Тут, в первую очередь, интересен Telegram. Ведь он позволяет легко и быстро создать публичную анонимную трансляцию камеры на весь мир. Или же создать закрытую трансляцию для семьи, друзей, подъезда, спонсоров...
Есть один минус - сервера Telegram добавляют к трансляции задержку примерно в 10 секунд. На YouTube я видел задержку менее двух секунд. Тут я готов посотрудничать с командой Павла @durov, чтоб догнать и перегнать этот показатель YouTube. Пишите - сделаем из Telegram топовую стриминговую платформу.
2. Также в go2rtc появилась поддержка two-way audio для протокола DVRIP. Популярные безымянные камеры из Поднебесной.
3. И поддержка two-way audio появилась в карточке WebRTC.
---
На скриншоте выше демонстрация четырёх технологий стриминга камеры за серым IP-адресом (без публичного внешнего доступа):
1. SSH Tunnel - самый сложный в настройке способ. У меня на GitHub есть такой аддон.
2. Telegram - трансляция поддерживается в мобильных и настольных приложениях. Видно отставание потока.
3. WebTorrent - поддерживается в go2rtc довольно давно, есть статья на Хабре.
4. HomeKit - для внешнего доступа нужен "центр умного дома" Apple, у меня это старый iPad Air 2 на постоянном питании. Трансляция на доли секунды опережает WebRTC.
Ещё в список можно добавить сервисы Ngrok и Dataplicity. В бесплатной версии оба позволяют закрепить за своим сервером один публичный адрес.
#go2rtc
Давно мечтал поснимать свои пробежки от первого лица. На прошлой неделе идея стала настолько навязчивой, что не удержался от покупки GoPro.
GoPro это в первую очередь камера. А что мы делаем с камерами? Правильно, добавляем их в go2rtc.
Сегодняшний релиз уже поддерживает модели с HERO9 по HERO12. Более старые имеют другие API. Добавлю по возможности.
Давно мечтал поснимать свои пробежки от первого лица. На прошлой неделе идея стала настолько навязчивой, что не удержался от покупки GoPro.
GoPro это в первую очередь камера. А что мы делаем с камерами? Правильно, добавляем их в go2rtc.
Сегодняшний релиз уже поддерживает модели с HERO9 по HERO12. Более старые имеют другие API. Добавлю по возможности.
#go2rtc
У программистов есть привычка - запускать Doom на любой железке, которая попадётся под руку.
У меня есть привычка - добавлять в go2rtc любую стриминговую технологию, которая попадётся под руку.
Пару дней назад я узнал о забавном способе отображать анимацию в формате ASCII-графики в текстовой консоли сервера.
Всего 150 строк кода, и вы можете повторить такой трюк дома с новой версией go2rtc.
https://www.youtube.com/watch?v=sHj_3h_sX7M
У программистов есть привычка - запускать Doom на любой железке, которая попадётся под руку.
У меня есть привычка - добавлять в go2rtc любую стриминговую технологию, которая попадётся под руку.
Пару дней назад я узнал о забавном способе отображать анимацию в формате ASCII-графики в текстовой консоли сервера.
Всего 150 строк кода, и вы можете повторить такой трюк дома с новой версией go2rtc.
https://www.youtube.com/watch?v=sHj_3h_sX7M
YouTube
Linkin Park - Numb (Piano cover by Gamazda and ASCII streaming by go2rtc)
https://github.com/AlexxIT/go2rtc
original video:
https://www.youtube.com/watch?v=LNQaDxkSpP4
original video:
https://www.youtube.com/watch?v=LNQaDxkSpP4
#go2rtc
Меня всегда завораживала карта Zigbee сети. Большую карту интересно разглядывать, как произведение искусства.
В новой версии go2rtc появилась своя карта стриминговой сети. Она живая и интерактивная. Между нодами бегают байты данных, старые ноды исчезают, а новые - появляются. Форматы, протоколы и кодеки, для удобства, названы схожими с FFmpeg именами.
Идея проекта go2rtc не просто реализовывать базовую функцию стриминга. Но и выполнять некую обучающую роль. Чтоб люди, далёкие от видео индустрии, могли на простых и живых примерах понять, насколько глубока эта кроличья нора.
https://youtu.be/ZzePTFl0QFk
Меня всегда завораживала карта Zigbee сети. Большую карту интересно разглядывать, как произведение искусства.
В новой версии go2rtc появилась своя карта стриминговой сети. Она живая и интерактивная. Между нодами бегают байты данных, старые ноды исчезают, а новые - появляются. Форматы, протоколы и кодеки, для удобства, названы схожими с FFmpeg именами.
Идея проекта go2rtc не просто реализовывать базовую функцию стриминга. Но и выполнять некую обучающую роль. Чтоб люди, далёкие от видео индустрии, могли на простых и живых примерах понять, насколько глубока эта кроличья нора.
https://youtu.be/ZzePTFl0QFk
YouTube
go2rtc live streaming network graph in DOT format
https://github.com/AlexxIT/go2rtc
Media is too big
VIEW IN TELEGRAM
#go2rtc
Вчера произошло довольно значимое событие - самый популярный open source проект на GitHub теперь использует go2rtc в качестве стримингового ядра!
Конечно же я говорю про Home Assistant. В конце октября команда GitHub подвела итоги года, где первое место по количеству участников занял наш любимый ХА, обогнав не менее достойного конкурента - VSCode.
go2rtc теперь встроен в Home Assistant core, начиная с версии 2024.11. Сотни тысяч новых пользователей будут получать настоящие real time потоки со своих камер, даже не подозревая, кто за этим всем стоит.
Как разработчик, я знаю, что такое решение далось HA core team нелегко. Сделать ставку на стороннее программное обеспечение в такой базовой функции - это очень серьёзный и обдуманный шаг. Вроде даже были попытки реализовать встроенную поддержку WebRTC средствами Python. Похоже, ничего толкового из этого не вышло.
Это лишь первый шаг в использовании go2rtc внутри ядра ХА - отображение потока с камер с помощью технологии WebRTC. На очереди и другие фичи - two way audio, MSE. Возможно, нормальная поддержка HomeKit, как на вход, так и на выход.
Надеюсь, у меня хватит сил, удерживать (а лучше повышать) планку качества и возможностей проекта.
Вчера произошло довольно значимое событие - самый популярный open source проект на GitHub теперь использует go2rtc в качестве стримингового ядра!
Конечно же я говорю про Home Assistant. В конце октября команда GitHub подвела итоги года, где первое место по количеству участников занял наш любимый ХА, обогнав не менее достойного конкурента - VSCode.
go2rtc теперь встроен в Home Assistant core, начиная с версии 2024.11. Сотни тысяч новых пользователей будут получать настоящие real time потоки со своих камер, даже не подозревая, кто за этим всем стоит.
Как разработчик, я знаю, что такое решение далось HA core team нелегко. Сделать ставку на стороннее программное обеспечение в такой базовой функции - это очень серьёзный и обдуманный шаг. Вроде даже были попытки реализовать встроенную поддержку WebRTC средствами Python. Похоже, ничего толкового из этого не вышло.
Это лишь первый шаг в использовании go2rtc внутри ядра ХА - отображение потока с камер с помощью технологии WebRTC. На очереди и другие фичи - two way audio, MSE. Возможно, нормальная поддержка HomeKit, как на вход, так и на выход.
Надеюсь, у меня хватит сил, удерживать (а лучше повышать) планку качества и возможностей проекта.
#go2rtc
Пару дней назад Яндекс выпустил свою первую IP-камеру. Начнём сразу с минусов:
1. Нет динамика (two-way audio). Выпускать в 2025 году технологичную домашнюю камеру без такой копеечной детали — весьма странный шаг. Ведь мы уже давно живём в мире, где можно позвонить на робот-пылесос и поболтать с домашними.
2. Ценовая политика подписки на облачное хранилище смущает. А необходимость платить 300 рублей в месяц за функцию «следование за человеком» оставлю без комментариев.
3. Передача видеопотока только через облако. Хочется надеяться, что это сделано ненамеренно и в будущих обновлениях будет исправлено.
Можно по-разному смотреть на эти замечания, но во времена, когда Яндекс.Алисы ещё не существовало, у Xiaomi в модельном ряду уже была легендарная камера Dafang — поворотная камера за смешную цену, с поддержкой two-way audio, с бесплатной функцией «следование за движущимся объектом» и с возможностью прямого локального подключения.
Именно с этой камеры и начался мой интерес к видеостримингу. Ведь я впервые увидел, что поток с IP-камеры может передаваться с задержкой всего в десятые доли секунды. Оставалось только овладеть этой технологией и сделать её максимально доступной для широкого круга пользователей. Думаю, на сегодняшний день это получилось.
Но вернёмся к Яндекс.Камере. Ещё одним замечанием можно было бы считать отсутствие возможности подключения к сторонним экосистемам. Но когда нас останавливали такие мелочи?
С последней master-версией go2rtc вы можете забрать поток камеры в любых удобных вам форматах.
https://github.com/AlexxIT/go2rtc#go2rtc-dev-version
Выпуск этой камеры совсем не входил в мои планы, так что эта функция ещё долго будет в статусе «бета».
https://github.com/AlexxIT/go2rtc/blob/master/internal/yandex/README.md
Пару дней назад Яндекс выпустил свою первую IP-камеру. Начнём сразу с минусов:
1. Нет динамика (two-way audio). Выпускать в 2025 году технологичную домашнюю камеру без такой копеечной детали — весьма странный шаг. Ведь мы уже давно живём в мире, где можно позвонить на робот-пылесос и поболтать с домашними.
2. Ценовая политика подписки на облачное хранилище смущает. А необходимость платить 300 рублей в месяц за функцию «следование за человеком» оставлю без комментариев.
3. Передача видеопотока только через облако. Хочется надеяться, что это сделано ненамеренно и в будущих обновлениях будет исправлено.
Можно по-разному смотреть на эти замечания, но во времена, когда Яндекс.Алисы ещё не существовало, у Xiaomi в модельном ряду уже была легендарная камера Dafang — поворотная камера за смешную цену, с поддержкой two-way audio, с бесплатной функцией «следование за движущимся объектом» и с возможностью прямого локального подключения.
Именно с этой камеры и начался мой интерес к видеостримингу. Ведь я впервые увидел, что поток с IP-камеры может передаваться с задержкой всего в десятые доли секунды. Оставалось только овладеть этой технологией и сделать её максимально доступной для широкого круга пользователей. Думаю, на сегодняшний день это получилось.
Но вернёмся к Яндекс.Камере. Ещё одним замечанием можно было бы считать отсутствие возможности подключения к сторонним экосистемам. Но когда нас останавливали такие мелочи?
С последней master-версией go2rtc вы можете забрать поток камеры в любых удобных вам форматах.
https://github.com/AlexxIT/go2rtc#go2rtc-dev-version
Выпуск этой камеры совсем не входил в мои планы, так что эта функция ещё долго будет в статусе «бета».
https://github.com/AlexxIT/go2rtc/blob/master/internal/yandex/README.md