zoukankan      html  css  js  c++  java
  • 几种视频编码器的编译及使用方法

    转载自:最简单的视频编码器:编译


    最近研究了一下几种常见的视频编码器: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

    源代码获取地址:

    [plain] view plaincopy
    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”后面加上参数,改为:
    [plain] view plaincopy
    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源代码目录,输入以下命令:
    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. LIB /DEF:libx264.def  
    即可生成libx264.lib用于在VC下开发。

    X265 


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

    源代码获取地址:
    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    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/

    源代码获取地址:

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    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”

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. ./configure --target=x86-win32-vs10  

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

     
  • 相关阅读:
    element-ui 中Message 消息提示
    MYSQL 常用语法格式
    python 爬取必应每日图片
    linux:文件权限管理
    如何建立自我学习的"触发机制"?
    总有那么一些人,把自己的思想强加给别人
    linux 控制history命令历史记录
    linux apt-get 安装与卸载命令
    ubuntu16.04下 安装java8
    历史与过去是一面镜子,它照到的是你现在的自己
  • 原文地址:https://www.cnblogs.com/Windeal/p/4284603.html
Copyright © 2011-2022 走看看