转自:http://blog.csdn.net/sunshine1314/article/details/3132643
一、简介
图1 VirtualDub主界面
VirtualDub是一款开源的音视频捕获、处理软件。VirtualDub也可称为一款多媒体编辑软件,因为它包含了多媒体输入、编辑、处理、输出等各个环节,但是作者并未将它定位为一款多媒体编辑软件(参见官网:http://www.virtualdub.org/),事实上VirtualDub在音视频编辑上的确没有Adobe Premiere等软件那么专业。VirtualDub的特点是,在音视频捕获和处理上的功能非常强大,而且处理速度非常快。
VirtualDub的亮点是音视频捕获和处理,但其在多媒体编辑整个流程上的功能模块是full的。下图2是VirtualDub多媒体数据处理的一个流程。从图2可以看出,视频自上而下的处理流程包括:视频回放或者捕获,统计层,音视频重同步,捕获参数的调节,视频处理,视频显示,视频压缩,流选择,写入磁盘等。音频的处理流程也类似。
图2 VirtualDub处理流程
二、源码获取途径
VirtualDub官网:
http://www.virtualdub.org
下载地址:
http://virtualdub.sourceforge.net/
技术论坛:
http://forums.virtualdub.org/
三、使用指南
1. VirtualDub编译指南
支持Windows平台
编译工具ms visual studio 2005 + yasm.exe
从sourcforge下载的VirtualDub可以在vs2005上顺畅编译。
四、典型应用
直接改造VirtualDub源码工程的应用比较窄,而VirtualDub中高效率的音视频处理和捕获模块可以有很广泛的应用,下面就介绍VirtualDub音视频处理和转换具备的功能。
1. 视频处理
VirtualDub中的视频处理包括以下功能:
视频处理模块 |
描述 |
resize |
调整大小 |
blur |
模糊 |
Brightness/contrast |
调整亮度和对比度 |
deinterlace |
去隔行效应 |
emboss |
浮雕 |
flip |
翻转 |
Convolution |
变换 |
grayscale |
求取灰度 |
HSV adjust |
调整色调、饱和度、亮度 |
Invert |
反色 |
logo |
添加logo图像 |
rotate |
任意角度旋转 |
sharpen |
锐化 |
Smoother |
平滑 |
threshold |
根据阈值转换成黑白图 |
warp |
扭曲 |
2. 视频色彩空间转换
VirtualDub支持以下色彩空间之间的互转:
RGB555, RGB565, RGB24, RGB32,
UYVY(4:2:2), YUY2(4:2:2), YV12(4:2:0), YV16(4:2:2), YVU9(4:1:0), Y8(灰度)
3. 音频处理
VirtualDub中的音频处理包括以下功能:
音频处理模块 |
描述 |
Stereo split |
分离一个声道的数据 |
Gain |
调整音强 |
Highpass |
高通滤波 |
lowpass |
低通滤波 |
mix |
混音多路音频 |
resample |
调整采样率 |
timstretch |
调整音频段的占用时长 |
五、相关源码
在视频处理方面,除了VirtualDub,avisynth也包含了功能非常全面的视频处理滤镜。Avisynth官方网址:http://www.avisynth.org/。后期还会具体介绍Avisynth工程及其应用。