新手问题,好回答:关于压缩函数的使用!

yinxu 2004-07-30 04:00:06
我使用VFW捕获到了数据(主要进行网络传输,再回放):
...
if not Boolean(capSetCallbackOnVideoStream(FhCaptureWnd, @OnVideoStream)) then
MessageBox(Self.Handle, 'fail to capSetCallbackOnVideoStream function', 'TEST', 0);
...

function OnVideoStream(hWnd: HWND; lpVHdr: PVIDEOHDR): DWORD; stdcall;
var
bKeyFrame : BOOL;
begin
bKeyFrame := False;
F1OutActSize := lpVHdr.dwBytesUsed;
F1OutBuffer := ICSeqCompressFrame(@F1CV, 0, lpVHdr^.lpData,
@bKeyFrame, @F1OutActSize);
...
end;
问:
1.压缩是使用ICSeqCompressFrame函数吗?ICImageCompress和ICCompress还有这个ICSeqCompressFrame函数有什么区别?
2.在上面的代码中F1OutActSize是数据压缩之后的大小吗?如果不是,怎么样得到?
3.在解压缩的时候是用哪个函数?ICDecompress还是ICImageDecompress?
好了,现在就提三个问题,以后再麻烦大家!(每一个问题30分)
不要告诉我VFW不好,我会学的,到时候再问大家!
...全文
151 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinxu 2004-08-06
  • 打赏
  • 举报
回复
为什么在这里的帖子都没有人回呢,我是第一次在流媒体版块发言.请大家都来说说,提供一点思路也行,谢谢大家了!
yinxu 2004-08-04
  • 打赏
  • 举报
回复
牙科医生:
你好,感谢你的回答.但是我还是需要你的帮助:
1、你说的ICSeqCompress函数,是指ICSeqCompressFrame函数还是指ICSeqCompressFrame这一系列函数:ICSeqCompressFrameStart,ICSeqCompressFrame,ICSeqCompressFrameEnd。
2、你说:“关键帧后的帧的数据量就比较小了”。我测试了一下:
大小(字节)/帧/秒:77458/25/秒。我使用的CODEC是:DIVX 5.1.1 Codec。请问这个大小是正常的吗?并且图象晃动厉害,那么这个值(大小(字节)/帧/秒)会上升到10几万字节。
请大家帮助我!
DentistryDoctor 2004-08-03
  • 打赏
  • 举报
回复
1.ICImageCompress是将单帧压缩到指定的尺寸,不需要初始化。
ICCompress是压缩单帧图像,不需要初始化。
ICSeqCompress一般用于压缩帧序列,这样关键帧后的帧的数据量就比较小了。需要ICDecompressBegin启动帧序列压缩。
2.是。如果关键帧则bKeyFrame为TRUE
3。如果是帧则需要调ICDecompressBegin启动帧序列解压,使用ICDecompress解压。

gumbour 2004-08-01
  • 打赏
  • 举报
回复
关注 我也在寻求答案

2,553

社区成员

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

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