소프트웨어/SliverLight

Expression Encoder 2 SDK로 인코딩 자동화 - 03. Tip&Tech 썸네일 추출 방법

falconer 2008. 8. 12. 08:36
안녕하세요. 김수영입니다.

오늘은 가을에 들어선다는 입추(立秋)에 내일은 더위의 정점을 달릴 말복(末伏)입니다. 모두들 더위를 피해 바다로,산으로,강으로 떠나셨거나, 이제 떠날 준비를 하고 있을텐데요. 무더운 여름 잘들 보내고 계신지요? 저는 시원한~~ 에어콘 나오는 사무실에서 피서 중입니다. ㅋ

EE2 SDK로 인코딩 자동화 하기 세번째 시간입니다.

계획은 지난주에 2편을 포스팅할 예정이었으나 개인사정으로 좀 지연이 되었습니다.

오늘 얘기할 내용은 EE2 SDK Tip & Tech로 썸네일 추출 방법에 대해 알아 보겠습니다. 요즘은 동영상 플레이어의 동영상 플레이 뿐만 아니라 시작전 대표이미지와 지정된 구간의 챕처 이미지가 표편화 되었습니다.

그러므로 동영상에서 이미지를 추출 하는 방법도 중요한 요소중 하나 입니다. EE2 SDK에서는 크게 3가지 방법을 지원해 주고 있습니다.

이전 포스팅에서 본것처럼 {Marker}를 이용한 방법과 {MediaItem.ThumbnailMode} 설정을 통한 방법은 이미 살펴 보았습니다. 마지막으로 {MediaItem}{GetThumbnail} 메소드를 통해서도 이미지 생성이 가능합니다.

각각의 차이점을 알아보면 {Marker}{MediaItem.ThumbnailMode} 설정은 인코딩 작업이 완료된 후에 이미지가 설정된 값으로 자동으로 생성이 됩니다.. {GetThumbnail}은 인코딩작업을 수행하지 않아도 특정시간의 이미지를 생성 할 수 있습니다. 다른 관점에서 비교하면 {Marker}, {GetThumbnail} 특정 시간대의 이미지를 여러장 생성 가능합니다. 하지만 {MediaItem.ThumbnailMode} 는 한장의 이미지 만을 생성 가능합니다.

{썸네일 생성 방법 비교}


{Marker}


{MediaItem.ThumbnailMode}


{GetThumbnail}


{GetThumbnail} 같은 경우는 6월 Remix에서 UCCLight 발표때 보신것 처럼 미디어 업로드 후 인코딩 작업 완료전에 대표이미지를 선택할 수 있게 미리 썸네일을 추출 하는 용도로 사용할 수 있습니다. {GetThumbnail}은 위에 두가지 경우와 다르게(위 두 경우는 물리적으로 이미지 파일을 생성함) 메소드 리턴 타입이 비트맵입니다. 그러므로 비트맵을 파일로 저장하는 작업이 필요합니다.

아래 코드는 UCCLight 프로젝트에서 {GetThumbnail} 응용하여 MediaItem의 확장 메소드를 만들었습니다. 생성할 이미지수, 이미지 사이즈, 이미지저장포맷, 저장 폴더를 지정하면 이미지 개수에 맞게 시간을 나누어 자동으로 이미지를 생성하는 코드 입니다.

{썸네일 생성 확장 메소드}



조금은 오래 걸린 인코딩 자동화 하기가 마무리 되었습니다. EE2 SDK는 여기에서 다루지 않은 아직 많은 내용이 있습니다. 보다 많은 내용은 직접 인코딩 샘플을 만들어 가면서 찾아 보는 것도 재미있는 경험이 될 수 있을 것 같습니다.(참고 자료가 그렇게 많이 있지는 않습니다. ㅠㅠ)

지금까지 다루 었던 내용은 이전 6월 Remix Korea에서 발표 되었던 내용입니다.(시간 관계상 아주 자세하게 얘기하지는 못했드랬죠...)

Remix 08 사이트에 가시면 리믹스에 발표 되었던 Session Videio를 보실 수 있습니다.(오른쪽 상단쪽에 조그마한 동영상 클립으로 있습니다.-.-)

그리고, 드디어 UCCLight 풀 소스를 공개 합니다.ㅎㅎ UCCLight 프로젝트에는 인코딩 부분뿐만 아니라 실버라이트 동영상 플레이어, 실버라이트 바이너리 파일 업로더, ASP.NET 3.5 기술 등을 만나 보실 수 있습니다.

UCCLIGHT 소스공개 (실버라이트 UCC 솔루션)

막바지 무더위 건강 조심하시구요, 새로운 재미 있는 내용으로 다시 보아요~~~~~

{목차}
EE2 SDK로 인코딩 자동화 - 01. 개발 준비

EE2 SDK로 인코딩 자동화 - 02. 인코딩 코드 작성
EE2 SDK로 인코딩 자동화 - 03. Tip & Tech 썸네일 추출 방법


감사합니다.

The end...

김수영
Visual C# MVP
훈스닷넷 C# 시샵
.NET N’Gene
네오위즈 게임즈

출처 : http://blog.it-hero.co.kr/blog_post_83.aspx