We have moved to a new Sailfish OS Forum. Please start new discussions there.
69

Webm (VP8, VP9, Opus) support for Sailfish

asked 2014-05-20 01:02:46 +0300

jemm gravatar image

updated 2017-10-19 19:42:28 +0300

misc11 gravatar image

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

edit retag flag offensive close delete

Comments

1

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 +0300 )edit
2

The 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 +0300 )edit
2

What about VP3 (alias Theora) ?

charlycoste ( 2014-10-27 14:07:45 +0300 )edit
1

Sailfish 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 +0300 )edit
1

...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 +0300 )edit

4 Answers

Sort by » oldest newest most voted
10

answered 2015-09-02 19:02:02 +0300

shmerl gravatar image

updated 2015-09-02 19:02:23 +0300

Now even MS are going to support VP9 (and Opus as well).

See:

Patents hurdles with VPx are cleared now. It's time for Jolla legal team to review this and add official VPx support to Sailfish.

edit flag offensive delete publish link more
4

answered 2017-03-30 18:23:26 +0300

nthn gravatar image

I'm stunned WebM is still not supported anywhere outside of the browser. How difficult could it be to include a few extra packages that have already existed for a very long time?

edit flag offensive delete publish link more

Comments

4

official webm/vp3,theora support does not depend on the browser but you need a player application that uses libav and not gstreamer. official webm/vp8 and vp9 support is provided by sailfish-browser due to built-in codec support of gecko-engine (can't say exactly but this may be faster than libvpx, which isn't the best-performing decoder...). unofficial support of webm/vp9 and webm/vp8 via gstreamer/vpx is provided in openrepos if you have a cortex-a15 or krait device (software only solution needs a lot of cpu-power so it makes use of all cpu features gcc is able to use - sdiv/udiv and fused-multiply-add)

lpr ( 2017-03-30 18:42:42 +0300 )edit
3

Could gst-libav be used? https://gstreamer.freedesktop.org/modules/gst-libav.html

Giskard ( 2017-03-31 12:28:37 +0300 )edit

@Giskard yes, that will work, too. You might want to try latest gst-ugly in openrepos with that module being included. But I guess that it is not faster than official webm/vp8 and vp9 support provided by sailfish-browser as gecko is using a decoder derived from libav/ffmpeg, too. It just lacks some comfort to open local .webm files via browser-url-input...

lpr ( 2017-04-01 17:34:30 +0300 )edit

@lpr: can you make an i486 version of those packages, too? (more specifically the Jolla tablet)

nthn ( 2017-04-02 02:18:12 +0300 )edit
1

@nthn enjoy new libvpx4-i486 build including libgstvpx on openrepos...

lpr ( 2017-04-02 17:04:22 +0300 )edit
3

answered 2014-11-21 05:30:42 +0300

shmerl gravatar image

updated 2014-11-21 05:37:21 +0300

The main reason Jolla refreained from adding VPx support were legal threats from patent aggressors, including Nokia. However recently, most of the attacks have stopped (Nokia settled with HTC), and just two legal cases between Nokia and Google are still pending in Germany with Google trying to invalidate those patents altogether, so keep track of that.

On top of the above, Cisco paid a legal firm (Duane Morris LLP) to perform a thorough legal research of VP8, and the result was that they consider it to be not infringing on these patents. You can see their result published here: http://www.duanemorris.com/memo/VP8Compilation.pdf

So, we'll have to wait until those German lawsuits will end. Hopefully Google will bust Nokia's patents and then Jolla will get a green light to add VPx support.

edit flag offensive delete publish link more

Comments

This is getting ridiculous if you see that the browser does support VP9 and VP8. So Jolla basically ships those codecs already. They just need to activate their compiling for gstreamer and ships their libs. A true open plattform without supporting open codecs isn't one its that simple.

leszek ( 2015-11-13 18:27:02 +0300 )edit

Just for a laborious workaround: Webm videos residing in the SD card can be watched in the Web Browser by making a local favorite (bookmark). In the beginning of the favorite URL has to be file:///media/sdcard/ and the following part can be found out by e.g. using Cargo Dock filemanager.

JoHe ( 2016-04-06 20:42:31 +0300 )edit
2

answered 2014-05-20 14:39:16 +0300

Triton gravatar image

That's only part of the answer but Opus/GStreamer update is already in the roadmap according to https://together.jolla.com/question/5556/upgrade-gstreamer-to-support-opus-codec/

VP8/9 and MKV remain...

edit flag offensive delete publish link more

Comments

MKV files are playable on the phone. Of course not all of them, which is a problem with every file format currently.

vasavr ( 2014-05-20 16:51:12 +0300 )edit
2

OK, if MKV is supported then WEBM container is too. So, only the codecs remain to be supported.

Triton ( 2014-05-22 09:17:57 +0300 )edit
Login/Signup to Answer

Question tools

Follow
9 followers

Stats

Asked: 2014-05-20 01:02:46 +0300

Seen: 5,539 times

Last updated: Oct 19 '17