개발 관련 글

Windows Live의 실버라이트 스트리밍 서비스 사용하기

퓨전마법사 2008. 11. 1. 23:49

http://gongdo.tistory.com/257

약간의 경험이 있으시다면 곧바로 팀 스니쓰의 Uploading Silverlight 2 Content to Silverlight Streaming를 참조하시면 되고요^^

먼저 Windwos Live의 실버라이트 스트리밍이 뭔지 짚고 넘어가죠.
실버라이트 스트리밍은 Windows Live 서비스의 하나로 http://dev.live.com/silverlight/에서 제공되는 실버라이트를 위한 무료 호스팅 서비스에요.

Windows Live에서 정의하는 실버라이트 스트리밍은, 무료로 실버라이트 애플리케이션을 배포하기 위한 애플리케이션 호스팅 및 스트리밍 솔루션이죠.

여기에서 무료의 범위는 현재(Beta)상태에서는 한 계정당 10GB의 호스팅 용량인데요, 이정도면 웬만한 웹 애플리케이션은 다 올릴 수 있겠죠. 이용 조건은 호스트에 올릴 수 있는 비디오의 전송 속도는 1.4Mbps이내 그리고 비디오의 길이가 10분을 넘기지 않아야 하고요, 한달 동안의 트래픽은 5TB로 제한되어 있다는군요. 베타 서비스가 종료되면 무제한인 대신 광고가 붙는 호스팅 또는 광고가 없는 수수료 방식의 유료 서비스로 전환되죠. 언제 그렇게 될지는 아직 알 수 없고요.

이미 SDK도 나와 있는데요, http://msdn2.microsoft.com/en-us/library/bb851621.aspx여기를 참고하세요.

자, 그럼 실버라이트 스트리밍을 시작해보죠.

먼저 http://silverlight.live.com 에 가서 새 계정을 만들어야죠(Get it free 클릭). 이미 있다면 다음으로...

모든 Windows Live 서비스는 Live ID를 요구하는데요, 실버라이트 스트리밍도 마찬가지죠.

로그인 하면 별다른 과정 없이 곧바로 위와 같은 인증 키가 발급이 되죠. 이것은 향후 API를 이용하거나 할 때 필요하니 꼭 어딘가에 적어두세요. 나중에라도 왼쪽에 보이는 [Manage Account]메뉴를 통해서 재발급 받을 수 있긴 해요.

자 이것만으로도 실버라이트 스트리밍 준비는 끝났습니다. 이제 업로드를 해보죠.

먼저 업로드할 실버라이트 애플리케이션을 만들어야겠죠? 저는 전에 세미나 데모로 사용했던 DeepZoomBase를 골랐어요. 해당 실버라이트 애플리케이션 구동에 필요한 XAP파일과 XAP파일과 함께 배포할 이미지, 미디어 등의 리소스 폴더 그리고 가장 중요한 Manifest.xml 파일을 하나의 ZIP 파일로 압축하면 돼요. Manifest.xml은 다음과 같은 형식으로 만들면 되고요.

<SilverlightApp>
<version>2.0</version>
<source>DeepZoomBase.xap</source>
<width>640</width>
<height>480</height>
<background>white</background>
<isWindowless>false</isWindowless>
</SilverlightApp>

이렇게 모아서 하나의 ZIP으로 압축해두고 다음으로 진행.

Silverlight.live.com에서 [Manage Applciations]를 선택하면 위와 같은 업로드된 Application 목록이 나오는데요, 여기에서 [Upload an application]을 클릭하여 다음으로...

아까 묶어둔 ZIP파일을 선택하고 Upload하고 기다리면 되는데요, 업로드 속도... 장난아니게 느립니다. -_-; 대략 60kbps쯤 나오는 것 같더군요. 인내심을 길러야 겠네요 ㅠ.ㅜ 참고로 한번에 업로드할 수 있는 용량은 105MB가 한계에요.(동영상 파일도 동일)

업로드가 완료되면 위와 같이 업로드된 애플리케이션에 대한 관리를 수행할 수 있고 아래쪽에는 이 애플리케이션을 퍼가는 방법에 대한 안내가 나와 있어요. 예를 들어 제가 테스트로 올린 애플리케이션은 http://silverlight.services.live.com/invoke/59546/DeepZoomBase/iframe.html 라는 주소로 접근할 수 있죠.

아쉬운 점은 우선 속도가 그닥 빠르지 않다는 점이고요. 그런데 이 점은 해외에서는 빠르다는 얘길 들었어요(물론 확인은 못했습니다만 -_-)
다음으로 위의 경로로 접속하면 msbluelight-0.agappdom.net/e1/d/59546/1353527/63341546400/0.PLOueqf6XALqnUkPHslm5smtDVQ/zziframehtml2zz.html#%2f%2fappId%2fDeepZoomBase.xap%2fwhite%2ffalse%2f%2f%2f%2f%2ftrue%2f2.0%2f0와 같이 '더러운' 이름의 URL로 redirect되는데요, 이래서야 원 업로드된 XAP파일의 경로를 안다고 해도 XAP파일만 따로 링크를 거는 것은 불가능해지겠죠.

애초에 실버라이트 스트리밍에 올려놓은 애플리케이션은 javascript나 iframe으로 올릴 수 있게 되어 있는데요, 실버라이트 2를 지원하는 김에 XAP파일을 직접 접근할 수 있는 방법을 마련해줬으면 좋겠어요.

그럼에도 불구하고 실버라이트 스트리밍 서비스는 정말로 유용하다고 생각해요. 예전에 저도 실버라이트 1을 할 때 마땅히 올려놓을 계정이 없어서 불안한 무료 계정을 썼었는데요, 만약 실버라이트 데모 저장이나 공유를 목적으로 한다면 실버라이트 스트리밍이 탁월한 선택이 될 것 같네요.

한번 써보시고 멋진 데모들을 만들어서 다른 사람과 공유해보시죠! :D