VirtualDub
Peter Lee 2008-09-28
一、简介
图1 VirtualDub主界面
VirtualDub是一款开源的音视频捕获、处理软件。VirtualDub也可称为一款多媒体编辑软件,因为它包含了多媒体输入、编辑、处理、输出等各个环节,但是作者并未将它定位为一款多媒体编辑软件(参见官网:http://www.virtualdub.org/),事实上VirtualDub在音视频编辑上的确没有Adobe Premiere等软件那么专业。VirtualDub的特点是,在音视频捕获和处理上的功能非常强大,而且处理速度非常快。
VirtualDub的亮点是音视频捕获和处理,但其在多媒体编辑整个流程上的功能模块是full的。下图2是VirtualDub多媒体数据处理的一个流程。从图2可以看出,视频自上而下的处理流程包括:视频回放或者捕获,统计层,音视频重同步,捕获参数的调节,视频处理,视频显示,视频压缩,流选择,写入磁盘等。音频的处理流程也类似。
图2 VirtualDub处理流程
二、源码获取途径
VirtualDub官网:
下载地址:
http://virtualdub.sourceforge.net/
技术论坛:
三、使用指南
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工程及其应用。