Профессиональная конференция для Go-разработчиков

Особенности разработки Open Source-приложения для real-time-стриминга IP-камер в разных форматах

Golang Conf: Best practices

Go: Best practices

GO
Оптимизация

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Опыт разработки open source-приложения для стриминга IP-камер. Секреты работы с byte, упрощения кода с помощью io.Reader / io.Writer и методами снижения нагрузки на CPU при работе с сетью. А также возможности интегрировать go2rtc в китайские камеры или нейронки для определения людей на видео.

Целевая аудитория

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

Тезисы

Расскажу, с какими особенностями языка Go я столкнулся при разработке open source-приложения для стриминга видео в реальном времени — go2rtc.

В частности:
* оптимизации при работе с []byte,
* упрощение кода с помощью io.Reader / io.Writer,
* снижение CPU при работе с сетью с помощью bufio.NewReader / bufio.NewWriter / io.Copy,
* использование http.ResponseWriter для потоковой передачи данных,
* тонкости применения reflection для JSON, YAML и при написании своего Marshaler,
* архитектурные решения проекта go2rtc.

Разработчик ряда open source-проектов по тематике smart home и video streaming с опытом программирования более 25 лет.
Автор дополнений для Home Assistant: YandexStation, XiaomiGateway3, SonoffLAN, WebRTC Camera. А также стримингового приложения go2rtc.

@AlexxIT

.

Видео