어떤 동영상 플레이어 쓰세요?
Mac OS X에서 동영상을 감상할 때면 늘 이런저런 아쉬움이 남았습니다. QuickTime 플레이어는 코덱 지원이 부족한데다 자막을 지원하지 않는 치명적인 단점이 있고, MPlayer와 VLC는 코덱 지원이 좋고 그런대로 자막도 지원하지만 자막 품질이나 편리함이 살짝 아쉬웠죠. 그 외에도 Chroma Player나 Nice Player같은 것들도 있지만 조금씩 아쉽기는 마찬가지였습니다. 하지만 다들 그러듯이 저도 그냥 있는 것들 중에 적당히 골라서 잘 쓰고 있었습니다. 저는 MPlayer를 애용했는데 자막도 그럭저럭 괜찮고 설정이나 사용법이 편리했기 때문입니다. AC3나 DTS 같은 고급 기능들엔 무덤덤한 편이라서 그냥 적당히 만족하고 있었죠.


충동개발 프로젝트
그러던 차에 Mac OS X 10.4 Tiger가 출시되면서 조금씩 개발에 관심을 갖게 되었습니다. 사실 그 전까지는 맥은 그냥 즐기기 위한 것이니 맥에서는 개발하지 않겠노라 해서 개발 관련 부분은 외면한 채 살았더랬습니다. 그래도 호기심은 있어서 국내 맥 개발 커뮤니티인 osxdev.org의 스터디에도 가끔 나가곤 했는데 그냥 구경하는 수준에서 그쳤죠. 그런데 언젠가부터 조금씩 관심이 생기기 시작했습니다. Xcode도 점점 좋아지고 있었고 은근히 Cocoa가 끌리기 시작하더군요.

조금씩 공부를 하다가 문득 이왕 공부하는거 뭔가 그럴싸한 걸 만들어 보는게 좋겠다 싶었습니다. 뭐가 좋을까 하다가 동영상 플레이어를 만들기로 결정했는데, 사실 그걸 만드는데 필요한 지식이 별로 없었기 때문에 좀 무모한 도전이긴 했지만 뭐 딱히 생각나는 것도 없었기에 그냥 어떻게 되겠지 하는 생각으로 결정해버렸습니다. 그리고 제가 꼬셔서 리눅스에서 맥으로 스위칭한 회사 동료 주철씨도 포섭했죠. 무비스트는 그렇게 대책없이 시작한 충동개발 프로젝트 입니다. 적당히 해보다가 안되면 그냥 관둬버릴 수도 있었죠. 뭐 다 그런 것 아니겠습니까마는... ^^


자막이 나오다
주 목표를 각종 편의 기능과 자체 코덱 내장, 다양한 속성을 지원하는 고품질 자막 표시로 정했는데 자체 코덱 내장은 쉬운 일이 아니었기에 일단 QuickTime 기반으로 하고 자막 부분부터 시작했습니다. 고품질 자막 표시과 함께 자막을 레터박스에 표시하는 기능을 꼭 넣고 싶었는데 두 가지를 모두 하기 위해서는 일반적으로 사용하는 디코딩된 영상에 자막을 입히는 방식으로는 쉽지 않을 것 같았습니다. 어떻게든 할 수는 있겠지만 그다지 맘에 드는 방법이 아니라서 다른 방법을 찾아보기로 했죠. 즉, 영상과 자막을 별도로 표시해야 하는데 그렇다고 어느 프로그램처럼 창을 움직이면 자막이 따로 노는 그런 식이 되어서는 안되었기 때문에 맘에 드는 방법을 찾아 많은 시행착오를 거쳐야 했습니다. 잘 안되면 한참을 손을 놓기도 했죠. 결국 우여곡절 끝에 바라던 형태로 자막을 표시할 수 있게 되었습니다. 전체 화면에서도 외곽선이 또렷한 고품질의 자막을 말이죠. 게다가 색상이나 볼드, 이탤릭, 그림자 같은 속성도 함께! 자막 품질 만큼은 기존의 어느 플레이어보다도 좋아보였습니다. 물론 레터박스에 표시할 수도 있었구요. 정말 기뻤고 뿌듯했습니다.


