html5 video

Hello,
I am trying to setup BBB to play html5 videos in chromium and output through HDMI to a TV…

The status so far is as follows (Thanks to the images from rcn-ee.net):

  • Booting Ubuntu 14.10 through a uSD.
  • Installed the pvr kernel drviers.
  • Installed the SGX userspace libraries and demos.
  • The TI SGX SDK Demo ‘OGLES2ChameleonMan’ is running successfully on the framebuffer.
  • Xorg is running with ‘fbdev’ driver
  • chromium is started with a url from the command line and running modeless on X
  • The url has a html5 H.264 video and plays albeit too slow and at an unacceptable frame rate.

I believe that both video decoding and playback are currently done by the CPU rather than using the GPU and the NEON unit. I am trying to get the GPU and NEON to the task and have a few questions:

  1. Is it even possible to run a 1080p/720p videos on the beagle bone?
  2. Is there a neon optimized ffmpeg codec for the chromium browser? (My use case require the videos to run in the browser rather than in a dedicated media player)
  3. Xorg starts only with ‘fbdev’ driver and not with the ‘modesetting’ driver… Does this have an impact on the video playback?
  4. Also running eglinfo, gles2test1 from X don’t work… Does this mean that X is not yet accelerated and does that have impact on chromium’s performance?

I did do some research in the past one week but I am still very new to the BBB and any help is greatly appreciated.

Thanks.

http://en.wikipedia.org/wiki/Linux_framebuffer

There is now a library DirectFB which provides a framework for hardware acceleration of the Linux framebuffer.

So this would imply that the answer to #3 is yes, and the answer to #4 is no hardware acceleration… I also believe the answer to #1 is yes( both I think - 1080p being 16 bit as I recall ), and no idea about question #2.

As an aside, as I am not exactly a “fan” of the rPI. I think in this case the rPI is more suitable for this task. It’s pretty much the one thing the rPI does better than a BBB. OR you could wait for the beagelbone X-15.

TI Sitara Linux SDK has fed me some hope.
I am currently running this image from http://software-dl.ti.com/sitara_linux/esd/AM335xSDK/latest/index_FDS.html and the sample videos play super smooth.
This is a custom distribution and boots up to an android like app launcher - which is nothing but a small browser application build with QTWebKit and displaying the GUI on the framebuffer.
The good thing is that all the libraries are compiled with neon optimisation and the sgx drives come in built.
There’s no X though and all the sample application directly use the Framebuffer.

It’s not all smooth sailing though:

  • Only the shipped sample videos play. None of my mpeg4 / h.264 videos play
  • So far I have found that this webkit based browser doesn’t support video and websockets

Note to others who might be interested in trying this image:

  • The image doesn’t load the ethernet usb gadget module by default - if network access via usb is required then connect to ethernet and edit the init scripts to load the g_ether gadget driver instead of the g_mass_stoarge and set a static ip.