Webm (VP8, VP9, Opus) support for Sailfish
Webm is the best available open-source video format, which is composed of VP8 or VP9 video and Vorbis or Opus audio in modified mkv container. VP8 and VP9 are developed by Google and Vorbis and Opus developed by Xiph Foundation. Currently Sailfish does not support Webm and the facts are the following:
- chipset of first Jolla phone probably doesn't support webm, so there will be no hardware acceleration for media player
- current version of Gstreamer in Sailfish is already able to play webm without trouble, if libvpx library (for VP8/9) is available
- Sailfish currently supports Vorbis audio, but not Opus audio
- current setup of mtp does not support the transfer of webm files (mtp-detect does not list webm and actual transfer fails)
- when scp or other non-mtp method is used for transfering Webm file to the phone, then Webm file does not play, but media player is able to play Vorbis audio (shows mkv and Vorbis support)
- as Sailfish Browser currently uses Gecko core at par with FF 29 (and all named codecs are supported there) then browser actually plays Webm files
The reasons to include full Webm and Opus support:
- best open source media format for video and audio
- goes well with the open source spirit of Jolla
- allows users to avoid patent covered media formats if they wish so
- a lot of content available (basically all new content at Youtube is encoded with 360p VP8+Vorbis and 240p up to FullHD VP9+Vorbis)
- upcoming WebRTC standard requires Opus audio and probably also VP8 or VP9 (video codec has not been fixed yet)
- if full SIP support is added to Sailfish and as VP8 and Opus support is available at may VOIP-PBX'es, then these codecs can be used for SIP-based VOIP calls as well
So, please add VP8, VP9 and Opus support to Sailfish. As most of framework is already available, then the task is not complicated.
update: opus has been added already with sailfish2
update: webm still cant be played by gallery app in SFOS v2.1.2.3
I think all these codecs are supported in GStreamer 1.x, which is already planned. I do wonder if extra acceleration using OpenCL / GLSL would be feasible for webm. Not the same efficiency as an ASIC, but being able to play HD webm, albeit with high power usage, is still preferable over not being able to play them at all.
Fuzzillogic ( 2014-05-20 01:07:08 +0200 )editThe status of these codecs should be following:
- VP8 is supported by current version of GStreamer if libvpx is present (so that's the easiest to fix)
- VP9 requires GStreamer 1.2.*
- Opus requires Gstreamer 1.0.* (also 0.11, but that's dev branch)
- Vorbis works fine with the current version of GStreamer (I use it for all my audio on Jolla)
- ogg containers work fine with the current version of GStreamer
- mkv containers seem to work fine with the current version of GStreamer, but I have not tested all scenarios (others in this forum have claimed that fast forward does not work)
jemm ( 2014-05-20 09:57:39 +0200 )editWhat about VP3 (alias Theora) ?
charlycoste ( 2014-10-27 14:07:45 +0200 )editSailfish as it is today is perfectly capable of playing standard theora videos (theora for video, vorbis for audio in ogg container and .ogv file extension). Probably there is no hardware decoding support, but libtheora, libogg and libvorbis do the job on software side. Works offline from Gallery and online from Sailfish Browser.
jemm ( 2014-10-27 15:37:15 +0200 )edit...so any update on when we can get webm to work? It has been a while... and more webm content is available now due to youtube.
mikelima ( 2015-03-04 13:48:47 +0200 )edit