Jump to content

[Help] Official Emby Theater RPi4 Image on Armbian: Choppy H.264, Missing v4l2m2m, Invisible Playback Overlay


Recommended Posts

Modify3453
Posted

I'm running into a frustrating combination of issues with the Official Emby Theater Raspberry Pi 4 image (Armbian). It seems to lack the necessary hardware acceleration stack, resulting in choppy playback and a missing playback Overlay.

Hardware:

  • Raspberry Pi 4B (8GB)
  • Storage: SD Card (Class 10) (32GB)
  • OS: Armbian (Custom build based on the Emby Theater .img)
  • Client: Emby Theater (Official RPi4 .img)

The Symptoms:

  1. Choppy Playback: Standard H.264 1080p videos stutter in a very noticeable way.
  2. Invisible UI Overlay: The "Now Playing" bar (controls, timeline, info) is completely invisible, though the video plays (albeit poorly).
  3. Audio: Passthrough freezes video.

Troubleshooting & Findings:

I performed some diagnostics to isolate the issue:

  • Driver Status: lsmod confirms that bcm2835_codec and bcm2835_v4l2 are loaded. The kernel sees the hardware.
  • FFmpeg Capabilities (apt install required) Running ffmpeg -hwaccels returns:
    • vdpau, cuda, vaapi, drm, opencl
    • MISSING: v4l2m2m (The critical Raspberry Pi hardware decoder backend).
  • Configuration:
    • Emby Hardware Acceleration is set to "Auto".
    • /boot/firmware/config.txt: dtparam=i2c_arm, i2s, and spi are commented out.
    • Audio output is set to "Auto"
    • All audio codecs unchecked for passthrough.
  • Packages:
    • Attempted to install libraspberrypi-bin to get the missing userland libraries.
    • Error: libc6 version mismatch. My Armbian base is too new for the pre-compiled Pi libraries.
    • vcgencmd and rpi-firmware commands are not available.

The Core Question: Is the Official Emby Theater image for RPi4 either:

  • Built on an older OS version that is incompatible with current Armbian kernels/libc6.
  • Missing the proprietary firmware blobs and libraspberrypi libraries entirely.
  • Relying on a ffmpeg build that wasn't compiled with --enable-v4l2m2m.

What I'm Looking For:

  • Has anyone successfully patched the libc6 mismatch to get libraspberrypi working on a newer Armbian base?
  • Is there a specific Armbian kernel version or config that enables v4l2m2m without needing the proprietary rpi-firmware package?
  • Should I just abandon this image and switch to LibreELEC + Emby addon for a working experience?
  • Is there an external player option that is reliable?

Any insight on how to force v4l2m2m detection or fix the invisible overlay would be appreciated!

Posted

Hi, how did you install the app?

Modify3453
Posted

LibreELEC is playing smoothly with Emby for Kodi set up but I would very much prefer a native Emby Theater experience.

Posted

OK are you able to use our new app?

 

  • Like 1
Modify3453
Posted (edited)
7 hours ago, Luke said:

OK are you able to use our new app?

 

Somewhat - with some additional modifications, I can launch and navigate the app and the interface is definitely snappier and smoother. Playing videos does not work though - the server starts streaming and it looks like its playing from the server dashboard (direct play for all) but emby theater freezes up with a glitched interface (twitchy or frozen loading circle, some overlapping copies of text, etc). It's not unresponsive though; Home button stops playback and goes to main menu.

Steps

  1. sudo apt purge emby-theater
  2. Install with script from herecurl https://pkg.emby.media/get.sh | sh
  3. Had to also edit /usr/local/bin/emby-theater which had some exports and was pointing to /opt/emby-theater

New /usr/local/bin/emby-theater:

#!/bin/sh
APP_DIR=/opt/Emby-Beta
exec $APPDIR/media.emby.client.beta "$@"

 

Edited by Modify3453
Modify3453
Posted

Trying to force non-direct (1080p 4mbps for example) briefly loads the player interface more completely but then gets stuck in a playback error loop (popup/screen takeover).

A few fixes and this ought to be a great improvement I hope though!

@softworkz

  • Thanks 1
  • 1 month later...
Posted
On 4/8/2026 at 4:50 AM, Modify3453 said:

New /usr/local/bin/emby-theater:

#!/bin/sh
APP_DIR=/opt/Emby-Beta
exec $APPDIR/media.emby.client.beta "$@"

The entry-point you should call is /opt/Emby-Beta/Emby

 

  • Thanks 1
  • 2 weeks later...
Modify3453
Posted (edited)
On 5/11/2026 at 3:31 PM, softworkz said:

The entry-point you should call is /opt/Emby-Beta/Emby

So this?

#!/bin/sh
APP_DIR=/opt/Emby-Beta
exec $APPDIR/Emby "$@"

Seems to work the same either way but updated.

Re-tested 2.304 however the results are the same as before pretty much.

On 4/7/2026 at 10:50 PM, Modify3453 said:

Somewhat - with some additional modifications, I can launch and navigate the app and the interface is definitely snappier and smoother. Playing videos does not work though - the server starts streaming and it looks like its playing from the server dashboard (direct play for all) but emby theater freezes up with a glitched interface (twitchy or frozen loading circle, some overlapping copies of text, etc). It's not unresponsive though; Home button stops playback and goes to main menu.

Is there something missing with the app or the image/os itself?

I was thinking of trying the Ubuntu image with this version to see if that might work.

Edited by Modify3453
Posted
On 5/22/2026 at 3:15 AM, Modify3453 said:

So this?

#!/bin/sh
APP_DIR=/opt/Emby-Beta
exec $APPDIR/Emby "$@"

Seems to work the same either way but updated.

Yes - it's just that media.emby.client.beta might change and /opt/Emby-Beta/Emby won't,

On 4/8/2026 at 4:50 AM, Modify3453 said:

Had to also edit /usr/local/bin/emby-theater which had some exports and was pointing to /opt/emby-theater

Also - that shouldn't be done. The apps are different and independent from each other - just FYI.

 

Looking at the full conversation now, I have to say sorry for misguiding you. Whe should have said this:

The beta app does not have MPV HW acceleration support for RPI and other ARM devices yet (this is currently in the works).

The only way that works reasonably is by specifying the --nompv CLI flag, which will give you Chromium-based video playback. (see https://support.emby.media/support/articles/apps/linux/Emby-Linux-Flags.html).

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...