x264 is a popular open-source H.264 encoder. It comes with the build files for Linux environment. To build project on Windows, the easiest approach is to do this using MingW/MSYS.
All the information is from the link: http://doom10.org/index.php?topic=26.0. However, the procedure in that page can be much simplified as explained in this post.
1. Operating System
Windows 7 Home Premium (64-bit operating system)
2. Software and configuration
2.1. MingW/MSYS
Go to page: http://sourceforge.net/projects/mingw/files/
Simply click "Download mingw-get-inst-20110316.exe (576.1 KB)" to download and install software.
When asked to select software features, check "C++ compiler", and "MingW Devloper Toolkit". These are good features, but may not be necessary to compile x264.
Add the path to MingW/bin to system path. For example, I install MingW under "c:\work", so I add "C:\work\MinGW\bin". This is needed in order to search for the libraries to run x264, especially libpthread-2.dll.
2.2. Download yasm
Download yasm of the latest version (version 1.1.0 currently, http://www.tortall.net/projects/yasm/releases/yasm-1.1.0-win32.exe).
Copy this file to the MinGW\bin folder, and rename it to yasm.exe.
2.3. Download x264 source code
The latest x264 encoder can be downloaded from the following page:
http://www.videolan.org/developers/x264.html
3. Compile
3.1. Open "MingW shell"
3.2. Go to the top-level directory of x264 project
MingW shell will have a linux/unix like directory structure, and it will be at some unfamiliar directory by default. I downloaded x264 to "c:\work\x264", so go to the folder using the following command:
$ cd /c/work/x264
However, if you will not be able to see a folder "/c".
3.3. Run "make" to compile the code
$ make
It will run "./configure", followed by actual "make". If you forget to download yasm, "./configure" command will report such error.
Tuesday, May 3, 2011
Thursday, April 28, 2011
FFMPEG H.264 Decoder
FFMPEG is an open-source project on multimedia processing. Most people uses the applications it provides to perform multimedia processing tasks. It can also use it as a collection of libraries on top of which the developer can build multimedia applications.
This post will show how to write an H.264 decoder using functions in FFMPEG libraries.
1. Introduction to FFMPEG
2. Basic design
3. Source code
This post will show how to write an H.264 decoder using functions in FFMPEG libraries.
1. Introduction to FFMPEG
2. Basic design
3. Source code
Subscribe to:
Posts (Atom)