IT 이야기2010. 6. 21. 06:28

ReMIX10 웹 캐스트 - 사례로 본 실버라이트 미디어 서비스

ReMIX10 키노트의 라이브를 제공한 큐브코어라는 회사에서 Expression Encoder 4에 대해서 소개하고, Silverlight와 Expression Encoder를 이용해서 구축한 미디어 서비스 사례를 소개하는 세션이다.

발표 시간이 짧아서인지 '이전에는 어려웠는데 이제 쉬워졌다' 정도의 설명이 대부분이고 구체적인 설명은 부족해서 아쉬운 세션이었다.

Silverlight Media 사례

  • 초기에는 단순한 미디어 플레이어 정도의 Silverlight 기반 플레이어를 제공하는데에 그쳤으나 점점 발전되어 PIP, 검색, 영상 정보 및 피드백 기능 들이 제공되고 있다.
  • Silverlight를 이용해서 미디어 서비스를 제공하는 것은 초기에는 엔터테인먼트 쪽에서 활발하게 이슈가 되었으나(엠넷, 네이버의 스포츠 중계 등) 요즘은 교육 쪽에서 이슈가 활발하다.
  • 강남구청 수능 방송 제공 사이트의 사례를 언급. 품질을 중시하여 HD급 영상을 제공할 수 있도록 구성됨.
  • 강의가 챕터별로 제공되는데, 시청자는 자신이 부족한 부분만을 골라서 목록을 만들고(앨범 기능) 시청할 수 있다.
  • 생방송에서는 양방향 상호 작용이 중요한데, Silverlight가 제공하는 양방향 통신 기능으로 채팅 등의 기능을 구현하기가 용이하다.

기존의 Live Smooth Streaming

  • Expression Encoder 3에서 생방송 기능을 제공했지만, 생방송을 Smooth Streaming으로 제공하지는 않았다.
  • 따라서 H/W 인코더를 사용해야 했다.
  • 기존의 S/W, H/W 환경을 바꿔서 새로 구축해야 하는 비용 부담이 있었고, 구축 방법도 까다로웠다.

Expression Encoder 4를 이용한 Live Smooth Streaming

  • 기존 방송 장비와 연계하여 사용이 가능하다. (설명 없음)
  • Encoder 4에서 자체적으로 Live Smooth Streaming을 제공하므로 H/W 장비가 없이도 생방송을 Smooth Streaming으로 제공할 수 있다.
  • Live Broadcasting Project를 제공하여 손쉽게 사용할 수 있다. 

EE4를 이용한 Live 구성 방안

서비스 구현 사례(FosDN)

  • UCC 서비스를 제공하고자 하는 고객이 쉽게 UCC 서비스를 구축할 수 있게 해준다.
  • 사용자는 동영상을 올리기만 하면 되도록 쉬운 UI를 제공하려고 노력하였다. (업로드 과정을 데모하지는 않음)
  • Smooth Streaming 자동화
  • Live Smooth Streaming  제공
  • Smooth Streaming을 제공하려면, 서버에서 인코딩을 해야하므로 서버 부하가 심하다. 상당한 커스터마이징을 통해서 성능 최적화를 하기 위해 많이 노력하였다. (분리된 인코딩 서버가 있다는 뉘앙스의 설명을 잠깐 했다)

서비스 신청 화면

서비스 신청 시 전송 방법이나 사용 프로필을 선택하고, 그것에 따라서 요금제 등으 선택하는 화면이 인상적이었다.



구현 사례


기술 자료

  • www.fodsn.com
  • download.fodsn.com
Posted by wafe
IT 이야기2010. 6. 21. 00:07

이 포스트는 TechDays 2010 Spring의 Expression Blend와 함께 WPF3D Workflow를 알아보자!라는 세션을 시청하고 요약한 것입니다.


사실 예전에 WPF 3D를 맛보기 정도로 경험해봤던 나는 좀 더 새로운 3D 관련 지식에 대해 필요성을 느끼고 있었다. 속도 문제라거나 좀 더 좋은 방법들에 대해서 궁금해했었다.

그런 의미에서 이 동영상은 새로운 방법들이 몇몇 보였다.

우선 동영상에 나온 자료 자체가 -_- 내가 만들었던 단순 패널 3D와는 차원이 달라! 뭐야 이거! 덜덜덜...
이 분은 MAX를 이용하여 3D를 만드시고, 그것을 저장한다.


MAX에서 저장한 3D파일을 ZAM 3D로 읽는다. 예전 세미나 때도 한 번 본 적 있었는데, ZAM 3D는 3D파일을 읽어들이거나 생성한 3D객체들을 XAML 형태로 변환해주는 멋진 프로그램이다. 사실 처음 봤을 때에는 "우왕 굳" 했었는데 말이지...
여하튼 3D파일을 불러오면 아래 사진처럼 MAX에서 작성한 3D화면이 그대로 보이게 된다. "뿅!"
ZAM 3D로 가져올 때 주의점이 있는데 3D파일과 3D파일을 구성하는 이미지 파일들이 한 폴더 내에 같이 있어야 잘 보인다고 한다.


이제 XAML 파일로 내보내야 하는데, Export할 때 몇 가지 옵션 사항들을 체크해주면 된다. Control Type에는 Viewport3D, ViewBox등의 컨트롤을 지정할 수 있으며, Resource로 내보낼건지, Template으로 내보낼건지, Inline으로 내보낼건지 선택할 수 있다.


이제 XAML파일로 내보내었으니, Blend로 이동하여 새 프로젝트를 만들고 생성한 XAML 파일을 열어보도록 하자.
파일을 가져오면 아래의 사진처럼 똑같이 나온다. (대단한데?)



또 놀라웠던 점은 나는 3D의 객체 구성 내용들을 블렌드에서 확인해보는 정도로 그쳤었는데, 이 분은 블렌드에서 직접 3D객체들을 움직여서 애니메이션도 거시더라... -_-); 왠지 코드로 열심히 애니메이션을 걸었던 내가 바보같이 느껴졌다. (원숭이가 된 느낌)
이 부분이 매력적으로 느껴졌던 이유는 내가 예전 3D를 할 때, 애니메이션이나 이동 같은 걸 구현하면서 실제 눈으로 보면서 확인할 수 있으면 얼마나 좋을까하는 불만이 있었기 때문이다.

음... 하지만 또 한 편으로는 이런 기능들도 ZAM 3D에서 잘 코드가 만들어져서 나오기 때문에 편하게 적용되는 방법일 수도 있겠단 생각이 들었다.

그리고 예전애 내가 사용자의 입력을 받기 위해 3D객체의 타입을 Visual2DViewport3D 객체를 사용했었는데, 이 분은 ModelViewport3D를 ModelUIElement3D로 객체 이름만 간단하게 바꿔서 구현해내시더라. (아놔 ㅋ 밥 아저씨를 보며 느꼈던 허무감이 밀려옴)

필요한 툴도 있고, 생각보다 쉽지 않을 수도 있지만! 블렌드를 이용한 정말 간단한 Workflow였다!
좋은 정보와 함께 블렌드를 통해 3D를 갖고 놀 수 있는 방법을 알 수 있어 더더욱 좋았다.

Posted by 벚꽃손님