ReplayKit Live만이 유일한 iOS용 생방송이 가능

2016-09-23
20 Views

ReplayKit은 앱의 영상 및 음성을 직접 녹음하여 메일이나 메시지, 스트림을 처리하기 위한 프레임웍이다. iOS10에서는 ReplayKit Live (스트리밍)기능이 추가되었다. 이 기능을 추가하여 지금까지 구현이 어려웠던 iOS에서는 게임 생방송등이 가능하게 되었다. 이에 따라 간단하게 정리해본다.

Replay Kit Live은 역할이 다른 2가지 애플리케이션을 이용하여 생방송을 제공한다.

  1. 게임앱, 게임등의 콘텐츠를 제공하는 앱
  2. 라이브 서비스 앱, 1번의 앱에서 영상 및 음성 데이터를 받아 서버에 업로드하는 앱

이 두가지 앱이 ReplayKit Live에 대응하고 라이브방송을 할 수 있다.

게임 앱 지원

주로 게임앱쪽에서 대응하게 될 항목들이다.

  1. 라이브 서비스 앱 표시하는 계기를 주는 UI추가 및 오류시 핸들링
  2. 앱의 상태가 변경되었을 때 처리 (배경등)
  3. Facetime 카메라 켜고 끌때 처리와 Facetime카메라뷰 포함
  4. 마이크 켜고 끌때 처리

라이브 서비스 앱 지원

App Extension구조를 사용하여 실현한다. iOS10부터 Replay Kit Live를 지원하기 위해 2가지 Extension이 추가되었다. Xcode에서 File – New – Target에서 추가할 수 있다.

  • Broadcast UI Extension : iOS에서 게임 생방송 앱을 선택한 후에 표시되는 ViewController이다. 이 화면에서 라이브 제목입력 기능, 서비스 생방송 소스를 선택 기능, 같은 서비스의 고유기능을 제공할 수 있다.
  • Broadcast Upload Extension : iOS가 게임앱 스트림을 수신하여 실시간 서비스로 연결해주는 역할을 할 수 있는 확장으로 중계하는 프로그램을 핸들러라고 한다. mp4파일을 일정한 간격으로 처리하는 핸들러로 무압축 영상/음성 데이터를 처리하는 핸들러 2가지로 구성되어 있다.

지원중인 앱들

Playground, Tower Dash, Periscope

 

Replay Kit Live는 앱스토어에 공개할 수 있는 유일한 생방송 방법이다.

Facebook Comments

You may be interested

모바일 앱 아키텍처
Swift
shares13 views
Swift
shares13 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…

시간차를 얻는 Date Extension
Swift 3.0
shares6 views
Swift 3.0
shares6 views

시간차를 얻는 Date Extension

MJ Kim - 4월 12, 2017

사용자가 남길 내용에 대한 시간표시를 할 때 일정한 시간차를 표현해주는 경우가 있어 이에 대한 Date Extention을 정리해 보았다. [crayon-58fc638f21bb1567175475/]  

Swift 3.1에서 없어진 문법 정리
Swift 3.0
shares34 views
Swift 3.0
shares34 views

Swift 3.1에서 없어진 문법 정리

MJ Kim - 3월 31, 2017

Swift언어는 무엇인가 나올때마다 없어지는 것들이 있어, Swift 3.1에서 컴파일할 수 없게 된 문법내용을 정리했다. switch문을 사용하여 enum에서 protocol을 여러가지 패턴으로…