Page MenuHome

FFmpeg: added WebM container + alpha support, and added Opus support

Authored by Sybren A. Stüvel (sybren) on Jun 30 2019, 11:19 PM.



This patch introduces improvements for WebM video, and Opus audio support. Everything is already supported by FFmpeg, I just allowed Blender to use it.

This patch contains four different commits, which I also intend to keep separate once committed. However, since they are small and highly related, it makes sense to review in one go.

  1. Simplification of BKE_ffmpeg_alpha_channel_is_supported() to use ELEM() instead of a row consecutive if-statements.
  2. Added support for writing alpha values in WebM/VP9 video.
  3. Added writing of WebM containers. Previously we only supported the WebM/VP9 video codec, but still required that it was stored in a Matroska, MP4, or other compatible container format.
  4. Added support for writing Opus audio. This format is intended to replace Vorbis and Speex (source).

I added FFMPEG_WEBM to the enumeration after FFMPEG_INVALID. The latter constant is only used in versioning code for Blender 2.6x files. Adding a value after it doesn't seem to interfere with that.

Diff Detail

rB Blender