리눅스 QT 기반의 동영상 플레이어를 만들어볼라고 하는데요.

zosky7의 이미지

리눅스에서 동영상을 보다보면 플레이어들이 꼭 기능들이 아쉽고

뭔가 빠진듯하고 뭔가 불편하고 그런 느낌이 너무 들어서

거창한게 아니라 배우면서 하나하나 만들어볼까하구요.

근데 영상관련은 전혀 해본적이 없어서 뭐부터 손을 데야될지도 모르겠고

참고할만한 사이트나 도움되는 것들이 없을까요?

국내쪽은 검색해도 나오지를 않고 잘 모르겠네요.

jachin의 이미지

성능 좋은 동영상 재생기는 좋은 알고리즘 코덱으로부터 생성된다 말할 수 있겠습니다.

코덱 공부부터 해보시죠. 기존의 라이브러리를 통해 재생을 할 수 있는 프로그램을 만드신다면,

충분히 원하시는 프로그램을 작성하실 수 있으시리라 생각합니다.

MPEG 관련 책이 제일 많을것 같군요.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

netisinfinite의 이미지

인터페이스의 불편함, 목록 관리 등의 부가적인 요소를 말씀하시는 것이라면
xine이나 mplayer frontend를 만드시는 쪽이 쉽고 빠르지 않을까요?
http://www.mplayerhq.hu/design7/projects.html
위 페이지에서 qt로 검색해보면 소스를 참고할만한 프로젝트가 몇 있을 겁니다.

태훈의 이미지

mplayer에 slave모드란게 있습니다. 실행중에 표준입력에 일정한 명령을 입력하면 mplayer 제어가 되는 모드이죠.
QT로 UI 디자인 하시고 버튼 클릭시에 QProcess class를 이용하여 mplayer를 slave모드로 실행, 정지, 제어 하시면 됩니다.

http://qui4mplayer.sourceforge.net/
위 프로젝트가 유사한것 같네요. 사실 이렇게 만드는건 UI 제작말고는 직접 코딩하는게 많이 없어서 그다지 어렵지도 않습니다. 단지 QT로 프로그래밍하는 스킬만 조금 익힐수 있죠.

그리고 코덱을 라이브러리를 쓰고 동영상 플레이어까지 제작 하실려면 mplayer에서 사용하는 ffmpeg라는 코덱 라이브러리가 있습니다. 인코딩 디코딩은 라이브러리에서 하지만 그외 동작은 오픈소스 동영상 플레이어 소스 참고하시면서 코딩하시면 됩니다.
http://sourceforge.net/projects/ffmpeg/

코덱까지 만드실려면... 위에 분 말씀대로 코덱관련 공부를 하신뒤에 역시나 ffmpeg같은 오픈소스 코덱 라이브러리 소스 참고하시거나 H.264표준같은 경우는 JM 레퍼런스 보시면서 만드시면 되겠네요. 이쯤되면 거의 연구하는 수준이라 난이도가 장난아니겠죠. 그러나... 하면 됩니다. 물론 시간이 많아야 겠죠;;

저도 얼마전에 QT프로그래밍을 했는데
http://www.korone.net/
에서 많이 참고했습니다. 그외 QT안에 있는 example 소스와 QT assistant를 참고하시면서 코딩하시면 되겠네요.

Just do it!

마잇의 이미지

리눅스에서 멀티미디어 실행 관련해서는 xine, mplayer, gstreamer 이런 것들이 사용됩니다. xine, mplayer의 경우는 플레이어도 포함되지만 프레임웍(엔진)으로도 쓰입니다. 이것들을 이용해서 제작된 멀티미디어 플레이어들이 많습니다(곧 경쟁의 대열에 합류 하시겠군요). gstreamer는 플레이어는 따로 없고 프레임웍으로만 사용됩니다.

amarok의 경우는 xine, gstreamer 엔진을 사용하고 선택적으로 사용이 가능합니다.
kaffeine은 xine, mplayer(embeded KMplayer)를 사용합니다.

rhythmbox는 gstreamer를 쓰고 totem은 xine, gstreamer 선택적으로 사용 가능합니다.

UI 위주로 개선해서 제작해보고 싶으시면 xine, mplayer, gstreamer 이 중에서 적당한 놈을 이용하셔서 제작해보시면 어떨까 합니다.

위 세가지 모두 퀵타임, wmv 같이 저작권? 문제가 있는 코덱들은 윈도우에서 사용되는 코덱들을 이용해서 출력합니다. 보통 w32codec같은 이름을 지닌 패키지를 따로 깔아야 합니다.

--
마잇


--
마잇