HEVC and VP9 video codecs - try them yourself
5 May 2014
1. HM reference software for HEVC
The HM software codec is a reference implementation of the HEVC coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). It is suitable for experimenting with the various features available in the HEVC coding standard and/or for checking compliance, but may not be suitable for real-time implementations. The following steps will show you how to build and run the HM codec.
For example, the following command line runs the HM encoder with codec configuration file encoder_randomaccess.cfg and sequence configuration file jockey.cfg.
./TAppEncoder -c encoder_randomaccess.cfg -c jockey.cfg
2. x265 encoder for HEVC
x265 is an open source software and library for HEVC encoding and decoding developed by a consortium led by MulticoreWare. It is available under the GNU General Public License.
The software can be used as a standalone tool or with FFMPEG as a library. The download and installation instructions are as follows:
Step 1: Get the source code and install instructions from https://bitbucket.org/multicoreware/x265/wiki/Home.
Step 2: Follow the install instructions. Check if installation is successful by typing x265 at the terminal.
Step 3: The command line to run the encoder is
x265 [options] infile [-o] outfile
where “infile” is an uncompressed source file (YUV or Y4M) and “outfile” is a compressed HEVC bitstream.
Step 4: Use x265 as a library in the FFMPEG framework
The command line for using x265 library via FFMPEG is:
ffmpeg -i [input] -c:v libx265 [options] output[.265/.mkv]
3. WebM VP9 codec
Step 1: Download and install the vp9 codec from the WebM project website: http://www.webmproject.org/code/
Step 2 Type vpxenc at the command line to see if the installation was successful.
Step 3: Example command line for running the vp9 encoder using vpxenc.
vpxenc --codec=vp9 --profile=0 --fps=50000/1001 --static-thresh=0 --drop-frame=0 --good --auto-alt-ref=1 --kf-min-dist=50 --kf-max-dist=50 --min-q=32 --max-q=32 --max-intra-rate=50 -threads 4 -w 1280 -h 720 --limit=500 in_to_tree_420_720p500.yuv -o in_to_tree_420_720p500_vp9_qp32.webm
Step 4: Decoding and playback
Option 1: convert to uncompressed YUV video using FFMPEG for playback using the following command line:
ffmpeg -i input.webm -f rawvideo out.yuv
Option 2: use the latest version of VLC player to playback the webm file.
To find out more
Visit h265 for a full version of this article and for more resources on HEVC, VP9 and other video codecs.