二维DCT变换

写这篇文章的目的主要是为了给x264打好基础,x264用的是整数DCT变换,所以就先来说说DCT变换吧。 DCT(Discrete Cosine Transform),又叫离散余弦变换,它的第二种类型,经常用于信号和图像数据的压缩。经过DCT变换后的数据能量非常集中,一般只有左上角的数值是非零的,也就是能量都集中在离散余弦变换后的直流和低频部分,下面我会用matlab来演示整个过程。

阅读全文 2012年11月30日 分类:学习笔记x264图像处理

linux下编译调试x264

在《VS2010编译x264(20091006)》中我们用vs2010编译了x264,但是过程很复杂,而且版本还是09年的,今天我将介绍在linux下编译最新版的x264,而且可以调试,近距离观察h264编码实现的每个细节。

阅读全文 2012年06月17日 分类:学习笔记x264Ubuntu

ffmpeg分割视频的方法

ffmpeg可以说是一个比较全能的编码器,在ffmpeg命令详解中我列出了所有ffmpeg的命令,但我在分割视频的时候视频被他重新编码了,明明是copy却变成了encode。

阅读全文 2012年04月13日 分类:软件学习笔记x264

C#重定向ffmpeg输出流

最近用c#做了一个ffmpeg的gui,用来合并、切割视频,其中需要把ffmpeg.exe的输出流显示出来,这就需要重定向ffmpeg的输出流,这个方法也适用x264、mencoder这些编码器的重定向。
c#要调用外部程序有许多方法,我这里选用调用Process的方法,也就是新建一个ffmpeg的进程,具体代码如下。

阅读全文 2012年04月12日 分类:学习笔记C#x264

ffmpeg+neroaacenc压制多声道音轨音频

现在视频压制中x264是主流,在音频中aac无疑是霸主,本篇文章将讲解用ffmpeg+neroaacenc压制多声道音轨音频的方法。
现在很多的片源都是高码率H264+DTS的组合,有些还有多音轨,比如影片的评论音轨、其他语言音轨,但为了让压制后的视频文件尽可能的小,会挑出中文音轨,把多声道的合并成双声道。当然也可以用视频转换软件,我这里要讲的是用ffmpeg+neroaacenc的命令行压制方法,这种方法效率更高。

阅读全文 2012年01月04日 分类:学习笔记x264

视频编码基础--帧的类型

自从上次编译x264之后一直在看x264的技术手册,专业名词太多了。没办法,从头学起吧,先从最基本的学起--帧的类型。
我们都知道视频是由图片构成的,就像早期的胶片电影一样,一幅幅图片连续播放就形成了视频,在视频中我们管这些图片叫帧。在x264中有三种基本的帧类型:I帧、P帧和B帧。

阅读全文 2012年01月03日 分类:学习笔记x264图像处理

VS2010编译x264(20091006)

H264可以说是现在视频发展的趋势,越来越多的视频舍弃了rmvb投入了H264的怀抱。
我自己压的视频都是用H264编码的,因此想学习H264的编码,当然这里面也有专业的原因。
要想学习H264,第一部就是编译x264。

阅读全文 2011年12月29日 分类:学习笔记C++x264