c# 视频开发中使用VFW功能的编解码的处理思路

本文使用VFW来解决视频过程中的编解码处理.所用的编码格式为XVID.

本人也是第一次处理视频.刚开始时在网上查阅了很多的资料,包括下载了不少C#视频处理的代码,如gowk,及lanmsg3.0 (也是使用的gowk的内核)但是.发觉关于视频编解码时的代码都是不正确的.有的把这部分代码省了.看来作者在调试这一段代码时没有通过.

网上关于视频的处理代码或文章都是delphi或者C++的,同时都是一些介绍性的文章,其中关于核心的解决思路都没有说出来.

在处理编解码时,我们需要约定相同的编码类型,这一点可以使用ICOpen 函数来获取hic.有了hic后,当有数据要处理时,都要使用该hic.同时对于解编码过程中的BITMAPINFO对象,处理的规则,是编码时的BITMAPINFO b1及生成编码后的BITMAPINFO b2,当要解码时,则解码时的顺序正好相反,也就是用b2当输入,b1为输出.而这些基本的思路在网上我却没有找到.最终是通过阅读一段老外的C++代码才理解的.而前面时间就花了我一个星期.

因此对于gowk中的ICM类,我们根本就不需要其派生的二个类,我们需要把编解码子类的功能集成在一个类中,这样就可以共享hic,及BITMAPINFO对象.

真正的函数无非就是ICDecompress,ICSeqCompressFrame这些.都可以在MSDN中查找到.如果想做视频方面的处理,我认为只要理解了思路,都是可以实现的.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值