Напиши текст вакансии для должности "Разработчик C++ в команду видео-инфраструктуры (backend)". Название компании: "ЛАЙФСТРИМ". Расположение: Москва. График работы: Удаленная работа. Опыт работы: От 3 до 6 лет. Ключевые навыки: 'C/C++', 'TCP/IP', 'UDP', 'Git', 'Linux'

Компания Lifestream — признанный лидер на рынке интерактивного цифрового телевидения. Наша платформа интернет-телевидения уже сейчас работает в основе таких сервисов как «Смотрёшка», «Акадо ТВ», «МТС ТВ Беларусь» и многих других. Непрерывно идет запуск новых сервисов. Несколько лет подряд платформа Lifestream получала приз конкурса «Большая цифра» как лучшее облачное решение. Одна из ключевых составляющих платформы Lifestream — это видео-инфраструктура. Она обеспечивает весь путь цифрового телевизионного сигнала от студии до SmartTV, компьютера, телефона, планшета или другого устройства пользователя. Основу видео-инфраструктуры составляет система транскодирования телевизионных каналов собственной разработки, которая работает не только в основе нашей платформы, но и на сотнях серверов по всей стране в сетях крупнейших телеком-операторов, таких как Ростелеком и ЭР-телеком. Наши транскодеры в режиме 24/7/365 формируют тысячи видео-потоков, которые лежат в основе услуг интернет-телевидения более чем миллиона абонентов. Задачи будут разноплановые: иногда будем изобретать свои форматы и протоколы и затем создавать под них свою инфраструктуру, иногда наоборот - изучать сторонние спецификации и писать их реализации, а иногда создавать небольшие специальные сервисы, заточенные под конкретные нужды платформы. Мы разрабатываем надежные, отказоустойчивые программы и сервисы, которые предназначены для непрерывной работы в течение длительного времени. Мы активно применяем многопоточное программирование, оптимизируем и ускоряем программы с помощью GPU, работаем с видео-форматами и протоколами стриминга видео. Если у вас есть желание присоединиться к команде разработчиков нашей видео-инфраструктуры, присылайте нам свое резюме, возможно вы именно тот, кого мы ищем!   Задачи:  Поддерживать текущее решение системы транскодирования и развивать новое Разрабатывать сервисы для инфраструктуры обработки видео: хранение, получение из разных источников, разбор и перепаковка потока, передача в различных форматах. Интеграция сервисов в нашу платформу Писать многопотопочный, эффективный C++ код. Обрабатывать видео-данные предстоит быстро, используя как можно меньше ресурсов Изучать стандарты передачи видео и аудио-данных Скрупулёзно покрывать функциональными и модульными тестами свои решения Помогать проектировать архитектуру распределённой обработки видео.  Требования:  Знание C++ и классических структур данных Опыт написания многопоточных приложений В поисках решений иногда быть готовым просидеть до утра или выходные Опыт разработки в Linux, знать GNU coreutils Использование системы контроля версий (мы используем Git) Стремление к оптимизациям. Меньше кода - меньше проблем Умение ясно объяснять архитектурные решения Владение английским языком для чтения технической литературы Умение писать рабочий код быстро, с последующим рефакторингом в надёжный и поддерживаемый.  Плюсами будут:  Знание скриптовых языков (Python, Bash) Знание компилируемых языков Golang, Rust Опыт работы с библиотеками семейства libav* (libavcodec, libavformat) Опыт сетевого программирования в Linux Опыт работы с Boost Исследовательский склад ума. Для решения проблем совместимости видео-потоков с клиентскими устройствами иногда остаётся только экспериментировать, разрабатывать прототипы быстро и быть готовым выбрасывать неудачные Знание основных особенностей протоколов передачи данных: TCP, UDP, HTTP; умение по дампу потока сказать, что происходит.  Мы предлагаем:  Низкоуровневая обработка видео-потока: познакомитесь с контейнерами, кодеками, научитесь работать с сетевой передачей видео-сигнала Гибкий график. На текущий момент вся команда работает в удалённом формате.  Для желающих удобный офис в центре Москвы - м. Таганская  ДМС.