동영상을 저장할 때

2008. 11. 21. 14:35
동영상을 저장할 때 
//////////////////////////////////////////////////////////////////
    HRESULT hr = S_OK;
    hr = pRenderEngine.CoCreateInstance(CLSID_RenderEngine);
    IGraphBuilder   *pGraph = NULL;
    ICaptureGraphBuilder2 *pBuilder = NULL;
    IMediaControl   *pControl = NULL;
    IMediaEvent     *pEvent = NULL;

    // Build the graph.
    hr = pRenderEngine->SetTimelineObject(pMainTL);
    hr = pRenderEngine->ConnectFrontEnd( );
    hr = CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC, 
        IID_ICaptureGraphBuilder2, (void **)&pBuilder);

    // Get a pointer to the graph front end.
    hr = pRenderEngine->GetFilterGraph(&pGraph);
    hr = pBuilder->SetFiltergraph(pGraph);

    // Create the file-writing section.
    WCHAR wstring[1024];
    ZeroMemory(wstring, sizeof(wstring));
    mbstowcs(wstring, (LPCTSTR)createFileName, createFileName.GetLength());

    IBaseFilter *pMux;
    hr = pBuilder->SetOutputFileName(&MEDIASUBTYPE_Avi, wstring, &pMux, NULL);
    long NumGroups;
    hr = pMainTL->GetGroupCount(&NumGroups);



    // Loop through the groups and get the output pins.
    for (int i = 0; i < NumGroups; i++)
    {
        IPin *pPin;
        if (pRenderEngine->GetGroupOutputPin(i, &pPin) == S_OK) 
        {
            hr = pBuilder->RenderStream(NULL, NULL, pPin, NULL, pMux);
            pPin->Release();
        }
    }

    // Run the graph.
    hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
    hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
    hr = pControl->Run();

    long evCode;
    hr = pEvent->WaitForCompletion(INFINITE, &evCode);
    hr = pControl->Stop();

    // Clean up.
    if (pMux)
    {
        pMux->Release();
    }

    pEvent->Release();
    pControl->Release();
    pGraph->Release();
    pBuilder->Release();
Posted by 바람도리
:
BLOG main image
by 바람도리

공지사항

카테고리

분류 전체보기 (38)
Video Coding (0)
폰트 (1)
DX9 (1)
OpenGL (0)
Lua (0)
회사자료 (13)
스크랩 (7)
장비 (1)
des (3)
서버 (1)
ati (1)

최근에 올라온 글

최근에 달린 댓글

태그목록

글 보관함

달력

«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total :
Today : Yesterday :