Bye Bye On2, we turn back to FFmpeg

Samir AMZANI on Thursday, November 18th 2010 I 0 Comment

Last year On2 Technologies - a leading video compression solution, was acquired by Google for $106 M:). 
At WMaker we have used this paid technology to compress your videos, but Google decided to cease the licence starting from 31/12/2010.

 


Bye Bye On2, we turn back to FFmpeg

In this post I’ll try to explain why we give up using On2 and switch to other solution:

- Stability issue : The On2 solution usually crashes. Despite regular updates and exchanges with their support team, there is no optimal solution. We even installed special probes for automatic re-launch in case of breakdown (if a user uploaded an invalid video). 

- Bad size/quality ratio: after many years of using this solution to get an optimal quality of video, we should raise the compression bit rate (amount of data received per second).

- After encoding, artifacts can appear in some videos. Here is a response from the On2 support team:

«Hi Samir, I meant to send this to you earlier - thus far, I have no solution to the artifact issue. As far as I can tell, it is an issue with the H264 encoder we use, and that means that we can't immediately fix it ourselves. We certainly won't have a fix for today, Sorry for not being able to help with this in the time frame you needed. If we do get this working better, I'll let you know. » 


  To date, we use our own encoding solution based on FFmpeg + x264, which is an open source version of the famous H264 Codec.  This solution allows to get an excellent compression rate (up to 90%), without detriment to the quality of image. Youtube and Vimeo also compress their videos with ffmpeg + x264. 


In 2006 WMaker  was the first (and unique) CMS that offered video encoder based on FFmpeg+h263. Today we are quite satisfied with the performance of these tools, compared with solutions like On2. 


The reason why we've chosen H264 Codec:

The H.264 standard reduces the quantity of data required for a video input by using both spatial (inside the same image) and temporal (between images) compression of redundancy of encoded videos. 

During the temporal compression, the encoder processes each image by subdividing it by blocks and searching in the previous and following images identical structure blocks. When a pertinent ratio is found, the encoder can reproduce the structure of the block in question with the help of a simple vector and some information to correct small structure differences. 

During the spatial coding, when the ratio is not found, the encoder can use the structure of the similar blocks inside the same image in order to predict the block structure and store only the difference between the prediction and the real structure. It’s a more efficient way than storing the entire structure. 

There are many other techniques used by H264, which enable it to position itself as one of the leading video codecs, such as: 


- Entropic encoders (arithmetic coding or CABAC, adaptive coding) 

- Anti-block filtering  (enables to get rid of artifacts) 

- Less reference images (the only image or frame enables to predict many images) 

- Motion estimation up to quarter pixel accuracy (enables to get more distinct images) 

- Use of the small-sized blocks up to 4x4 pixels instead of 16x16


The advantage of this solution:

Saving more disk space and bandwidth:
By using the H264 standard you gain from 20% to 30% on compression of your videos.



- The only video format for diffusion via Web and iTunes (Podcast/AppleTV) : 

Adobe Flash already implemented the reader of H264-encoded videos in MP4 container. We took advantage of this to combine Web and iTunes encoding, which enables saving even more disk space.


To wrap-up

From the very beginning the WebTV  used the technology that we offer you now on CMS. The quality of your videos is getting better due to the WebTV encoding engine based on the x264 library.





New comment:
Facebook Twitter