Live Streaming on iOS

В нашей работе нередко возникает необходимость реализовать отправку видеопотока с iOS-устройства в реальном – или близком к реальному – времени. Самый частый пример — использование iOS-устройства в качестве камеры слежения или создание стриминговых приложений наподобие Periscope. Как правило, при возникновении подобной задачи ставятся дополнительные условия — например, возможность проигрывания потока на другом устройстве (или в другом приложении) без возникновения лишних проблем в браузере или VLC-плеере, малые задержки (видеопоток должен транслироваться практически в режиме реального времени), низкая нагрузка на устройство (возможность длительной работы от батареи), отсутствие необходимости в специализированном медиасервере для обслуживания передачи потока, и т.п.

Continue reading

Реализация лайв-стриминга снимаемого видео в приложении для iOS

Под лайв-стримингом мы понимаем функцию приложения, которая позволяет передавать видео по сети одновременно со съемкой, не дожидаясь полного окончания записи видеофайла.В этой статье мы хотим рассказать о том, как мы подошли к ее решению в ходе разработки Видеокамеры Together для iOS. Continue reading

Возможности Screen Capture в iOS

Функция Screen Capture, или, попросту говоря, «снятие изображения экрана», в мобильном приложении представляет собой мощный вспомогательный инструмент и может использоваться в самых разнообразных задачах. В этой статье мы подробно рассмотрим механизмы, доступные для реализации данного функционала. Continue reading

HTTP Live Streaming: лучшие рецепты

ios-video-hls

Создание идеальных с технической точки зрения приложений, как правило, является чрезвычайно сложной и трудоемкой задачей. При этом полезная информация зачастую рассеяна по множеству источников. Это относится, в том числе, к разработке видеоприложений для iOS. В данной статье собрана наиболее важная и полезная информация, позволяющая качественно использовать весь спектр возможностей HTTP Live Streaming, а также список первоисточников. Данные материалы будут полезны всем читателям, заинтересованным в создании качественных и удобных для пользователей видеосервисов. Continue reading

HTTP Streaming: балансировка нагрузки

балансировка-http-streaming
Современные системы доставки видеоконтента в большинстве случаев строятся на основе технологии HTTP Streaming. В рамках данной технологии видео доставляется пользователю в виде серии кусочков (чанков) контента по несколько секунд каждый. Наиболее популярными форматами доставки видео являются Apple HTTP Live Streaming и Adobe HTTP Dynamic Streaming. В скором времени, наверное, станет популярен MPEG DASH. Преимуществами данной технологии являются более стабильная работа видеоплатформы при доставке контента через неоднородную публичную сеть Интернет и возможность использования существующих механизмов традиционных CDN сетей (кеширование HTTP чанков). Но часто традиционных средств недостаточно, в крупных онлайн видеосервисах, как правило, требуется более гибкое управление доставкой видеоконтента. В своих проектах мы используем наш Video Load Balancer. В этой статье мы расскажем об основных принципах его работы. Мы надеемся, что они могут принести пользу вашим проектам, независимо от технологии, которая будет использоваться для распределения нагрузки. Continue reading

Воспроизведение видео в iOS приложениях

iOS video player

Мобильные устройства Apple на операционной системе iOS заслуженно снискали всеобщую популярность среди покупателей. За каждым событием компании следят с большим интересом, ожидая появления новых и улучшения существующих функций. Но обычные пользователи могут лишь поверхностно оценивать внешнюю составляющую продукта. Взгляду разработчиков же открывается гораздо больше. Из всей четырехдневной конференции WWDC публично освещается обычно всего один доклад — keynote, кратко рассказывающий об основных нововведениях. Все остальные доклады, а всего их около ста, посвящены разработчикам. Это соотношение позволяет оценить скрытую часть айсберга, которая не менее интересна, чем то, что видно на поверхности. Начиная цикл статей о разработке под iOS, мы расскажем о функциональности встроенных в устройства Apple фреймворков для работы с онлайн-видео. Continue reading