本文使用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中查找到.如果想做视频方面的处理,我认为只要理解了思路,都是可以实现的.
分享到:
相关推荐
在C#中使用VFW,通常需要通过P/Invoke(Platform Invoke)技术调用C++或VB的DLL文件,因为VFW是用这些语言编写的原生代码。P/Invoke允许.NET Framework的应用程序调用非托管代码,使C#能够与VFW API进行交互。开发者...
总结起来,这个“VFW 视频操作程序”涉及到的知识点包括:Video for Windows API的使用,MFC框架下的Windows应用程序开发,视频捕获和播放,截图功能实现,视频参数设置,以及可能结合其他图像处理库进行的视频分析...
VFW(Video for Windows)技术是由微软开发的一种用于在Windows操作系统上处理视频和音频的API,它是早期在个人计算机上实现多媒体功能的重要工具。VFW技术的出现使得开发者能够轻松地捕捉、播放、编辑和控制来自...
- **ICM(Image Compression Manager)**:用于管理和选择视频编解码器。 - **ACM(Audio Compression Manager)**:提供了与ICM类似的服务,但针对的是音频数据。 ##### API函数详解 为了实现摄像头的控制,我们...
总的来说,利用AForge.NET和VFW进行摄像头解码是一个综合了计算机视觉、图像处理和用户交互设计的技术实践,对于C#开发者来说,掌握这部分知识能大大提升开发效率,尤其是在构建桌面应用或嵌入式系统时。
5. **ICM**:即压缩管理器,负责管理和协调视频的压缩/解压缩编解码器。 6. **ACM**:音频压缩管理器,类似于ICM,但专注于波形音频的处理。 #### 关键API函数详解 在C#摄像头控制的实践中,`...
在C#编程中,对摄像头的操作通常涉及到视频捕获、实时预览、图像处理以及录制等功能。以下将详细介绍如何在C#中实现这些功能,特别是利用VFW(Video for Windows)技术来操作摄像头。 首先,VFW是Microsoft为...
下面详细介绍如何使用C#和VFW技术来实现简单的视频监控功能: 1. **创建项目**:首先,在Visual Studio中创建一个新的C# Windows Forms应用程序项目,例如命名为“Ex13_08”。 2. **添加控件**:在默认的Form1窗体...
3. **视频采集与处理**:可能使用了特定的采集卡驱动,如DirectShow或VFW API,来获取和处理来自摄像头的实时视频流。开发者需要了解如何与硬件驱动进行交互,以及如何处理和显示视频帧。 4. **多线程**:为了实现...
AVI是由微软开发的一种开放标准,支持多种音频和视频编解码器,允许同步音频与视频数据。它的优点在于兼容性强,但缺点是文件体积较大,不适用于网络传输或存储空间有限的场景。 MPEG2,全称Moving Picture Experts...
在C#中,可以使用如NAudio、X264VfW或SharpFFmpeg等开源库来处理音频和视频编码解码。以下是一个简化的示例: ```csharp using (var sourceFile = new FileStream("source.mp4", FileMode.Open)) using (var ...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
对于C#开发者,理解如何在托管代码中使用非托管的DirectShow API是一个挑战,但一旦掌握了,就可以实现高效且功能强大的多媒体应用。 总的来说,这个压缩包包含的项目可能是一个使用DirectShow和C#编写的工具,用于...
5. **ICM (Image Compression Manager):** 管理视频压缩/解压缩编解码器。 6. **ACM (Audio Compression Manager):** 类似于 ICM,但服务于波形音频。 #### 三、关键技术实现 ##### 1. capCreateCaptureWindow ...
DirectShow是微软开发的一个多媒体框架,它主要用于处理视频和音频数据。这个强大的API(应用程序编程接口)被设计用来实现高质量的媒体流处理,包括播放、捕获、编辑等多种功能。DirectShow广泛应用于Windows操作...
5. 程序设计:使用DirectShow进行开发通常涉及到创建和配置过滤图,这可以通过编程接口(如C++或C#)来实现。开发者需要了解如何创建和管理过滤器,以及如何设置和调整过滤器之间的连接。 6. 实时处理与网络流:...
----------VC应用开发 [Visual.C..编程技巧精选500例]源代码. 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...