2012-01-21 4 views

답변

1

실제로 이것은 쉬운 문제가 아닙니다. 사용 가능한 DirectShow 필터를 사용하여 파일 데이터를 읽고, 압축 해제 필터에 전달하는 것이 좋습니다 (비디오는 YUV와 같은 원시 형식이 아니라고 가정하므로 샘플 그래버에 연결).

샘플 그래버는 압축되지 않은 원시 이미지를 제공하고 Image 클래스를 사용하여 JPEG를 표시 할 수 있습니다.

프레임 속도를 기반으로 프레임을 동기화하려면 샘플 프레임을 캡처 할 때 특정 타임 스탬프의 표시 시간을 가져올 수 있습니다. 이것은 프레임 율에 상관없이 비디오를 동기화하는 방법입니다. 프레젠테이션 시간은 해당 프레임이 표시 될 예정인 시간을 나타내는 타임 스탬프입니다. 각 비디오는 당신에게 다른 것을 줄 것이고, 당신은 그것을 기반으로 할 때 누가 보여 져야 하는지를 결정할 수 있습니다.

캐싱에 관한 한, 디코더 필터 중 일부를 찾을 수 있습니다. 윈도우와 함께 제공되는 MPEG2 디코더는

IMediaSeeking 

핀을 제공하며,이 핀을 다시 호출하여 새로운 시간을 찾아야한다고합니다.

필터 구성을 테스트하기 위해 graphedit과 같은 것을 사용하는 것이 좋습니다

관련 문제