실버라이트에서 Expression Encoder를 이용한 동영상 인코딩 작업을 하려면 WCF를 이용해야 한다.

그런데 이게 영 병맛같은 경우가 많다. 분명히 Encoder SDK에 있는 sample 소스의 소스를 그대로 같다 붙였음에도

marker를 이용한 썸네일 추출시 첫번째 섬네일의 이미지만 연속으로 추출이 된다거나하는 경우가 있었고

WCF내부에서 인코딩 작업중인 상황을 알려주는 progress 이벤트를 걸고 이 작업 상황에 대한 결과를 WCF의 다른 메소드로 가져오게
했으나 작업이 잘 이루어 지지 않는것 같다.(이건 내가 잘못 구현한 것일수도...)


아무튼 저 marker로 섬네일 추출작업을 하루종일 삽질하다가 결국은 GetThumbnail 메소드로 대체하기로 했다. (이것도 이전 Encoder에서는
mediaitem에 있던 메소드인데 audiovideofile 이라는 뜬금없는 클래스쪽에 붙어버렸다.

사용법은 audiovideofile file = new audiovideofile("경로");

mediaitem item = new mediaitem(file) 해서 나머지 작업은 똑같이 진행.

근데 GetThumbnail메소드를 이용해서 썸네일 추출 기능을 구현하고 IIS에 올려서 테스트해보려는데 작업진행이 이루어지지 않는것이다.
WCFtestclient에서 확인해 보니 작업이 정상적으로 이루어지지 못하고 중간에 Exception이 발생하는 듯했다. WCFtestclient 프로그램으로 직접
서비스를 호출해 보니 Microsoft.Expression.Encoder.SkuManager Exception 로 시작하는 내용의 에러 메세지가 뜨는 것이다.

해결방법을 국내 포럼에는 자료를 디벼도 안나온다. 구글신의 힘을 빌어 해외 포럼 뒤지기 시작. 실버라이트 포럼에서 답을 찾았다.


Dean Rowe라는 닉네임을 쓰는 유저가 올린 "I got some info from the IIS folks. It looks like the HKEY_CURRENT_USER registry hive is not being loaded by default in the application pool. There should be a "loadUserProfile" option in the application pool settings that you can set to "true"." 내용을 그대로 따라했더니 IIS에 올린 웹에서도 정상적으로 실행이 되더라. ㅠㅠ

솔직히 MS 언어를 쓰는 이유가 관련 사용자도 많거니와 기술지원 자료도 빠방해서 개발하기 편해서 쓰는건데 WCF관련 에러는 관련 문제를 찾기가 너무 힘들어서 정말 짜증나게 한다

Posted by shunman
TAG


티스토리 툴바