아.. KorPerian
그런데 그런 기쁨도 잠시... 어느날 갑자기 KorPerian이 나타났습니다. FFMPEG을 QuickTime 컴포넌트로 만드는 Perian이라는 오픈소스 프로젝트가 있었는데 디코딩되는 영상 위에 srt 자막을 입히는 기능이 있었습니다. 여기에 국내 개발자 한 분(김철기님)이 우리가 많이 사용하는 smi 자막 지원을 추가한 것이죠. 이것이 Perian에 정식 등록되기 전에 KorPerian이라는 이름으로 공개된 것입니다. 공개되자마자 엄청난 센세이션을 일으켰음은 두 말할 필요도 없죠. QuickTime 플레이어나 Front Row에서 자막을 볼 수 있게 된데다 MPlayer나 VLC에 내장된 자체 코덱이 바로 FFMPEG이니 코덱 문제도 해결된 것입니다. KorPerian은 말 그대로 축복이었던 것입니다. 와우!

하지만 KorPerian의 출현은 무비스트를 존폐의 기로에 서게 했습니다. KorPerian이 코덱과 자막 문제를 웬만큼 해결해주었기 때문에 무비스트의 필요성이 많이 줄어들었기 때문이죠. "그래도 무비스트가 필요할까?" 하지만 이내 무비스트를 계속 만들기로 결심했습니다. 고생해서 만든 걸 그냥 버리자니 너무 아깝기도 했고 KorPerian은 디코딩된 영상에 자막을 입히는 방식이라 전체 화면에서는 자막 품질이 떨어질 수 밖에 없는데다 사용 편의성 부분은 KorPerian이 어찌할 수 있는 부분이 아니기 때문에 무비스트는 여전히 가치가 있다고 생각한 거죠. 오히려 Perian 덕분에 자체 코덱을 내장하지 않아도 웬만큼 쓸 수 있겠다는 생각에 QuickTime 기반에서라도 플레이어로서의 모양새가 대충 갖춰지면 그냥 릴리즈 하기로 했습니다.


이름이 중요해
릴리즈를 앞두고 가장 고민스러웠던 건 이름을 정하는 것이었습니다. 이름은 "쉽고 짧고 발음하기 편해야 한다"고 생각하기 때문에 멋지면서도 그런 이름을 찾는 것이 쉽지 않았습니다. 처음 시작할 때에도 이름을 정하는게 가장 어려웠는데 고심 끝에 "무비스타(MovieStar)"라고 지었더랬습니다. 동영상 플레이어의 스타가 되겠다는 유치한 이유도 붙여가면서 말이죠. 그런데 얼마 후 이미 같은 이름의 프로그램이 있다는 것을 알게 되어 포기해야 했습니다. 플레이어가 아니라 동영상 관리 프로그램인 듯 했지만 어쨌든 같은 맥 응용 프로그램이니까요. 다시 이름짓기의 고통이 시작되었고 생각할 수 있는 멋진 이름들은 이미 누군가 쓰고 있었기 때문에 온갖 유치한 이름까지 다 생각해야 했습니다. 물망에 올랐던 가장 재치있는 이름으로 "커밍 쑨(Coming Soon)"이 떠오르는군요. ^^

릴리즈 하루 전까지 결정을 못하다가 그냥 제 맘대로 "무비스트(Movist)"라고 해버렸습니다. 이전부터 맘에 두었던 이름이었는데 영화 전문 사이트 MOVIST.COM 때문에 포기했다가 웹사이트와 응용 프로그램이니 범위가 달라 괜찮을 거라고 제 맘대로 생각해버리고는 그냥 정해버린거죠. 나중에 문제가 되면 그 때 가서 바꾸자는 대책없는 심산이었는데 앞으로 어찌 될지 모르겠네요. Movist 말고 Moviest로 할 수도 있었는데 의미가 다른데다 어차피 한글 발음이 같아서 더 맘에 드는 Movist로 했습니다.


