MediaCoder is finally able to encode with NVENC, NVIDIA’s hardware SIP core that performs H.264/AVC and H.265/HEVC video encoding. NVENC SDK 5.0.1 is used, so NVIDIA GPU driver 347.09 or above is required. The latest version of SDK has added support for HEVC (H.265) encoding on GM20x GPUs (GTX980 and future Quadro/Tesla/GRID platforms based on GM20x GPUs). Following is the description of NVENC from NVIDIA’s official website.

The NVIDIA Encoder (NVENC) API enables software developers to access the high-performance hardware H.264 and HEVC (H.265) video encoder in Kepler and Maxwell class NVIDIA GPUs (See list of supported GPUs below).NVENC provides high-quality video encoding that is faster and more power efficient in comparison to equivalent CUDA-based or CPU-based encoders. By using dedicated hardware for the video encoding task, the GPU CUDA cores and/or the CPU are available for other compute-intensive tasks. NVENC on GeForce hardware can support a maximum of 2 concurrent streams per system. NVENC for GRID, Tesla and certain Quadro GPUs (see below) can support as many streams as possible up to maximum NVENC encoder rate limit and available video memory.

Once the update installed, NVENC will appear in the video encoder list. Disable video encoder auto selection and choose NVENC and MediaCoder will encode with NVENC. The supported video format is H.264 and H.265 (if you have a GeForce series 9 card). Currently the configuration tab for NVENC is not yet done as the support for NVENC is just initial and is still being worked on. To adjust its parameters, click the “Encoder” button. More parameters will be adjustable in future updates. Have fun with the cutting-edge breezing fast hardware encoding with 10-year old MediaCoder.

In this release, 2-pass and 3-pass H.265 encoding have been added, and not many changes besides some routine update of codecs and minor bug fix. Anyway I know many people are demanding for the multiple-pass H.265 encoding.

It’s been a while since last update on the blog, though updates for MediaCoder are released from time to time. Thinking it might be good to know about where our users are from, I extracted some data from Google Analytics which can reflect the geographical distribution of active users of MediaCoder (not number of installations) in the past 3 months. Here comes the data.

MediaCoder’s Segmental Video Encoding (SVE) is now working with H.265/HEVC encoding. SVE is a unique techonology in MediaCoder designed to improve the parallelism of those encoders unable to consume 100% CPU power due to the lack of or non-optimal multi-threading implementation. By observation, x265, the H.265/HEVC encoder used in MediaCoder, is not utilizing 100% CPU power on a quad-core i7 processor. That’s when SVE becomes effective in boosting the encoding. Another importance of working SVE with H.265 is that it is the fundamental of future distributive encoding of H.265.

MediaCoder H.265 encoding is open for beta testing. For users who want to involve in the beta testing, please download the update package (both x86 and x64) and apply it on the installation of latest MediaCoder 0.8.28. If you haven’t installed MediaCoder or your MediaCoder is out-dated, please go here to download the latest MediaCoder full installer and install MediaCoder with it before applying the update.

I have been working on adding H.265 encoding support to MediaCoder. Today, everything finally gets to work. I encoded a sample video clip (H.265/HE-AAC-V2/MP4, 1280×720 @ 512Kbps). The visual quality is quite amazing. Right click the link (browser can’t play it), “Save As” to download it, and play with latest VLC.

MediaCoder 0.8.28 is just released. This version added support for VP9 encoding. Though the vpxenc is slow encoding VP9 with almost no multi-threading implementation (unlike VP8 encoding), MediaCoder’s Segmental Video Encoding backs it up. With SVE enabled, the VP9 encoding speed boosts by times, though still low comparing to x264.

Several other tools have been updated. An x64 build of MP4Box is included in 64-bit distribution. Several minor bugs got fixed. For GPU encoding, I fine tuned the pre-processing filtering parameters to eliminate some side effect I witnessed myself.

Finally, I wish a happy holiday to all of my users! It’s been almost 9 years since the very first spark and I have never stopped working on it. MediaCoder has served millions of people I believe. Thinking about all these, I feel my time and efforts spent throughout the years all worth it.

The splitting function finally comes back. There is no more “Split” mode. To enable splitting, simply go to Time tab for the splitting options (by time and by number of segments). The splitting operation is performed on-the-fly while transcoding is proceeding, so it’s fast.

There are still some limitations though. Splitting currently does not work with multi-pass encoding and segmental encoding (SVE). The file relocation options are not working when splitting is enabled. These will be improved soon later.