I'm currently attempting to boot my Raspberry Pi into kiosk mode so that an HTML5 Video will play without skipping. My problem is that all video skips and will not play smoothly without GPU hardware acceleration. I've attempted several operating systems and browsers.
Does anybody know what the best combination of operating system and browser is to play 1920x1080p HTML5 video content within the browser? For my purposes I cannot use omxplayer.
- Android 6.0
- Windows IoT
Raspbian: Web, Chromium-Browser (Version 45 and 50), Iceweasel, Kweb3, Midori, Minimal Kiosk Browser, and Epiphany.
Android: Default Web Browser, Chrome.
Windows IoT: C# Browser with WebKit.
Raspbian Attempted Solutions:
For each browser I then navigate to http://html5test.com and check the rating, and play a YouTube video. It's still very choppy. I've tested several videos both streamed and locally on the Pi's SD card. I experience the same result.
GPU Hardware Acceleration Library:
Next, I attempted to force hardware acceleration in the "chrome://flags" settings area of Chromium. And finally, I used the glshim library to open chromium-browser with partial hardware acceleration. See the guide here.
Note: Make sure you have Chromium-browser version 45. I tried with version 50, but chromium wouldn't open properly.
- git clone glshim repository
- sudo apt-get x11 headers
- sudo apt-get cmake
- cmake .
- make GL
- LD_LIBRARY_PATH=/opt/vc/lib:~/glshim/lib glxgear // This allows testing of WebGL
- LD_LIBRARY_PATH=/opt/vc/lib:~/glshim/lib chromium-browser // This will open Chromium-browser with the appropriate library.
- Chromium browser should launch
- Navigate to "chrome://gpu" to see:
Canvas: Software only, hardware acceleration unavailable Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Rasterization: Hardware accelerated Video Decode: Software only, hardware acceleration unavailable Video Encode: Hardware accelerated
Once I installed the Android image onto the Pi's SD card I was able to push the newest Chrome apk onto the device. When I check "chrome://gpu," I can see hardware acceleration is enabled for most settings. But when I load a video it doesn't autoplay, and it still very choppy. In some cases, it's much worse at playback than using Raspbian with the Chromium-Player. At least the Chromium-Player will attempt to chug through the video file.
Potential Ideas for Development:
Modify OSMC (I would post more links, but I don't have privileges) Modify Kodi Wait for a browser that is capable to display HTML5 content natively utilizing the Raspberry Pi GPU.
Any information regarding this is greatly appreciated. I've been researching this issue for a week now and haven't found a definitive answer.