采集-->压缩-->mpeg4文件 怎么实现啊?(用DirectShow)

vcnewer 2004-12-01 10:01:44
主要是压缩用什么filter 啊? XviD 是处理视频的吧,音频怎么办呢,然后两路怎么合成写入文件,有mpeg4 mux 吗? 小弟新手,各位大侠不吝赐教啊,:)
...全文
256 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ywybetter 2005-01-11
  • 打赏
  • 举报
回复
ding
vcnewer 2004-12-07
  • 打赏
  • 举报
回复
结帖散分了,
欢迎去以下两个继续领分

http://community.csdn.net/Expert/topic/3621/3621738.xml?temp=.5053522

http://community.csdn.net/Expert/topic/3624/3624427.xml?temp=4.754275E-02
nonocast 2004-12-07
  • 打赏
  • 举报
回复
修改Xvid源代码
把它去掉是直接的方式
vcnewer 2004-12-06
  • 打赏
  • 举报
回复
楼上的兄弟,你在哪下的XviD Codec 呀,我装的这个每次编码总弹出一个"XviD Status"对话框
xiaohaige 2004-12-02
  • 打赏
  • 举报
回复
我是这样加到graph里的。
ICreateDevEnum *pSysDevEnum = NULL;
hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER,
IID_ICreateDevEnum, (void **)&pSysDevEnum);
if (FAILED(hr))
return hr;
// Obtain a class enumerator for the video compressor category.
IEnumMoniker *pEnumCat = NULL;
hr = pSysDevEnum->CreateClassEnumerator(CLSID_VideoCompressorCategory, &pEnumCat, 0);
if (hr == S_OK)
{
// Enumerate the monikers.
IMoniker *pMoniker = NULL;
ULONG cFetched;
while(pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK)
{
IPropertyBag *pPropBag;
hr = pMoniker->BindToStorage(0, 0, IID_IPropertyBag,
(void **)&pPropBag);
if (SUCCEEDED(hr))
{
// To retrieve the filter's friendly name, do the following:
VARIANT varName;
VariantInit(&varName);
hr = pPropBag->Read(L"FriendlyName", &varName, 0);
if (SUCCEEDED(hr))
{
if(COleVariant(varName) == COleVariant("XviD MPEG-4 Codec"))
{
hr = pMoniker->BindToObject(NULL, NULL, IID_IBaseFilter,
(void**)&m_pXvidvfw);
// Now add the filter to the graph.
hr = m_pGraph->AddFilter(m_pXvidvfw, L"XviD MPEG-4 Codec");
if (!SUCCEEDED(hr))
m_pXvidvfw->Release();
break;
}

}
VariantClear(&varName);

// To create an instance of the filter, do the following:
//Remember to release pFilter later.
pPropBag->Release();
}
pMoniker->Release();
}
pEnumCat->Release();
}
pSysDevEnum->Release();
vcnewer 2004-12-01
  • 打赏
  • 举报
回复
up
我试了如下链路
videoDEV --> XviD MPEG4 Codec --\
| --> AVI Mux --> FileWriter
audioDEV --> MPEG Layer-3 -----/
发现音视频不同步 :(
killghost 2004-12-01
  • 打赏
  • 举报
回复
如何在DirectShow中采用Xvid压缩器?

希望给出例子
UoU 2004-12-01
  • 打赏
  • 举报
回复
配置AVI mux, Master Stream设为1(audio),同步会好一点。

2,542

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