2011-11-09 2 views
0

비디오 및 오디오 디코딩 스레드를 시작할 수있는 C++ 프로젝트의 간단한 lib를 찾고 싶습니다. 일부 프레임을 가져올 수 있습니까? 나는 샘플 코드에 LIB API와 행동에 대한 내 기대를 설명하려고 :비디오 파일의 간단한 프레임 그래버

player = new Player("video.avi"); 
player->Play(); // lib start video decoding into internal hidden buffer 
        // and audio decoder start play sound from video file 
..... 
buffer = new .... 
player->SyncCopyCurrentFrameIntoBuffer(buffer); // copy last decoded frame into buffer 
.... 
play->Pause(); // lib freeze video and audio decoding 

누군가가 나에게 무언가를 추천 할 수 있습니까? (Win 용)

답변

0

아마 libavcodec (또는 더 일반적으로 ffmpeg 패키지)을보고 싶습니까? http://ffmpeg.org

1

DirectShow은 여러 필터 (예 : 소스, 인코더, 디코더, 색상 변환기, 렌더러 등)로 구성된 미디어 파이프 라인을 만들 수있는 MS 기술입니다. DirectShow에서 다음과 같은 그래프를 만들 수 있습니다.

Video source -> Sample grabber filter -> Video renderer 

그런 다음 그래프를 재생하고 일시 중지 할 수 있습니다. sample grabber 필터를 사용하면 각 샘플이 미디어 파이프 라인을 통과 할 때 트리거되는 콜백을 구성 할 수 있습니다.

DirectShow는 배우기 쉬운 프레임 워크가 아닙니다. 그러나 한 번 해보고 싶은 작업은 매우 쉽게 할 수 있습니다. DirectShow는 C++ 및 일부 COM에 대한 지식이 필요합니다 (MSDN 설명서 참조). 주요 지원은 MSDN 문서를 통해 이루어지며, 이는 매우 광범위하며 MS DirectShow 포럼입니다.