最近研究了一下几种常见的视频编码器:x264,x265,vpx。本文简单记录一下它们的编译方法。

x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器。x264现在占据着H.264视频编码器的半壁江山;x265则是目前实现H.265标准最好的开源视频编码器,并且在未来可能接替x264;而vpx则是Google推出的开源视频编码器,它提出的VP9编码标准的性能也不错。在记录完这篇文章后,计划分别针对x264,x265,vpx写三篇文章记录它们的使用方法。

X264

网站:http://www.videolan.org/developers/x264.html

源代码获取地址:

  1. git clone git://git.videolan.org/x264.git

注意编译前需要安装yasm。

Windows下最简单编译步骤(MinGW)

1.下载安装MinGW,运行后切换至源代码目录

2.输入 "./configure"
3.输入"make"
4.输入"make install"安装(可选)

Linux下最简单编译步骤:

1.切换至源代码目录

2.输入 "./configure"
3.输入"make"

4.输入"make install"安装(可选)

编译后生成:

x264.exe:可以直接使用的编码H.264命令行程序

Libx264.a:可以用于程序开发的编码H.264的类库

Windows下编译获得lib类库步骤(生成libx264.lib)
1.       生成“*.def”文件。输入“./configure”命令的时候,将“./configure”后面加上参数,改为:

  1. ./configure --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def

这样可以生成“libx264.dll”,“libx264.def”文件。
2.       使用VC自带的lib生成工具“LIB”,生成“libx264.lib”文件。使用“Visual Studio command prompt”,切换至x264源代码目录,输入以下命令:

  1. LIB /DEF:libx264.def

即可生成libx264.lib用于在VC下开发。

X265

 

网站2:https://bitbucket.org/multicoreware/x265

源代码获取地址:

  1. hg clone http://hg.videolan.org/x265

注意编译前需要安装:
(1)yasm。
(2)CMake。
 
Windows下最简单编译步骤(VC2010)
1.使用CMake生成x265.sln 文件。具体是在其代码根目录的“build”文件夹中,找到想要生成的“.sln”的版本。

以本机为例,打开“vc10-x86”,运行其中的“make-solutions.bat”,即可生成VC2010的32位的解决方案文件。中间会弹出一个CMake的配置对话框,如图所示。可以直接先单击“Configure”,然后单击“Generate”即可。

2. 用VC打开生成的x265.sln,即可编译程序。可以右键解决方案,选择“生成解决方案”批量编译其中所有的工程。

编译后生成:

x265.exe:可以直接使用的编码H.265的命令行程序

libx265.dll,libx265.lib:可以用于程序开发的编码H.265的类库(lib和dll分开)

x265-static.lib::可以用于程序开发的编码H.265的类库(单独一个lib)

VPX

网站:http://www.webmproject.org/

源代码获取地址:

  1. git clone https://chromium.googlesource.com/webm/libvpx

上述地址有可能访问不了,可以使用下面的镜像地址:

  1. git clone https://github.com/webmproject/libvpx

注意编译前需要安装yasm。

Windows下最简单编译步骤(MinGW)

1.下载安装MinGW,运行后切换至源代码目录
2.输入 "./configure"
3.输入"make"
 
Linux下最简单编译步骤
1.切换至源代码目录
2.输入 "./configure"
3.输入"make"

编译后生成:
vpxdec.exe:可以直接使用的解码VP8,VP9命令行程序
vpxenc.exe:可以直接使用的编码VP8,VP9命令行程序
libvpx.a:可以用于程序开发的编码VP8,VP9的类库

Windows下编译获得各个项目VS2010解决方案的步骤

1.       configure的时候设置“—target”为“x86-win32-vs10”

  1. ./configure --target=x86-win32-vs10

2.       用VC打开生成的vpx.sln,即可用VS浏览整个解决方案。可以右键解决方案,选择“生成解决方案”批量编译其中所有的工程。

 

Windows下编译vpx获得各个项目VS2010解决方案的步骤的更多相关文章

  1. Windows下编译objective-C

    Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode   目录 ...

  2. Windows下编译SDL

    Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...

  3. Windows下编译memcached-1.4.5(32bit和64bit)

    1.简介 Memcached 是一个高性能的分布式内存对象缓存系统.它通过将数据缓存在内存中来减少对数据库和文件系统的访问,减轻数据库及操作系统的负担,提高应用系统的速度. 目前已经很多系统应用了me ...

  4. windows 下编译64位ffmpeg

    window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window 下如何编译64位ffmpeg库. 一.搭建编译环境 1.下载 windows下编译64位F ...

  5. windows下编译配置libnet-1.2-rc3

    1.下载winpcap(一个底层驱动,可以嗅探.过滤网卡数据包,发包).exe安装包,傻瓜一步式安装 2.下载WpdPack_4_1_2,这个是winpcap的开发者包,解压之后只需要配置相关路径. ...

  6. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  7. 在Windows下编译FFmpeg详细说明

    MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...

  8. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

  9. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

随机推荐

  1. kafka consumer 代码示例

    使用者小组 使得许多进程的多台机器 在逻辑上作为一个单个的使用者 出现. 我们使用中,一种常见的情况是,我们按照逻辑划分出多个使用者小组,每个小组都是有作为一个逻辑整体的多台使用者计算机组成的集群. ...

  2. hdu 1534(差分约束)

    Schedule Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. Tornado 模块概述

    Tornado模块分类 1. Core web framework tornado.web — 包含web框架的大部分主要功能,包含RequestHandler和Application两个重要的类 t ...

  4. php必备树状数组处理方法

    thinkphp必备公共方法 /** * 子元素计数器 * @param array $array * @param int $pid * @return array */ function arra ...

  5. Chief Technology Officer

    转自地址:http://www.swoole.com/News/76.html 1)错误都是自上而下 当事情出现混乱的时候,人们总是寻求寄托于Process的制定,很多的管理者,觉察到事情的失控,却不 ...

  6. (4)python 字典

    创建字典 phonebook = {'} 以 value :key  键值对的格式.冒号前是键,冒号后时值 ,组合在一起是一项.多个项放在一个花括号内. 函数dict()用来把其他项创建成一个字段 & ...

  7. (3)java运行

    java文件后后缀名为 .java 一个java文件的运行需要分为两个阶段,编译阶段和运行阶段 编译阶段 检查java源代码的语法是否错误 生成对应平台的.class文件 例如 :有个A.java的文 ...

  8. Codeforces Round 254 (Div. 2)

    layout: post title: Codeforces Round 254 (Div. 2) author: "luowentaoaa" catalog: true tags ...

  9. java.lang.NoSuchMethodError:org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session

    项目配置了spring 4.0.6.RELEASE 和hibernate4.2.0.Final ,出错原因是因为在Spring 3.1开始没有了HibernateDaoSupport类,而我的却Dao ...

  10. python3 开发面试题(去重保持原来的顺序)6.2

    """ l1 = [11, 2, 3, 22, 2, 4, 11, 3] 去重并保持原来的顺序 """ #方式一 for 循环方法 l1 = ...