개발의 즐거움
평소 즐겨 가던 애플포럼에 소개 글을 올리고 기대반 우려반으로 반응을 기다렸습니다. 어이없게 인텔 바이너리로 빌드하는 실수를 하고 PPC 버전은 재생조차 안되는 등 시작부터 삐걱대긴 했지만 대체로 좋다는 반응이었습니다. 기꺼이 기부하겠다는 이야기가 나올 때에는 정말 기분이 좋더군요. 개발을 계속하길 잘했다는 생각이 들었습니다. 인코딩 문제로 일부 자막을 열지 못하는 문제와 PPC에서 죽는 문제 등의 급한 불을 끄자 비로소 한 시름 놓을 수 있었습니다. 하지만 이내 다시 피드백 받은 내용들을 처리하기 시작했죠. 개발자의 숙명인 릴리즈와 디버깅/기능추가의 무한 사이클에 발을 들여놓게 된 것입니다. 회사에서도 지겹게 하고 있는 일이지만 이상하게 싫지 않더군요. 오랜만에 느껴보는 즐겁고 뿌듯한 기분. 이 맛에 개발을 하는 것인지도 모르겠습니다. ^^


KorPerian과의 조우
첫 릴리즈 발표 후 KorPerian 개발자 김철기님이 연락을 해오셨습니다. KorPerian에 무비스트 자막 기능을 넣어도 되겠냐는 것과 아예 KorPerian을 이어 받으면 어떻겠냐는 것이었습니다. 무비스트는 GPL을 채택했기 때문에 소스가 공개되면 얼마든지 해도 괜찮다는 것과 이미 무비스트만으로도 벅차기 때문에 KorPerian을 이어받는 것은 어렵겠다는 답변을 보냈습니다. 비록 우리 의도는 아니었지만 무비스트의 자막 기능이 Perian에 들어간다고 생각하니 기쁘더군요.

그런데 소스를 정리하고 공개 준비를 하다가 라이센스 문제가 있다는 것을 알게 되었습니다. 무비스트는 GPL인데 Perian은 LGPL이었던 거죠. GPL 프로젝트에 LGPL 코드를 사용하는 것은 문제가 없지만 그 반대는 GPL에 의거하여 LGPL 프로젝트도 GPL로 되어야 하기 때문입니다. 애초에 LGPL로 한 이유가 있을테니 GPL로 바뀌는 것을 원하지 않을 것이고 따라서 GPL 코드는 받아들일 수 없는 것입니다. (혹시 잘못 알고 있는 거라면 바로잡아 주시기 바랍니다) 암튼 이런 이유로 KorPerian에 무비스트 자막 기능을 넣는 것은 어려울 듯 합니다. 아쉽게 되었지만 제겐 다른 프로젝트 개발자와 조우할 수 있었다는 것 만으로도 충분히 의미있는 일이었습니다. 비록 온라인에서 였지만요. 나중엔 잡지에도 나왔으니 무비스트 덕에 이래저래 좋은 경험 많이 해보네요.


무비스트
홈페이지를 만들면서 그동안의 일들을 떠올려보니 은근히 재미있어서 기록으로 남기고 싶더군요. 나중에 다시 읽어보며 그 땐 그랬지 하는 생각에 슬쩍 미소지을 것을 기대하면서 말이죠. 그 때까지 무비스트가 나날이 발전하기를 기대합니다. 무비스트 많이 사랑해주세요. ^^
신고
Posted by 코코아벌레

BLOG main image
Mac OS X 용 동영상 플레이어 . . . . <무비스트> 공식 홈페이지 . . . . . . by 코코아벌레

카테고리

전체 (68)
무비스트 (9)
릴리즈 (50)
개발 (5)
FAQ (4)

달력

«   2017/10   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

글 보관함