6

Problem:

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.

Question:

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.

Operating Systems:

  • Raspbian
  • Android 6.0
  • Windows IoT

Web Browsers:

  • 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.

  1. git clone glshim repository
  2. sudo apt-get x11 headers
  3. sudo apt-get cmake
  4. cmake .
  5. make GL
  6. LD_LIBRARY_PATH=/opt/vc/lib:~/glshim/lib glxgear // This allows testing of WebGL
  7. startx
  8. lxterminal
  9. LD_LIBRARY_PATH=/opt/vc/lib:~/glshim/lib chromium-browser // This will open Chromium-browser with the appropriate library.
  10. Chromium browser should launch
  11. 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

Android Pi

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.

Thank you.

asked Jul 13, 2016 at 15:00
4
  • Beware that not all video formats have GPU decoding support on the Pi period. Commented Jul 13, 2016 at 17:40
  • What is wrong with kweb (not kweb3) ? Commented Jul 18, 2016 at 7:40
  • @flakeshake kweb3 still lags in a difficult manner when displaying HTML5 embedded videos with the <video> tag. Additionally, if text is overlayed on top of HTML5 video tags, the video is even more choppy and sometimes won't even play. Commented Jul 18, 2016 at 18:38
  • Did you try increasing the video memory? How big is the video can you buffer it to RAM? Try increasing the caching? Commented Feb 4, 2017 at 3:57

2 Answers 2

1

Epiphany can do it according to the Raspberry Pi foundation's blog:

https://www.raspberrypi.org/blog/web-browser-released/

They didn't mention any specific OS, so I'd go for Raspbian. Installation instructions are on the blog post.

answered Jul 13, 2016 at 15:07
2
  • I tried that browser but it didn't load HTML5 content properly. sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install epiphany-browser Commented Jul 13, 2016 at 15:59
  • Yeah, that just refers to video decoding -- glcanvas, etc. are not that, and even if it's just video decoding you need, the state of the HTML 5 implementation is a separate issue. Commented Jul 13, 2016 at 17:36
1

As of 2017 , Chromium has been modified to use hardware decoding for video on Raspberry Pis. 3D acceleration has to be enabled seperately via raspi-config ("Experimental 3D driver").

answered Oct 26, 2017 at 9:23

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.