Apple TV 와 Apple TV Remote App 의 pin pairing 및 remote 동작은 어떤식으로 이루어 지나요?

조회수 1821회

AppleTV를 컨트롤 할수 있는 iOS 앱 중 AppleTV Remote가 있는데요. 이 앱을 사용하기 위해서는 먼저 pin pairng을 해야합니다. 연결이 되면 리모컨 동작 및 AppleTV에서 플레이 되는 클립의 썸내일과 타이틀이 앱에 나옵니다. 이러한 기능은 어떤 protocol을 사용하여 만든건가요? 관련 API가 있나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • 방금 Apple TV에서 해 보니 같은 Wifi에 있으면 바로 연결할 수 있는 아이폰이 목록에 뜨는군요.

    이렇게 같은 Wifi에서 아이폰등 애플 기기가 서로 쉽게 발견하고, 연결할 수 있는 Bonjour라는 프로토콜이 있습니다. 애플 기기끼리만 가능한 줄 알았는데 윈도우 SDK도 있네요.

    Bonjour소개

    API

    • Bonjour를 통한 discovery / hosting 에 대한 질문 이 아닙니다. 연결을 위해 목록에 뜨는 것은 Bonjour로 구현 되었을꺼라 예상했기에 pin pairing 및 remote call 에 쓰이는 프로토콜이 무엇인지 궁금한 것 입니다. 알 수 없는 사용자 2016.3.25 00:31
    • 그리고 Bonjour로 디스커버리를 위해서는 호스트명을 알아야하는데, pairing을 위한 호스트명이 공개 된건가요? 답변이 너무 제네럴해서 채택하지 않겠습니다. 알 수 없는 사용자 2016.3.25 00:35
    • 그정도로 자세한 내용까지는 모르겠네요. 정토드 2016.3.25 14:33
    • 지나가던 쪼렙 개발자인데요.. 현재 AppleTV 에 재생 정보를 획득하는 API 를 찾으시는 것 같은데 맞나요.? 아니면, WiDi 환경에서 look-up 하는 방법을 찾는 것 같기도 하고.. 2자인증 시스템 구성에 대한 질문 인 것 같기도 하고... 범위를 조금 좁혀주소서. 알 수 없는 사용자 2016.3.25 14:38
    • 지나가던 쪼렙 개발자인데요.. 현재 AppleTV 에 재생 정보를 획득하는 API 를 찾으시는 것 같은데 맞나요.? 아니면, WiDi 환경에서 look-up 하는 방법을 찾는 것 같기도 하고.. 2자인증 시스템 구성에 대한 질문 인 것 같기도 하고... 범위를 조금 좁혀주소서. 알 수 없는 사용자 2016.3.25 14:39
    • @Gregory님 네. 말씀하신 항목들이 모두 포함이 됩니다. 간단히는 Apple TV Remote App 이 어떻게 동작하느냐에 대한것이에요. App이 AppleTV를 찾는데는 Bonjour를 통해 같은 wifi ap에 있는 호스트를 찾았겠지요. (어떤 호스트명인지는 불분명). 그런 다음에 pin paring을 하고 (pin paring을 하는것보니 로긴 아이디나 특정 해쉬값을 이용하는거겠지요) 연결이 되면 그 뒤로는 앱이 AppleTV에서 재생되는 타이틀과 썸내일을 알아서 표시해 줍니다. 추가로 컨트롤도 되고요. 조건은 같은 Wifi AP 내에서 동작하는 것으로 보아 특정 프로토콜을 사용하는 것으로 보이며, 질문은 이 프로토콜이 무엇인지 (공개된건인지) 아니면 이러한 동작을 위한 API가 존재하는지. (예를 들면 AirPlay 경우는 공개되어있지요) 에 대한 질문이였습니다. 질문 작성 후, 구글링을 해보니 관련된 자료가 조금 나오기는 하는데, 온전치는 않습니다. 알 수 없는 사용자 2016.3.25 15:52
    • 네. 저도 답을 가지고 있는 것은 아니라서 질문이 많이 조심스러웠는데.. 제가 원하는 댓글을 남겨주셨네요. ^^// 전에 스마트폰, PC 간의 Pairing 특허를 진행했던 케이스가 있었는 데요. 말씀하시는 것과 거의 유사한 방식으로 구성했었습니다. 다만, 안되로이폰도 타겟장치였기에 Subnet Port Scan 을 통해서 다른 장치를 찾았었습니다. 알 수 없는 사용자 2016.3.25 16:32
    • 아마 알고 계시겠지만, 대략// 1️⃣폰에서 Port Scan 으로 PC 찾기 2️⃣PC에 PinCode 요청 3️⃣PC화면에 PinCode 노출 4️⃣사용자가 폰에 PinCode 입력 5️⃣PinCode를 HMAC salt 로 PC와 TLS 핸드쉐이크 6️⃣TLS 위에서 서로간에 발급한 AccessToken 교환// 2️⃣PC발급한 AccessToken 으로 접속 시도 ⏺실패하면, 폰에 PC목록을 띄우고 페이링 준비 ➖대략 요렇게 구성했었고요. 알 수 없는 사용자 2016.3.25 17:07
  • Airplay 의 경우 API가 오픈되어 있나요?? 꾸준히 찾던거라 정말 많이 궁금하네요.

    Protocol은 비공식으로 작성되어 있습니다. http://nto.github.io/AirPlay.html 해당 내역을 보면, mDNS를 이용하여 서로 기기를 찾고, HTTP기반의 컨텐츠 정보 및 데이터를 제공하는 방식입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)