사용자의 개인 동영상을 큰 화면에 전송하도록 Android TV를 채택한 VLC

VideoLAN project에서 개발한 무료 오픈소스 크로스 플랫폼 멀티미디어 플레이어인 VLC는 기기 및 화면 크기와 관계없이 사용자가 어디서나 모든 유형의 동영상 파일을 재생할 수 있도록 해 줍니다. VideoLAN팀은 가능한 한 많은 사용자에게 최적의 시청 환경을 제공하기 위해 Android TV를 비롯하여 태블릿 및 Chromebook과 같이 화면이 큰 기기를 포함한 다양한 플랫폼에 맞게 VLC 앱을 맞추기 위해 노력했습니다.

진행한 작업

Android TV 기기의 앱은 휴대기기 앱과 다른 시청 환경을 제공합니다. TV를 시청하는 사용자는 화면에서 멀리 떨어져 앉아서 전통적인 TV 가이드처럼 한 번에 전체 콘텐츠 라이브러리를 볼 수 있을 것이라고 기대하는 것이 일반적입니다. 반면에 모바일 사용자는 시청하겠다고 선택한 하나의 동영상만 보게 될 것이라고 기대합니다. 또한 사용자는 Android TV에서 리모컨을 사용해 앱을 탐색하지만 모바일 앱에서는 터치스크린만 사용합니다.

VideoLAN은 앱의 최신 버전(3.2)에서 VLC의 모바일 UI를 대부분 유지하기로 결정했지만, 팀은 모바일과 Android TV 모두에서 최적의 환경을 보장하기 위해 몇 가지 단계를 더 거쳐야 했습니다.

TV 리모컨에 맞게 최적화

VideoLAN에서 처음으로 취한 조치는 방향 패드와 몇 개의 버튼만 있는 Android TV 기기의 리모컨을 사용하여 앱의 동영상 플레이어 UI를 쉽게 탐색할 수 있게 하는 것이었습니다. 예를 들어 개발팀은 전체 목록을 스마트폰 또는 태블릿에서 클릭하고 리모컨으로 쉽게 탐색할 수 있도록 동영상 플레이어 옵션을 측면 패널로 옮겼습니다.

VLC는 Android TV의 대형 화면으로 즐기는 느긋한 시청 환경에 맞게 앱을 최적화합니다.

Leanback 라이브러리 레이아웃 조정

모바일에서는 많은 카테고리가 층층이 표시되지만 Android TV 기기에서 VLC 사용자는 모든 동영상 카테고리를 한 번에 확인할 수 있습니다. 이 탐색 기능에 최적화하기 위해 Leanback 라이브러리는 확장 가능한 프래그먼트를 사용하여 개발자가 각 콘텐츠에서 풍부한 애니메이션 환경을 쉽게 만들 수 있도록 합니다.

VideoLAN은 플로팅 작업 버튼을 사용하여 정렬과 스크롤이 가능한 맞춤 탐색 UI를 만들고 각 스크롤 옵션에 대한 애니메이션을 추가했습니다. 또한 Android Auto 앱과 유사한 빠른 스크롤 기능도 만들었는데 이 기능을 사용하면 사용자가 전체 목록을 스크롤할 필요 없이 첫 번째 문자 검색어를 사용하여 동영상 콘텐츠를 빠르게 탐색할 수 있습니다.

Android TV에서 사용할 완전히 새로운 UI를 구현하기 위해 상당한 양의 코드 리팩터링이 필요했고, 이때 Android의 아키텍처 구성요소에서 제공한 MVVM(Model-View-ViewModel) 아키텍처가 유용하게 사용되었습니다. 개발팀은 아키텍처 가이드라인에 따라 UI 코드와 앱 로직을 명확하게 구분할 수 있었으며, 이를 통해 새로운 UI를 모두 작성한 후 앱 로직 코드를 간편하게 공유할 수 있었습니다. 이제 이 코드가 VLC의 모바일 및 TV UI에 적용됩니다.

또한 팀은 Livedata transformations와 협력하여 제목, 추가된 날짜, 동영상 길이와 같은 동영상 정보를 기준으로 그룹화된 요소가 있는 지도를 만들었습니다. 이러한 정보는 VideoLAN이 모바일에서 사용한 고유 목록에서 가져온 것이었습니다. Android TV는 동영상을 가로 모드로 표시하기 때문에 팀은 스크롤할 수 있는 세로 목록에 콘텐츠를 표시하는 대신 콘텐츠를 여러 행으로 분할했습니다.

음성 제어 및 '관심 목록' 기능 통합

마지막으로 VideoLAN은 Google 어시스턴트를 통한 음성 명령 재생 컨트롤을 사용할 수 있도록 MediaSession을 구현했습니다. 또한 팀은 TV 앱 코드에 '관심 목록' 기능을 추가했습니다. 사용자는 이 기능을 사용해 이전에 시작한 동영상을 Android TV 홈 화면에서 바로 다시 재생할 수 있습니다.

결과

VLC는 무료 탐색이 가능한 미디어 플레이어이며 대형 화면에 최적화되어 있습니다. VideoLAN팀은 전 세계 사용자로부터 긍정적인 의견을 지속적으로 받고 있으며, 프랑스와 스위스의 인터넷 서비스 제공업체(ISP)에서는 VLC를 자사의 셋톱 박스에 기본 앱으로 추가하겠다고 요청하기까지 했습니다.

VideoLAN의 사장인 장 바티스트 켐프는 "TV는 VLC와 같은 미디어 플레이어를 위해 만들어진 기기이며, Android TV에서 앱을 사용하려고 기다리는 사람들이 많다는 사실을 알고 있었습니다. 그렇기 때문에 Android 코드의 95%를 재사용하여 최적화하기가 가장 간단한 플랫폼이었습니다."라고 말했습니다.

화면이 작은 스마트폰부터 대형 화면 TV에 이르기까지 다양한 기기를 지원하는 앱을 갖추게 된 VideoLAN은 사용자가 좋아하는 동영상을 시청하기 위해 선택하는 여러 기기를 통해 더 많은 모바일 사용자에게 다가가는 데 성공했습니다.

시작하기

Android TV에 맞게 앱을 최적화하기 위한 권장사항을 확인해 보세요.