Top Banner
V Player V Player convinent video explorer convinent video explorer 03309331 03309331 이이이 이이이
12

V Player convinent video explorer

Jan 25, 2016

Download

Documents

makani

V Player convinent video explorer. 03309331 이웅주. 목차. 기능 구현 방법 개발 도구 구조 구현 스크린샷 개선할 사항. Main video. Preview video. Navigation bar. 기능. 편리한 탐색 기능 트랙바에 커서를 올려놓아 해당 시점의 영상을 별도 창으로 플레이. 구현 방법. VMR windowless control 을 사용 : VMR Player 샘플 참조 하나의 비디오 파일을 두 개의 비디오 관리 클래스로 읽어들인다 . - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: V Player convinent video explorer

V PlayerV Playerconvinent video explorerconvinent video explorer

03309331 03309331 이웅주이웅주

Page 2: V Player convinent video explorer

목차목차 기능기능 구현 방법구현 방법 개발 도구개발 도구 구조구조 구현구현 스크린샷스크린샷 개선할 사항개선할 사항

Page 3: V Player convinent video explorer

기능기능 편리한 탐색 기능편리한 탐색 기능

• 트랙바에 커서를 올려놓아 해당 시점의 영상을 트랙바에 커서를 올려놓아 해당 시점의 영상을 별도 창으로 플레이별도 창으로 플레이

Previewvideo

Main video

Navigation bar

Page 4: V Player convinent video explorer

구현 방법구현 방법 VMR windowless controlVMR windowless control 을 사용을 사용 : VMR Pla: VMR Pla

yer yer 샘플 참조샘플 참조 하나의 비디오 파일을 두 개의 비디오 관리 하나의 비디오 파일을 두 개의 비디오 관리

클래스로 읽어들인다클래스로 읽어들인다 .. 하나는 메인하나는 메인 , , 하나는 프리뷰 용으로 하나는 프리뷰 용으로

사용하고 이들을 관리할 클래스를 사용하고 이들을 관리할 클래스를 구현한다구현한다 ..

Page 5: V Player convinent video explorer

개발 도구개발 도구 IDE/CompilerIDE/Compiler

• Visual C++ 2005 ExpressVisual C++ 2005 Express SDKSDK

• Microsoft Platform SDK for Windows Microsoft Platform SDK for Windows Server 2003 R2Server 2003 R2

Page 6: V Player convinent video explorer

구조구조 제어를 쉽게 하기 위해 제어를 쉽게 하기 위해 Manager Manager 클래스를 클래스를

통해 세부 작업을 추상화시킴통해 세부 작업을 추상화시킴

_movie : Movie _moviePreview: Movie

Manager : Manager trackBar : TrackBar

Send event to Manager

controlcontrol

Vplayer 의 객체 다이어그램

Page 7: V Player convinent video explorer

구현구현 : : 프리뷰 윈도우프리뷰 윈도우 Windowless Windowless 모드에서는 두 개의 비디오 화면을 모드에서는 두 개의 비디오 화면을

겹칠 경우겹칠 경우 , , 깜박거림깜박거림 (flicker) (flicker) 현상이 발생함현상이 발생함 .. 이를 해결하려면 이를 해결하려면 Renderless Renderless 모드를 사용해야 모드를 사용해야

하나하나 , , 자료 부족으로 인한 기술적 어려움으로 자료 부족으로 인한 기술적 어려움으로 사용하지 못함사용하지 못함 : : 두 개의 비디오 스트림을 하나의 두 개의 비디오 스트림을 하나의 출력으로 출력으로 compositecomposite 하는 문제하는 문제 . . 이를 위해 이를 위해 ImagImage Compositore Compositor 를 커스터마이징해야함를 커스터마이징해야함

대안으로 대안으로 Windowless Windowless 모드로 구성하되모드로 구성하되 , , 메인과 메인과 프리뷰 화면이 겹쳐지지 않도록 구성프리뷰 화면이 겹쳐지지 않도록 구성

Page 8: V Player convinent video explorer

구현구현 : : 트랙바 처리트랙바 처리 트랙바는 트랙바는 WM_MOUSEMOVE WM_MOUSEMOVE 이벤트를 이벤트를

처리하지 않음처리하지 않음 : : 포커스있는 이벤트만 포커스있는 이벤트만 처리 가능처리 가능

메시지 루프 때마다 트랙바의 메시지 루프 때마다 트랙바의 onMouseMoonMouseMove()ve() 를 호출하여 커서의 현재 위치가 를 호출하여 커서의 현재 위치가 트랙바인지 검사하고 처리트랙바인지 검사하고 처리

이벤트 처리를 단순화하기 위해이벤트 처리를 단순화하기 위해 , , 별도의 별도의 클래스로 구성클래스로 구성

Page 9: V Player convinent video explorer

구현구현 : : 인터페이스 처리 단순화인터페이스 처리 단순화 인터페이스를 일시에 호출하고 해제하는 것은 인터페이스를 일시에 호출하고 해제하는 것은

리소스 관리 측면에서 효율적임리소스 관리 측면에서 효율적임 그러나 인터페이스가 많이 필요하고그러나 인터페이스가 많이 필요하고 , , 특정 특정

인터페이스들이 의존 관계에 있을 경우 구조 인터페이스들이 의존 관계에 있을 경우 구조 파악과 관리가 어려워짐파악과 관리가 어려워짐

이에 인터페이스는 필요할 때 가져오고이에 인터페이스는 필요할 때 가져오고 , , 사용 사용 후에는 해제시킴후에는 해제시킴

이로써 코드 작성 및 유지보수가 수월해짐이로써 코드 작성 및 유지보수가 수월해짐 : : 코드는 전반적으로 증가함코드는 전반적으로 증가함

Page 10: V Player convinent video explorer

스크린샷스크린샷 : : 일반 플레이일반 플레이

Page 11: V Player convinent video explorer

스크린샷스크린샷 : : 프리뷰 모드프리뷰 모드

Page 12: V Player convinent video explorer

개선할 사항개선할 사항 화면 공간 활용을 극대화하기 위해 화면 공간 활용을 극대화하기 위해 RenderRender

less less 모드 및 모드 및 custom compositor custom compositor 사용하여 프리뷰 화면이 겹쳐지도록 사용하여 프리뷰 화면이 겹쳐지도록 구성해야함구성해야함

유저 편의를 위한 컨트롤 필요유저 편의를 위한 컨트롤 필요 : : 음량 조절 음량 조절 등등