Сокращаем cgo в видеоплатформе:
путь от FFmpeg к чистому Go
Тезисы
Этот доклад — история пятилетней эволюции нашей платформы видеонаблюдения с использованием машинного зрения.

Начну с самых первых шагов: когда наш пайплайн обработки видео представлял собой набор скриптов на питоне, оборачивающих бинарник FFmpegа, и дойду до почти полностью нативного решения на Go. Поговорим о ключевых вызовах, с которыми мы сталкивались, и проблемах на каждом этапе жизненного цикла платформы.

Коротко разберём, из чего вообще состоит работа с видеопотоками в задаче real-time анализа изображения: протоколы, кодеки, инференс моделей машинного обучения. Рассмотрим, как проявил себя Go в не самой типичной для него области. Спойлер: весьма неплохо — хотя и не без нюансов)

Отдельно остановимся на важном вопросе: почему мы решили делать собственное нативное решение и почему было недостаточно просто ограничиться использованием многочисленных сишных библиотек через Сgo.
Этот доклад — история пятилетней эволюции нашей платформы видеонаблюдения с использованием машинного зрения.

Начну с самых первых шагов: когда наш пайплайн обработки видео представлял собой набор скриптов на питоне, оборачивающих бинарник FFmpegа, и дойду до почти полностью нативного решения на Go. Поговорим о ключевых вызовах, с которыми мы сталкивались, и проблемах на каждом этапе жизненного цикла платформы.

Коротко разберём, из чего вообще состоит работа с видеопотоками в задаче real-time анализа изображения: протоколы, кодеки, инференс моделей машинного обучения. Рассмотрим, как проявил себя Go в не самой типичной для него области. Спойлер: весьма неплохо — хотя и не без нюансов)

Отдельно остановимся на важном вопросе: почему мы решили делать собственное нативное решение и почему было недостаточно просто ограничиться использованием многочисленных сишных библиотек через Сgo.
Информация о спикере
Глеб Шлейкель
Ведущий инженер-программист, Югпромавтоматизация
Работаю ведущим backend разработчиком на проекте системы видеонаблюдения с компьютерным зрением. Застал большую часть этапов развития проекта, принимал ключевые решения — есть что рассказать.
  • Глеб Шлейкель
    Ведущий инженер-программист, Югпромавтоматизация
    Работаю ведущим backend разработчиком на проекте системы видеонаблюдения с компьютерным зрением. Застал большую часть этапов развития проекта, принимал ключевые решения — есть что рассказать.
Все доклады