Asset - Extension WebM Player

Samuel Venable

Time Killer


Description

  • Major thanks to Nikita Krapivin for helping out a large amount to get it working.
  • Available for Windows 32-bit, Windows 64-bit, macOS, Ubuntu, and Raspbian.
  • Play WebM video files and render them to a surface! Full depth & 3D support.
  • Open source. Permissively licensed. No GPL or Patent related issues at all.
  • Source code on github: https://github.com/time-killer-games/libWebMPlayer
  • Download the Windows 64-bit / Raspbian libraries; replace Win32 / Ubuntu:
  • https://github.com/time-killer-games/libWebMPlayer/releases/tag/v1.0.0.0
  • Converts the video file's raw pixel data to a surface on-the-fly. 100% Native.
  • Say goodbye to misleadingly advertised video players that play zipped PNG's.
  • Plays best on newer hardware with better specs if you expect to play 1080p.
  • That issue will go away entirely; please wait patiently for an updated release.

Download Free from the GameMaker Marketplace

Download Free from the itch.io Game Asset Store

Made for GMS 2.3.1. GameMaker Studio 2.2.5 users can download from itch.io instead.

Ignore the itch.io page saying 2.3.1+, that applies to all assets except the video payer.
 
Last edited:

shortbread

Member
This is fantastic!
Do you plan on adding extension builds for Android or iOS? I believe libwebm builds to both platforms https://github.com/webmproject/libwebm/blob/master/Android.mk
Also as the browser already supports WebM, adding a html5 method as well (probably just overlay the video) would make this a total solution for all exports (excluding consoles).

One thing I noticed is that it doesn't currently support Opus (audio doesn't play), but other than that works really well!

Tested in IDE 2.3.2.560 : RT 2.3.2.426
 

Samuel Venable

Time Killer
This is fantastic!
Do you plan on adding extension builds for Android or iOS? I believe libwebm builds to both platforms https://github.com/webmproject/libwebm/blob/master/Android.mk
Also as the browser already supports WebM, adding a html5 method as well (probably just overlay the video) would make this a total solution for all exports (excluding consoles).

One thing I noticed is that it doesn't currently support Opus (audio doesn't play), but other than that works really well!

Tested in IDE 2.3.2.560 : RT 2.3.2.426
I don't target mobile, but I do make the source code available and licensed in such a way people can make/sell/distribute/do whatever with my work they want, with or without modification, and that would include making it available to new platforms.

The goal is to render it to a texture on all platforms that support it, so I'm not all that interested in adding HTML5 support. But that doesn't stop you or anyone else from doing it.

However, I was thinking about adding support for auto detecting URL's being passed to video_add() and using youtube-dl to play the url instead of a local file. Not sure if the opus audio issue will be a concern but iirc youtube-dl has an option to download webm so if it has the right audio codec it should work.

Edit: after searching, youtube uses opus. :/

Edit2: looks like it might be possible in HTML5 after all, and not just an overlay: https://stackoverflow.com/questions...ure-from-html5-video-element-in-sync/63186231
 
Last edited:
Top