【开源工程】VirtualDub
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相关推荐
- 推荐收藏 | SLAM优秀开源工程汇总
整理了AIRX团队平时学习SLAM的一些开源工程.书籍.论文项目等. 1.Cartographer Cartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和制图( ...
- 路径分析开源工程OpenTripPlaner 概述
前端直接折腾了一款功能强大的开源工程OpenTripPlaner,在这里做下简单的介绍: OpenTripPlanner (OTP) 提供了一个多模式的路程规划开源平台,用户可以通过OTP 内置的we ...
- SLAM优秀开源工程大汇总
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理了三次方AIRX团队平时学习SLAM的一些开源工程.书籍.论文项目等. 1.Cartographe ...
- google的开源工程,真多
http://blog.drhack.net/google-open-source-projects-you-knew-that/这个页面介绍了google的开源工程,真多,也很实用. Text Fi ...
- 【开源工程】STM32C8T6+ADC信号采集+OLED波形显示
[开源工程]STM32C8T6+ADC信号采集+OLED波形显示 通过手指皮肤接触探测输入引脚:PA7 PA8引脚上的方波输出 PB13引脚上的方波输出 PB13和PA8:互补型方波输出引脚 硬件搭建 ...
- chrome使用的开源工程介绍
在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Brows ...
- 技术福利:最全实时音视频开发要用到的开源工程汇总
[转自] https://my.oschina.net/jb2011/blog/1619628 1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前 ...
- 福利贴:最全实时音视频开发要用到的开源工程汇总
1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前后处理.传输.解码.缓冲.渲染等很多环节.每一个细分环节,还有更细分的技术模块.比如,前后处理环 ...
- 微信小程序直连蓝牙实现控制继电器及串口调试功能--全系统开源工程
微信小程序直连蓝牙硬件设备,设备控制继电器,灯等设备,同时实现蓝牙串口调试助手等功能,设备能够输出微信小程序发出的蓝牙数据,可为工程师在手机上实现设备串口调试功能,当工程师去现场调试设备,没有带电脑, ...
- chrome开源工程(转)
在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Brows ...
最新文章
- 操作系统结构-简单体系结构
- Mahout的推荐系统
- c# ioc 单例模式_Spring-IOC
- leetcode 795. Number of Subarrays with Bounded Maximum | 795. 区间子数组个数(Java)
- IOS学习笔记十六(NSString和NSMutableString)
- java string 转 inputstream_String和inputstream互转【转文】
- API 日调用量超 100 亿次!腾讯云首次披露云原生产品数据
- Global GUI map for automation with VS.NET
- 使用OpenCV4Android打开相机
- Raki的读paper小记:WaveTransformer: A Novel Architecture for Audio Captioning
- 实验二 /*网络嗅探与身份验证*/
- 小米笔记本Pro黑苹果10.15.2不需要外焊USB接蓝牙,完美支持airdrop、接力、随航
- Java时间系列(JDK8)--Duration的使用
- 挨踢人生路--记我的10年18家工作经历 续 .转
- 通过经纬度计算两点直线距离的计算方法
- 万豪环保系列之明渠紫外线消毒器
- MATLAB处理矩阵的一些命令
- [matlab]利用cftool进行曲线拟合
- 图解分布式一致性协议Paxos
- CPC安装后,简单解决Microsoft.Jet.OLEDB.4.0问题
热门文章
- android前置摄像头拍摄,Android前置摄像头拍摄倒置照片
- idea破解(到2100年)
- win7安装android驱动失败怎么办,win7未能成功安装设备驱动程序怎么办
- jar脱壳_[转载]脱壳再打包某梆梆免费加固APP
- H5页面点击图片自动全屏代码
- [netplus]初见,Netplus快速开始之PingPong Example
- 讯飞语点,移动灵犀,搜狗语音助手对比测试
- 语音输入转文字怎么操作?分享几种语音转文字技巧
- 使用RamDiskNT虚拟软盘后vmware无法识别
- vue实现5秒后自动跳转到首页