Sunday, 23 May 2010

More on WebM video format

MIRO Video Convertor

The MIRO Video Convertor for Windows can be downloaded from

This convertor displays a basic window where the user can drag the source video to be converted. Underneath is a drop-down list of output format choices:
  • Theora
  • WebM (VP8)
  • MP4 Video
  • MP3 (Audio only)
followed by a choice of devices: Android, Apple and Other.

What it can do

  • displays both the actual command line of and output from the ffmpeg.exe program - very useful for problem tracking
  • convert my tiny Matroska test video rgbwbmpx264resize128x96.mkv to Theora
  • convert 1440x1080recalq1vdub6s.avi, a 1080p video dubbed with VirtualDub 1.9.8
  • convert cal16x16check_vdnocnoafr1len2.avi.vlc.ogv, a 16x16 one frame per second Theora video, to another Theora
  • convert Mars Phoenix Sol 151 weather.ogv to another Theora, downgrading quality slightly, and to WebM
  • convert Test_avi_64kbps_video_32kbps_audio.ogv to another Theora
  • convert Cal_2flip2_click1in4track8secsmono22khz16bit8khzvbr_vlc3.ogv to another Theora, but not to WebM
  • converts Betty Boop in Boop-Oop-A-Doop 1932 - HQ.flv to Theora; the FLV contained h264 video and AAC audio streams


  • hangs on some video input, for example Test_avi_64kbps_video_32kbps_audio.ogv to WebM; this same file also causes FlixWebM to crash, but ffmpeg.exe handles it Ok **
  • hangs when converting Cal_2flip2click8khzvbr_vlc.ogv to WebM or MP4, but is Ok to Theora; however oggz-tools/validate.exe reports packet order errors. For source video see
  • hangs when converting Cal_2flip2_click1in4track8secsmono22khz16bit8khzvbr_vlc3.ogv to WebM; oggz-tools/validate.exe also reports packet order errors
  • reports Unknown format when given any WebM input from the Sorenson Squeeze/Squish online service - input plays Ok in Chromium, Media Player Classic and the new VLC version "1.1.0-rc The Luggage"

The above video is the test file File:Cal 2flip2click8khzvbr vlc.ogv uploaded to Blogger.

Edited on 2010-05-23 17:30 UTC to add the following:
** this problem appears to occur when the input contains a single audio channel -- ffmpeg then reports "[vorbis @ 0x16006d0]Current FFmpeg Vorbis encoder only supports 2 channels."; Test_avi_64kbps_video_32kbps_audio.ogv can however be converted to WebM using the following ffmpeg.exe command line:

ffmpeg.exe -i Test_avi_64kbps_video_32kbps_audio.ogv -f webm -vcodec libvpx_vp8 -ac 2 Test_avi_64kbps_video_32kbps_audio.webmvp8_ac2.webm

Edited on 2010-05-23 18:30 UTC to add the following:

1080p videos

I have now converted some 1080p videos testing ffmpeg both via the MIRO Video Convertor (MIROVC) and via the command line, creating both Theora and WebM outputs. I used a 134 megabyte one second Mandelbrot zoom source video created with zero quality loss (rendered with XaoS, 24 bit true colour, antialiasing, and recalculating every frame). These videos are a serious test for lossy compressors so I was not expecting anything fantastic and indeed there were noticeable artifacts. MIROVC created a 613 kilobytes Theora and a 234 kilobyte WebM.

SMPlayer played the Thora smoothly while Media player classic played the WebM smoothly.

However, the Chromium browser played both the WebM and the Theora jerkily, and Firefox played the Theora also jerkily, but then so did YouTube's flash player. Generally I find actual streamed video data plays well in an external player (I save the whole stream and then replay it), but badly in all browsers (reading directly from local disk so there should be no network buffering).

Below are two the encodings from MIROVC: the Theora first, followed by the WebM.

Above is the video encoded as a 613 KB Theora, below is the same video encoded as a 234 KB WebM:

They are both 1080p but I have no idea how Blogger will render them here.

Edited at 21:15 2010-05-23 UTC to add the following:

It appears that both Blogger and YouTube do not correctly render videos encoded with ffmpeg2theora version after 0.24. Therefore below I have uploaded the Theora video encoded with version 0.24:

The same video can be seen full size at YouTube here: fmpeg2theora 0.24 Theora transcoding Mandelbrot zoom

Remember that YouTube will display the above video in a WEBM player if you have joined the HTML5 beta *and* if you are using a browser that is HTML5 WEBM "compatible". As of today YouTube's WEBM videos are limited to 720p size, so to see the video at full size of 1080p, either leave the beta or use a non-compatible browser version.

No comments:

Post a Comment