请各位高手给点思路,尤其是mpeg4文件的网络传送和回放?
非常感谢!

解决方案 »

  1.   

    我一直用vfw不过这个也差不多的
    压缩是使用别人已经写好的 compress filter时非常容易的如divx
      

  2.   

    好像用DirectShow实现Mpeg4压缩是不行的。实现视频捕获没问题,实现回放需要安装Direct8.1。
    我也不大清楚,帮你UP!
      

  3.   

    VFW的压缩,解压及播放都不错,可以让你了解到深层东西,但网络部分就不容易克服,我想即使是DIRECTSHOW也不能帮你完成网络部分,只能自己写了,用微软的现在方案吧,压缩及解压播放你又无法看到
      

  4.   

    请问:
    wanghainiu(牛牛)如何使用divx来实现啊?
    来我这里拿分(100分哦)
    http://expert.csdn.net/Expert/topic/1438/1438755.xml?temp=.6019556 
     
      

  5.   

    用ds实现视频捕获很容易,我的感觉,vfw有些延迟,速度不是很好
    sdk的代码:
    IGraphBuilder *pGraph = NULL;
    ICaptureGraphBuilder2 *pBuilder = NULL;// Create the Filter Graph Manager.
    CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
        IID_IGraphBuilder, (void **)&pGraph);// Create the Capture Graph Builder.
    CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC, 
        IID_ICaptureGraphBuilder2, (void **)&pBuilder);// Associate the graph with the builder.
    pBuilder->SetFiltergraph(pGraph);    
    // Create the system device enumerator.
    ICreateDevEnum *pDevEnum = NULL;
    CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC, 
        IID_ICreateDevEnum, (void **)&pDevEnum);// Create an enumerator for video capture devices.
    IEnumMoniker *pClassEnum = NULL;
    pDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory, &pClassEnum, 0);ULONG cFetched;
    IMoniker *pMoniker = NULL;
    IBaseFilter *pSrc = NULL;
    if (pClassEnum->Next(1, &pMoniker, &cFetched) == S_OK)
    {
        // Bind the first moniker to a filter object.
        pMoniker->BindToObject(0, 0, IID_IBaseFilter, (void**)&pSrc);
        pMoniker->Release();
    }
    pClassEnum->Release();
    pDevEnum->Release();
    pBuilder->RenderStream(
            &PIN_CATEGORY_CAPTURE,  // Pin category
            &MEDIATYPE_Video,       // Media type
            pSrc,                   // Capture filter
            NULL,                   // Compression filter (optional)
            ppf                     // Multiplexer or renderer filter
        );IBaseFilter     *ppf = NULL;
    IFileSinkFilter *pSink = NULL;
    pBuilder->SetOutputFileName(&MEDIASUBTYPE_Avi, L"C:\\Example.avi", &ppf, &pSink);
      

  6.   

    有没有人知道,怎么将预览的内容,保存成图片格式,先保存为avi,再从中抽取图片,太慢了,不予考虑!
    请关注!!
      

  7.   

    pBuilder->SetOutputFileName(&MEDIASUBTYPE_Avi, L"C:\\Example.avi", &ppf, &pSink);
    这个部分是压缩为文件的代码,
    MEDIASUBTYPE_Avi: Writes an AVI file. 
    MEDIASUBTYPE_Asf: Writes an ASF file. 
    Class identifier (CLSID) of a multiplexer or file-writer filter. 
    ds没有提供对mpeg格式文件的压缩,你只能找第3方filte,或自己写