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 →