Simplest video encoder: Compile (LIBX264,LIBX265,LIBVPX)

Source: Internet
Author: User

=====================================================

List of the simplest video encoder series articles:

The simplest video encoder: compiling

The simplest video encoder: Based on libx264 (encoded YUV is H. a)

Simplest video encoder: Based on libx265 (encoded YUV for h.265)

Simplest video encoder: LIBVPX (encoded YUV for VP8)

=====================================================

Recently, several common video encoders have been researched: x264. x265. Vpx This article simply records how they are compiled.

x264. X265,vpx These three open source video Encoders can be said to be today's "hottest" video encoders.

x264 now occupies half of the video encoders of H. X265 is now the best open source video encoder to implement the H.265 standard, and may take over in the future x264, while VPX is the Google launch of the open source video encoder, it proposed VP9 coding standard performance is also good. After recording this article, the plan is for x264. X265,vpx wrote three articles documenting their usage.


X264



Site: http://www.videolan.org/developers/x264.html

SOURCE Get Address:

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

Note that you need to install yasm before compiling.



The simplest compilation step under Windows (MinGW)

1. Download the installation mingw and switch to the source folder after execution

2. Enter "./configure"
3. Enter "Make"
4. Enter "Make install" installation (optional)

The simplest compile steps under Linux:

1. Switch to the source folder

2. Enter "./configure"
3. Enter "Make"

4. Enter "Make install" installation (optional)


Build after compilation:

X264.exe: Code that can be used directly from the H. A command-line program

LIBX264.A: A class library that can be used for program development in code H.


windows compile to get Lib Class library step (Generate Libx264.lib)
1. Generate the "*.def" file. When you enter the "./configure" command. Add the following to the "./configure", instead:
./configure--enable-shared--EXTRA-LDFLAGS=-WL,--output-def=libx264.def
This enables the generation of "Libx264.dll", "libx264.def" files.
2. Use the VC's own Lib generation tool "Lib" to generate the "libx264.lib" file.

Use Visual Studio command prompt. Switch to the x264 source folder. Enter the following command:

Lib/def:libx264.def
It is possible to generate libx264.lib for development under VC.



X265
Site 1:http://www.videolan.org/developers/x265.html

Site 2:https://bitbucket.org/multicoreware/x265

SOURCE Get Address:
HG Clone http://hg.videolan.org/x265

Note the installation is required before compiling:
(1) yasm.


(2) CMake.



The simplest compilation step under Windows (VC2010)
1. Generate the X265.sln file using CMake. The details are in the "build" folder of their code root folder. Locate the version number of the ". sln" that you want to generate.

watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvbgvpeglhb2h1ytewmja=/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma== /dissolve/70/gravity/southeast "/>

Take this machine as an example, open "vc10-x86", the execution of "Make-solutions.bat", you can generate VC2010 32-bit solution file. A cmake configuration dialog box pops up in the middle. What you see. You can click "Configure" directly first. Then click "Generate" to do so.

watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvbgvpeglhb2h1ytewmja=/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma== /dissolve/70/gravity/southeast "/>

2. Using VC to open the generated X265.sln, you can compile the program. Ability to right-click the solution. Select "Build Solution" to compile all the projects in bulk.



Build after compilation:

X265.exe: A command-line program that can be used to encode h.265 directly

Libx265.dll,libx265.lib: A class library (Lib and DLL separate) that can be used for program development of coded h.265

X265-static.lib:: A class library capable of coding h.265 for program development (single Lib)


VPX


Site: http://www.webmproject.org/

SOURCE Get Address:

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

The above address may not be available for visitors. Ability to use the following mirror addresses:

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


Note that you need to install yasm before compiling.

The simplest compilation step under Windows (MinGW)

1. Download the installation mingw and switch to the source folder after execution
2. Enter "./configure"
3. Enter "Make"

The simplest compilation step under Linux
1. Switch to the source folder
2. Enter "./configure"
3. Enter "Make"

Build after compilation:
Vpxdec.exe: A decoding VP8 that can be used directly. VP9 Command-line program
Vpxenc.exe: Encoding VP8,VP9 command-line program that can be used directly
LIBVPX.A: A class library of coded VP8,VP9 that can be used for program development


Steps to get VS2010 solutions for individual projects under Windows compilation

1. Set "-target" to "X86-WIN32-VS10" when configure

./configure--TARGET=X86-WIN32-VS10

2. Using VC to open the generated Vpx.sln, you can use vs to browse the entire solution. You can right-click the solution and select "Build Solution" to compile all the projects in bulk.

Simplest video encoder: Compile (LIBX264,LIBX265,LIBVPX)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.