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://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工程及其应用。

 

【开源工程】VirtualDub相关推荐

  1. 推荐收藏 | SLAM优秀开源工程汇总

    整理了AIRX团队平时学习SLAM的一些开源工程.书籍.论文项目等. 1.Cartographer Cartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和制图( ...

  2. 路径分析开源工程OpenTripPlaner 概述

    前端直接折腾了一款功能强大的开源工程OpenTripPlaner,在这里做下简单的介绍: OpenTripPlanner (OTP) 提供了一个多模式的路程规划开源平台,用户可以通过OTP 内置的we ...

  3. SLAM优秀开源工程大汇总

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理了三次方AIRX团队平时学习SLAM的一些开源工程.书籍.论文项目等. 1.Cartographe ...

  4. google的开源工程,真多

    http://blog.drhack.net/google-open-source-projects-you-knew-that/这个页面介绍了google的开源工程,真多,也很实用. Text Fi ...

  5. 【开源工程】STM32C8T6+ADC信号采集+OLED波形显示

    [开源工程]STM32C8T6+ADC信号采集+OLED波形显示 通过手指皮肤接触探测输入引脚:PA7 PA8引脚上的方波输出 PB13引脚上的方波输出 PB13和PA8:互补型方波输出引脚 硬件搭建 ...

  6. chrome使用的开源工程介绍

    在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Brows ...

  7. 技术福利:最全实时音视频开发要用到的开源工程汇总

    [转自] https://my.oschina.net/jb2011/blog/1619628 1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前 ...

  8. 福利贴:最全实时音视频开发要用到的开源工程汇总

    1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前后处理.传输.解码.缓冲.渲染等很多环节.每一个细分环节,还有更细分的技术模块.比如,前后处理环 ...

  9. 微信小程序直连蓝牙实现控制继电器及串口调试功能--全系统开源工程

    微信小程序直连蓝牙硬件设备,设备控制继电器,灯等设备,同时实现蓝牙串口调试助手等功能,设备能够输出微信小程序发出的蓝牙数据,可为工程师在手机上实现设备串口调试功能,当工程师去现场调试设备,没有带电脑, ...

  10. chrome开源工程(转)

    在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Brows ...

最新文章

  1. 操作系统结构-简单体系结构
  2. Mahout的推荐系统
  3. c# ioc 单例模式_Spring-IOC
  4. leetcode 795. Number of Subarrays with Bounded Maximum | 795. 区间子数组个数(Java)
  5. IOS学习笔记十六(NSString和NSMutableString)
  6. java string 转 inputstream_String和inputstream互转【转文】
  7. API 日调用量超 100 亿次!腾讯云首次披露云原生产品数据
  8. Global GUI map for automation with VS.NET
  9. 使用OpenCV4Android打开相机
  10. Raki的读paper小记:WaveTransformer: A Novel Architecture for Audio Captioning
  11. 实验二 /*网络嗅探与身份验证*/
  12. 小米笔记本Pro黑苹果10.15.2不需要外焊USB接蓝牙,完美支持airdrop、接力、随航
  13. Java时间系列(JDK8)--Duration的使用
  14. 挨踢人生路--记我的10年18家工作经历 续 .转
  15. 通过经纬度计算两点直线距离的计算方法
  16. 万豪环保系列之明渠紫外线消毒器
  17. MATLAB处理矩阵的一些命令
  18. [matlab]利用cftool进行曲线拟合
  19. 图解分布式一致性协议Paxos
  20. CPC安装后,简单解决Microsoft.Jet.OLEDB.4.0问题

热门文章

  1. android前置摄像头拍摄,Android前置摄像头拍摄倒置照片
  2. idea破解(到2100年)
  3. win7安装android驱动失败怎么办,win7未能成功安装设备驱动程序怎么办
  4. jar脱壳_[转载]脱壳再打包某梆梆免费加固APP
  5. H5页面点击图片自动全屏代码
  6. [netplus]初见,Netplus快速开始之PingPong Example
  7. 讯飞语点,移动灵犀,搜狗语音助手对比测试
  8. 语音输入转文字怎么操作?分享几种语音转文字技巧
  9. 使用RamDiskNT虚拟软盘后vmware无法识别
  10. vue实现5秒后自动跳转到首页