DLNA/UPnP?MPD기반의 네트워크 플레이어를 사용해 보았다면, 음원 폴더를 공유하고, 권한 설정하고, 네트워크 플레이어(Alix)에 등록(마운트)하는 까다로운 절차를 경험했을 겁니다. 이런 어려운 절차는 사용자에게 음악 감상을 위해 네트워크 공부까지 해야 하는 부담감을 주었으며, 편리하며 음질까지 좋은 네트워크 플레이어 구축을 포기하게 만드는 주 원인이었습니다. 이런 문제를 해결하기 위해, 네트워크 지식이 전혀 없는 사용자도 네트워크를 통해 음악감상, 영화, 사진보기 등이 가능하게 하기위해 개발된 기술이 DLNA(Digital Living Networking Alliance) 입니다. 네트워크나 컴퓨터에 대한 지식이 없어도, 내 컴퓨터에 저장된 미디어 파일을 다른 기기(뮤직 플레이어, TV, 스마트폰 등)에서도 플레이 하거나 볼 수 있게 해주는 기술입니다. 다시 말하자면, 컴퓨터의 미디어 파일을 공유하고, 플레이 할 각 기기에서 그 공유된 미디어 파일의 폴더를 등록하는 이런 어려운 절차 없이도 네트워크 플레이를 가능하게 해주는 기술입니다. 이해를 돕기 위해 먼저 MPD 시스템으로 기존 네트워크 플레이어의 개념을 설명해 보겠습니다. MPD 프로그램이 실행 중인 알릭스(Alix)가 있고, 음원 파일이 저장된 컴퓨터, 그리고 리모컨 기능을 하는 스마트폰이 있습니다. 알릭스로 음악을 들으려면, 컴퓨터에서 음원 폴더를 공유설정하고, 그 폴더를 Alix에 등록(마운트)합니다. 사용자가 스마트폰에 설치된 MPD Client 프로그램에서 알릭스에게 곡 연주를 지시하면, 알릭스는 그 등록된 음원 폴더에서 그 곡의 음원 파일을 그대로 가져와 연주를 시작합니다. 이때 그 음원 파일을 디코딩하여 DAC가 인식 할 수 있는 PCM 상태로 변환하는 일은 당연 알릭스에 실행 중인 MPD 프로그램이 담당 합니다. 또한 음원 폴더에 음원이 추가되면 음원 정보 데이타베이스(DB) 갱신도 MPD 프로그램 담당입니다. DB를 만들거나 관리하는 것도 MPD 프로그램의 몫인 겁니다. 이렇듯 전반적으로 MPD라는 프로그램에 의존하는 시스템입니다. 위에 설명한 MPD 시스템과 비교하여, DLNA 방식의 경우를 설명해 보겠습니다. 필요한 장비들은 MPD나 DLNA나 비슷합니다. 알릭스, 음원 파일이 저장된 컴퓨터, 그리고 스마트폰이 필요 합니다. (경우에 따라 스마트폰은 없어도 됩니다.)
[DMS] MPD 시스템은 알릭스에 실행 중인 MPD라는 프로그램에 전반적으로 의존하지만, DLNA 환경에서는 음원 컴퓨터에 설치된 이 DLNA Media Server의 역할이 가장 중요합니다. 음원 DB를 만들고 관리하고, 네트워크에 있는 다른 기기들에게 자신이 미디어 파일을 가지고 있다고 알리며, 실제로 음악 플레이도 이 DMS가 하게 됩니다. PC에 사용되는 Foobar2000이나 JRiver등이 DLNA Media Server의 기능을 수행합니다. 요즘은 NAS에도 DMS 기능이 내장되어 있는 경우가 많이 있습니다.
[DMC] DLNA Media Controller는 DLNA Media Server에게 곡을 플레이 하라고 지시하고, 플레이 출력물인 스트림을 어디로 보내야 하는지를 지시합니다. 그 스트림을 DMS 자체의 사운드카드로 바로 보낼 수도 있고, 네트워크 상의 다른 기기로 보내 수도 있습니다. DMC 프로그램을 설치하면 스마트폰, 태블릿 PC, 노트북, 데스크탑 PC등을 리모컨으로 사용할 수 있습니다. iPhone, iPad에서는 LINN Kinsky,
[DMR] 여기서는 알릭스가 DMR이 되는 겁니다. 알릭스의 DMR 프로그램이 "나 DMR이야, 나 여기 있어"라고 네트워크에 있는 다른 기기들에게 외치며 자신의 존재를 알립니다. 그래서, DLNA Media Controller(DMC)는 알릭스라는 DLNA Media Renderer의 존재를 알게 되고, 이 알릭스 DMR의 존재를 사용자에게 보여줍니다. 만약 사용자가 DMC를 통해 DMS에게 출력 스트림을 알릭스의 DMR에게 보내라고 지시한다면, 알릭스가 그 DMS로부터 오는 스트림 신호를 받게 되고 그걸 DAC로 토스해주는 역할을 합니다.
[디코딩은 누가 하나?] 위 설명에서 DLNA Media Renderer(DMR)인 알릭스는 별로 할 일도 없고, 날아오는 스트림을 받아 먹기 위해 입만 벌리고 있는 신세가 되어 버렸습니다. 하지만 알릭스에게 일을 시킬 수도 있습니다. 대부분의 경우 DLNA Media Server(DMS)가 디코딩을 담당합니다. 하지만, DMS가 DMR이 디코딩을 할 수 있는 능력이 있다고 판단한다면, 디코딩 없이 음원 자체를 DMR에게 보내 줄 수도 있습니다. 이런 경우 디코딩은 DMS가 아닌 DMR인 알릭스가 담당하게 되는 겁니다.
누가 디코딩을 할지는, 전적으로 '누가 디코딩을 할 수 있는 능력이 있는가?'에 달려있습니다. 이해를 돕기위해 MP3 파일을 플레이하는 경우를 예로 들어 보겠습니다.
참고로, EasyMPD에 내장된 Media Renderer는 flac, mp3, ogg 파일만을 디코딩 할 수 있습니다. 다른 종류의 음원을 알릭스를 통해 들으려면, DMS에서 디코딩 해주어야 합니다. 둘 다 디코딩 능력 있는 경우 누구에게 일(디코딩)을 시키는 게 유리할까요? 디코딩을 수행한다는 것은 그만큼 기기에 부하가 걸리게 되는 것을 의미합니다. 아무래도 하드웨어적인 능력(CPU 처리 능력 등)이 더 높거나, 현재 해당 기기에 걸리고 있는 부하가 적은 것을 선택하는 게 맞을 듯 합니다. 하지만 PCM 신호의 정보량은 MP3 파일 자체 그대로 보내지는 양 보다 상대적으로 훨씬 많습니다. 그래서 DMS에서 디코딩을 하여 PCM 신호로 보내는 것이 DMR에서 디코딩 하는 것보다 네트워크에 걸리는 부하가 더욱 크게 됩니다. 이렇듯, 누구에게 디코딩을 시킬지는, 기기의 CPU 부하와 네트워크 부하를 감안하여 사용자가 자신의 환경에 맞게 결정해야 할 문제입니다.
[DB] 디코딩 능력과 상관없이 DMS가 해당 음원의 테크 정보를 읽어올 수 있는 능력이 있다면, DMS는 그 음원을 DB에 포함할 수 있습니다. 만약 분명 존재하는 특정 종류의 음원들이 DMS에 보이지 않는다면, 그 DMS는 그 음원을 인식할 수 있는(테그 정보를 읽어올 수 있는) 능력이 없는 경우 입니다. 이런 경우 EasyMPD를 탓할 것이 아니라, 자신이 사용하고 있는 DMS의 문제이니, 다른 DMS를 사용하던지, 아니면 그 음원을 다른 종류의 음원으로 변환해 사용해야 합니다. 참고로, 네트워크 플레이어 구축에서 가장 유리한 음원은 "Flac"입니다. 다른 음원에 비해 디코딩 시 CPU부하가 적어 상대적으로 좋은 음질을 제공하며, 테그 정보도 규정을 잘 따르고 있어 DB 생성 중에 발생하는 문제가 가장 적습니다. Flac 위주로 음원을 소장한다면 정말 편안하고 즐겁게 음악 생활을 영위할 수 있습니다.
[음질]
이정도면 EasyMPD의 DLNA Media Render 기능의 개념 정리로는 충분하리라 생각 됩니다.
시작하기로 돌아가기 |