关于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无问题.


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

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

btw,有错误码吗?
dreameasy 2006-02-23
  • 打赏
  • 举报
回复
up!
dreameasy 2006-02-23
  • 打赏
  • 举报
回复
up!
内容概要:本文介绍了软件定义汽车(SDV)的最佳实践案例,重点围绕基于Vector技术的电子电气(E/E)架构设计与实现。文档展示了高算力计算平台(HPC)、区域控制器(Zone ECU)和车载网络(如CAN、Ethernet)的系统架构布局,并结合AUTOSAR操作系统(Classic/Adaptive)、虚拟化(Hypervisor)和SOA服务设计,构建现代化车载系统。通过vCANdrive平台演示了从开发、测试(SIL/HIL)、到OTA升级的全流程,涵盖传感器、执行器、应用层软件及云端协同的集成方案。同时展示了硬件原型(如树莓派、Triboard)和MICROSAR系列工具链在实际项目中的应用。; 适合人群:从事汽车电子系统开发、车载软件架构设计以及智能网联汽车研发的工程师和技术管理人员,具备一定的嵌入式系统或AUTOSAR基础者更佳。; 使用场景及目标:①理解软件定义汽车的整体架构设计方法;②掌握基于Vector工具链的HPC与区域控制器集成方案;③实现OTA更新、SIL/HIL测试、ETH-CAN通信转换等关键技术验证;④支持智能驾驶(ADAS)与智能座舱(IVI)系统的快速原型开发。; 阅读建议:建议结合Vector相关工具(如PREEvision、CANoe4SW、MICROSAR)进行实践操作,重点关注系统分层设计、通信机制与软件更新流程,同时可参考文档中的硬件连接示意图与信号映射关系进行仿真与实车验证。

2,554

社区成员

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

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