스트리밍 서버를 제작하려면 어떤 지식이 있어야하나요?
글쓴이: oneclubs / 작성시간: 목, 2010/03/04 - 1:22오후
질문의 주제잡기가 에매해서 자유게시판에 올립니다.
올바르지 않은 게시판이라면..죄송합니다.
제가 멀티미디어쪽은 잘 모르는데..
어째뜬 졸업프로젝트로 선정이 되어서 해야 합니다.
그래서 우선 지식습득을 해야하는데.. 궁금한점이 있습니다.
상황은 이렇습니다.
서버/클라이언트를 직접 만들어야합니다.
브라우저를 활용하지 않을 생각입니다.. 좀 이상하죠? 네..아뭏든..
서버에 동영상 파일이 존재합니다. mpeg이나 asf flv중..1개만 할 생각인데요..
스트리밍 방식으로 서버에 존재하는 파일을 클라이언트에 전송해주고 싶은데요
제가 스트리밍 쪽 지식이 너무 없어서 멍청한 질문일지도 모르겠습니다.
궁금한점은..
파일을 보낼때, 제가 원하는 크기로 잘라서 보내도 클라이언트는 재생이 가능한가요?
예를들면 10KB단위로 파일을 쪼개서 보낸다면
클라이언트에서 그 부분만 받아서 재생이 가능한가요?
만약 위의 방식이..작동 된다면..
클라이언트에서 작동하는 재생플레이어를 만들고자한다면
가장 쉬운 포멧은 어떤것일까요?
재생 플레이어도 직접만들어야합니다..
Forums:
그닥 어려울것은 없을 것 같네요..
일단은 AVI로 하시는게 제일 편하지않을까 생각하고요.
원하는크기로 잘라서 보내도 클라이언트는 재생할 수 있습니다.
단, 가급적이면 프레임 단위로 끊어서 보내시는게 처리하시기에는 수월합니다.
(이해가 잘 안되실경우 동영상재생쪽을 조금만 공부하시면 무슨 말인지 쉽게 알수있습니다.)
재생 클라이언트는 윈도우라면 DirectShow를 사용해서 만드는게 편할거 같은데..
DShow가 싫거나, 멀티플랫폼 지원을 해야 한다면, FFMPEG같은거 이용해서 코덱부터 직접 다 처리해도 상관은 없을듯 합니다.
--
This is for you new people. I have just one rule :
Everyone fights, no one quits. If you don't do your job, I'll shoot you myself. Do you get me?
--
windows에서 dshow로
windows에서 dshow로 하신다면 충분히 가능합니다. 대신 avi 같은 경우에는 자체적으로 스트리밍을
지원하지 않기 때문에 초기 로딩이 좀 느립니다. 인덱스를 받아와야하기 때문입니다.
인덱스를 다 받아야지만 재생이 가능하며 재생이 될때는 적절히 데이터를 보내주면 재생이 가능합니다.
일반적으로 dshow의 경우에는 필터라는 개념을 사용합니다. 데이터를 읽는 모듈도 필터, 디코더도 필터
음성과 영상을 분리하는것도 필터.. 이런식입니다.
클라이언트에서는 데이터를 읽는 필터(소스필터)를 작성해주시면 됩니다. 스플리터(음성과 영상을 분리하는 필터)에서
마치 로컬 파일을 읽듯이 어느 위치에서 몇바이트만큼 데이터를 요청합니다. 그걸 소스필터에서 서버에 데이터를 요청하거나
아니면 서버가 보내준 데이터를 버퍼에서 가지고 있다가 버퍼에서 리턴하든 어떤 방법을 사용해서 스플리터에서 요청하는
것을 적절히 처리해주시면 땡입니다.
그러기 위해서는 서버에서 보내준 데이터를 버퍼링 하는게 가장 중요합니다. 서버에서는 클라이언트가 요청하는 데이터 블럭을
잘 파일에서 읽어서 넘겨주는 역할을 수행하시면 됩니다.
포맷은 어떤걸 이용하시든 상관없습니다. 포맷에 대한 모든것은 스플리터 필터에서 알아서 해줍니다.
재생하는 클라이언트에 원하시는 스플리터 필터만 dshow에서 로드 할수 있도록 환경만 구축해주면
나머지는 스플리터 필터에서 알아서 다 해줍니다. 물론 왠만한 스플리터 필터는 오픈소스로 공개된게 있습니다.
그걸 이용하시면 됩니다.
대신 wmv는 없습니다. wmv는 좀 구조가 복잡해서 공개된건 없고(찾아봤지만 없었습니다.) 직접 구현하셔야합니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.