关于Stream Bufer Engine和TV Technologies的一个问题.

dreameasy 2005-07-11 11:52:32
(本人开贴,无论大小问题,一概100分起价)

背景资料:

Stream Buffer Engine用于Seek,Pause,Record一个实时的视频流,用于实现PVR和Time Shift功能.
关键之处,在于把视频流录成文件.

为了测试SBE的录这一功能,我试验了下面的连接

--->mpeg2 video--------
file source(某mpeg2电影文件) --- mpeg2 demux--| |--->SBE Sync Filter
-->mpeg2 audio--------

将一个mpeg2视频文件demux成video和audio,然后连接到SBE Sync filter上,用IStreamBufferSink接口的CreateRecorder方法创建一个录制对象.然后,调用 IStreamBufferRecordControl接口的Start方法,开始录制.

下面是部分关键代码:

const IID IID_IStreamBufferSink = {
0xafd1f242 , 0x7efd , 0x45ee , 0xba , 0x4e, 0x40, 0x7a, 0x25, 0xc9, 0xa7, 0x7a};
/* Get the IStreamBufferSink interface */
hr = m_pStreamBufferSyncFilter->QueryInterface(
IID_IStreamBufferSink,
(void **)&m_pStreamBufferSyncInterface);

hr = m_pStreamBufferSyncInterface->LockProfile(L"g:\\test.sbe");

_unlink ("g:\\test.dvr-ms");
hr = m_pStreamBufferSyncInterface->CreateRecorder(L"g:\\test.dvr-ms", 0,&m_pRecUnk);

hr = m_pMC->Run();


...
CComQIPtr<IStreamBufferRecordControl> pRecControl(m_pRecUnk);
REFERENCE_TIME rtStart = 0;
hr = pRecControl->Start(&rtStart);


上面的程序在winxp sp2 下测试通过.得到了一个dvr-ms (microsoft tv show)文件.

请各位读者认真体会我上面的内容,然后看我下面的问题:
(1)我最终的目的,其实是要操控PC上的电视卡,录制电视节目(PVR),实现时间跳转(Time Shift)功能,上面仅仅是对SBE的测试.
在这里,我并没有列出用Stream Buffer Source和上述Stream Buffer Sync进行关联,从而实现Time Shift功能的代码.

(2)如果我有一块数字电视卡(Digital TV),即,电视卡会提供一个类似于mpeg2 file source filter等价的一个源.那么,我上面的测试程序几乎可以照搬。
但是,如果我只有一块模拟电视卡(Analog TV),那么,我需要自己进行mpeg2 encode,filter graph如下:
Analog TV --> mpeg2 video encode--
|-->SBE sync filter
Audio capture --> mpeg audio encode --

按照设想,我觉得对于SBE sync而言,这和上面的例子并无太大区别.

可是,结果是,我发现,这个时候SBE sync并没有得到我期望中的产出物:dvr-ms文件.

问题出在什么地方呢?
我能区定几点:
(1)程序并无问题.
(2)mpeg2 encode无问题.


请各位大侠提供一点思路~~~

我觉得这个问题有点点复杂,请大家帮帮忙~~~
...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
renhappy 2006-02-24
  • 打赏
  • 举报
回复
ds不好用,还是自己的engine好用,至少知道错在哪里

btw,有错误码吗?
dreameasy 2006-02-23
  • 打赏
  • 举报
回复
up!
dreameasy 2006-02-23
  • 打赏
  • 举报
回复
up!

2,543

社区成员

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

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