mrb's blog

Libav 9.18 Cannot Generate WMV2/WMA2 Files Compatible with PowerPoint

Keywords: bug video windows

I lost an hour solving a problem about embedding a video file in PowerPoint for my wife, due to a subtle compatibility issue between avconv (Libav) and PowerPoint. If any brave soul wants to investigate and narrow down the bug, I provide enough details here for doing so. I do not have the time to do it.

Take this video file: http://video.who.int/streaming/who11805.wmv (WMV3/WMAV2, 13390746 bytes, SHA256 0baf072ed21b69998cc478c2ed7d4f85646cbbe6f30280885a69c102a0169307, SHA1 acb11bdecbb3a6c4dc010ff625ff6563d0918e5a) and re-encode it to WMV2/WMA2 with avconv and ffmpeg using the standard versions of these tools as supplied by Ubuntu 14.04 (see version strings at the bottom):

$ avconv -y -i who11805.wmv -vcodec wmv2 -acodec wmav2 -f asf -t 10 -ac 2 media-v1-orig-avconv.wmv
$ ffmpeg -y -i who11805.wmv -vcodec wmv2 -acodec wmav2 -f asf -t 10 -ac 2 media-v1-orig-ffmpeg.wmv

(You may notice the source file has 2 pairs of audio/video streams but this does not matter; avconv and ffmpeg re-encode the first pair only. Also the issue probably still occurs with "-ac 1", or even "-acodec copy", I did not test this.)

Both output files play perfectly fine in mplayer, Chrome, Windows Media Player, etc. However when attempting to embed the avconv file into PowerPoint 2013 (64-bit) as an inline video, PowerPoint instantly becomes unresponsive and needs to be killed by the Task Manager. The ffmpeg file can be embedded with no problems.

I initially thought I was using the wrong audio or video codec because PowerPoint is incredibly finicky about the codecs it supports. But I was using the very common WMV2/WMA2 combination, so it should have worked. By pure chance I decided to try ffmpeg with the same WMV2/WMA2 combination, and it solved the issue. Go figure.

The only differences between the 2 files is that ffmpeg made it 10.36 sec long (despite -t 10) whereas avconv made it exactly 10 sec, and ffmpeg encodes it at a slightly lower bitrate.

Input #0, asf, from 'media-v1-orig-avconv.wmv':
  Metadata:
    copyright       : WHO 2005
    WMFSDKVersion   : 9.00.00.2991
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
    encoder         : Lavf54.20.4
  Duration: 00:00:10.00, start: 0.000000, bitrate: 517 kb/s
    Stream #0.0: Video: wmv2, yuv420p, 240x180, 25 fps, 25 tbr, 1k tbn
    Stream #0.1: Audio: wmav2, 32000 Hz, 2 channels, fltp, 200 kb/s

Input #0, asf, from 'media-v1-orig-ffmpeg.wmv':
  Metadata:
    copyright       : WHO 2005
    WMFSDKVersion   : 9.00.00.2991
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
    encoder         : Lavf53.21.1
  Duration: 00:00:10.36, start: 0.000000, bitrate: 506 kb/s
    Stream #0.0: Video: wmv2, yuv420p, 240x180, 25 fps, 25 tbr, 1k tbn
    Stream #0.1: Audio: wmav2, 32000 Hz, 2 channels, fltp, 200 kb/s
$ avconv -version
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
  built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
avconv 9.18-6:9.18-0ubuntu0.14.04.1
libavutil     52.  3. 0 / 52.  3. 0
libavcodec    54. 35. 0 / 54. 35. 0
libavformat   54. 20. 4 / 54. 20. 4
libavdevice   53.  2. 0 / 53.  2. 0
libavfilter    3.  3. 0 /  3.  3. 0
libavresample  1.  0. 1 /  1.  0. 1
libswscale     2.  1. 1 /  2.  1. 1

$ ffmpeg -version
ffmpeg version 0.8.13-6:0.8.13-0ubuntu0.13.10.1, Copyright (c) 2000-2014 the Libav developers
  built on Jul 15 2014 13:48:35 with gcc 4.8.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
ffmpeg 0.8.13-6:0.8.13-0ubuntu0.13.10.1
libavutil    51. 22. 2 / 51. 22. 2
libavcodec   53. 35. 0 / 53. 35. 0
libavformat  53. 21. 1 / 53. 21. 1
libavdevice  53.  2. 0 / 53.  2. 0
libavfilter   2. 15. 0 /  2. 15. 0
libswscale    2.  1. 0 /  2.  1. 1
libpostproc  52.  0. 0 / 52.  0.100
Comments

bit wrote: i stuck with the same problem today. i always converted with avconv and powerpoint hang :(
then i found your post. you saved my day :)
19 May 2016 11:21 UTC

mrb wrote: Hey bit, sometimes I feel I am the only one stumbling upon very obscure bugs. I am glad my post helped you out :) 23 May 2016 17:15 UTC