在我目前的学习任务中,需要截取音视频文件的前几秒(如:前10秒),然后保存到内存。我初识Directshow,看了SDK中的DES,但不能确定这是否是正确的解决方法。特向高人请教,希望得到指点。
其中,有三个问题让我迷惑:
1. DES中好像只能把截取的一段音视频保存到文件,如果把它保存到内存中呢?
2. 如果我加上RealSplitter等类似的过滤器,这种处理方法能同样适用于Real格式的音视频文件吗?
3. 如果DES不是最合适的解决方法,有其他什么方法。
orz, 磕头致谢.
------解决方案--------------------------------------------------------
1. DES中好像只能把截取的一段音视频保存到文件,如果把它保存到内存中呢?
我想是否保存时有命令选项指向说明保存到内存,或者保存到临时文件后再加载到内存中,个人意见
------解决方案--------------------------------------------------------
要过年了,认真学习的人不多了。呵呵。
------解决方案--------------------------------------------------------
可以的
“DES中好像只能把截取的一段音视频保存到文件”
你使用DES,设置起始点和结束点,然后在RenderStream之前,加上一个Isamplegrabber的Filter,方法见CompressView那个例子。在Isamplegrabber的buffercb那里把数据放在内存里。RenderStream后面可以接一个NULLRender,这样就不写文件也不预览了。当然写也没什么关系,反正你在内存里得到了数据。
------解决方案--------------------------------------------------------
我可以 分析,帮忙.
QQ 79941308
------解决方案--------------------------------------------------------
des完全胜任