티스토리 뷰

Projects

Shader project

리노아 봄날의 고양이 2012.09.12 16:20

Shader project 는 2009년 봄에 시작하여 약 한달여 시간에 걸리 개발한 AIR app 이다.

Shader는 flashPlayer 10에 적용된 RTMFP(real-time media flow protocol)로 만들어진 MP3 stream App(AIR app)이다.
Shader는 연결된 모든 사용자와 MP3 파일을 공유하도록 되어있다. 모든 사용자의 mp3 파일 리스트를 동기화 시키고, 
상대방의 mp3 파일을 내것처럼 들을 수 있다.

자동 업데이트가 되도록 개발하여 추후 디테일한 부분은 추가 개발하도록 하였다.

실행 예)

A, B,C 라는 각각의 개인 컴퓨터가 있고, 이 컴퓨터에는 Shader 어플리케이션이 실행되어 있다고 가정한다.
A컴퓨터는 5곡의 mp3 파일을 Shader 에 올려놓고 듣고 있고,
B컴퓨터는 3곡의 mp3 파일을 Shader 에 올려놓고 듣고 있다.
C컴퓨터는 1곡의 mp3 파일을 Shader 에 올려놓고 듣고 있다고 했을때

A, B, C 의 mp3 파일 리스트가 공유가 되면서 A, B, C 의 컴퓨터에는 각가 9곡이 리스트에 나오게 된다.
이때 A의 Shader 리스트에 올라온 B의 mp3 파일을 들으려 시도할때, A의 Shader는 B의 Shader에게 해당 mp3 파일 
데이터를 요청하게 되며, B는 요청받은 파일을 RTMFP를 이용하여 A로 보내게 된다.

무조건 공유라는 목적에 의해 만들어졌기 때문에, Shader에서 진행중인 대부분이 공유가 된다.
B가 "1234.mp3"를 듣고 있으면 A나 C의 network list 에 B가 "1234.mp3" 를 듣고 있다고 표시해 주는게 그 한 예이다.

RTMFP는 UDP기반으로 고속으로 데이터가 전송된다. 신뢰성보다 속도가 우선시 되는 mp3데이터 전송에 사용하기에
알맞는다고 판단했다.

그리고 peer to peer 로 서버없이 flashPlayer 가 직접 통신을 한다. 
최초에 flashPlayer의 넷아이디를 서로 공유해야 그 다음부터 통신이 개시된다. 그 이후부터는 직접 통신이 가능하다.
flashPlayer 의 아이디는 서버를 통한 자동으로 공유되도록 설정하여, 실제 사용시에 넷아이디를 사용자가 직접 주고받는
일은 없다.

개발후 가장 큰 문제는 배포용으로는 법적인 문제가 발생한다.
mp3파일은 공유 할 수 없다는 것이다. 그래서 사내용으로만 사용하였다.

Shader (version 0.9)

초기화면

공유된 mp3 리스트 업

연결 상태

tray icon

댓글
댓글쓰기 폼
공지사항
최근에 달린 댓글
Total
42,583
Today
37
Yesterday
86
링크
«   2018/12   »
            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          
글 보관함