Jump to content

Emby Theater for Linux


xnappo

Recommended Posts

I am trying to install on raspbian stretch and found some issues while trying to install this version while trying to install using script provided:

sudo apt-get install npm
sudo apt-get install nodejs-legacy
sudo npm -g install electron  <-- trying to install electron with sudo would end up with an installation error. Installing it without sudo completes but later on, electron is not found.
sudo apt-get install mpv
sudo npm install node-mpv  <-- same thing as with electron installation, trying to install using sudo fails.
sudo apt install git
cd ~
git clone https://github.com/MediaBrowser/emby-theater-electron.git
cd emby-theater-linux  <-- no emby-theater-linux subdirectory exist, there is an emby-theater-electron one.
./et.sh <-- need to chmod +x to et.sh as it is not executable after cloning the repository. executing it, states electron is not found.

are there any considerations for a raspi install to consider?

Link to comment
Share on other sites

haraldov

Thanks for the feedback on my install notes @@Smaky

Before you install the npm packages you must choose where you want the executable to start from https://docs.npmjs.com/getting-started/installing-npm-packages-globally

 

Local installation:

pi@raspberrypi:~ $ cd emby-theater-electron/
pi@raspberrypi:~/emby-theater-electron $ npm install electron@1.4.16

# You do not need sudo here because everything in the home directory is writeable
​# and you are installing local node package
pi@raspberrypi:~ $ npm install

pi@raspberrypi:~/emby-theater-electron $ ls -l node_modules/
total 32
drwxr-xr-x 5 pi pi 4096 Sep  3 00:37 electron
drwxr-xr-x 2 pi pi 4096 Aug 20 06:51 is-linux
drwxr-xr-x 2 pi pi 4096 Aug 20 06:52 is-osx
drwxr-xr-x 2 pi pi 4096 Aug 20 06:52 is-windows
drwxr-xr-x 8 pi pi 4096 Aug 20 06:52 long
drwxr-xr-x 4 pi pi 4096 Sep  2 18:19 node-mpv
drwxr-xr-x 3 pi pi 4096 Aug 20 06:52 power-off
drwxr-xr-x 3 pi pi 4096 Aug 20 06:52 sleep-mode

But the electron executable is not in the search path so you must update the et.sh script with the correct path to the executable like this:

/home/pi/emby-theater-electron/node_modules/electron/dist/electron

Global installation:

pi@raspberrypi:~ $ cd emby-theater-electron/
# The `-g` flag (global) symlink it into your PATH:
# If that command fails with an `EACCESS` error you may have to run it again with `sudo` because 
# npm writes the executable to a directory /usr/local/bin/electron 
# you not normally has access to as a normal user.
pi@raspberrypi:~/emby-theater-electron $ npm install -g electron@1.4.16

# You do not need sudo here because everything in the home directory is writeable 
# and you are installing local node package
pi@raspberrypi:~ $ npm install
pi@raspberrypi:~/emby-theater-electron $ whereis electron
electron: /usr/lib/electron /usr/local/bin/electron

Now you can just run `electron` to run electron from /usr/local/bin/electron

 

trying to install electron with sudo would end up with an installation error.

 

If you get this installation error you should try to upgrade npm. This npm website has lots of useful information about managing npm package https://docs.npmjs.com/ . I have updated my installation notes with the correct directory "emby-theater-electron".

Edited by haraldov
Link to comment
Share on other sites

Thanks for all these details @@haraldov
 
I will test this as soon as I reimage my SD card... I think that fooling around ended up messing my raspbian install quite a bit.

Link to comment
Share on other sites

@@denz, this is the output from the node-mpv install (installed globally):

node-mpv@1.3.1 /usr/local/lib/node_modules/node-mpv
├── promise@7.3.1 (asap@2.0.6)
├── cuid@1.3.8 (node-fingerprint@0.0.2, browser-fingerprint@0.0.1, core-js@1.2.7                                                                                                                                                             )
└── lodash@4.17.4

Seems version 1.3.1 gets installed.

 

Following the guidance provided I was able to install electron and node mpv successfully (decided for a global install). And although Emby Theater launches I have not been able to play any media. I can login and browse my collection... but when playing any media file, I get the amimated circle and background for the media show and nothing else... I have to CTRL+C to shut down Emby Theather as no interaction with the app is possible.

 

I noticed the following message to be shown in the terminal window used to launch Emby Theater:

fs access result for path: Error:  ENOENT: no such file or directory, access '\\MYNAS\Anime\ISUCA\Season 1\ISUCA-S01E01.mkv"

This is the correct path to the file from the server... and I see similar messages for any other file I may choose (wheter it is video or audio file, local to the server or attached via the network).

Edited by Smaky
Link to comment
Share on other sites

So the same as me that is why I had to use npm install node-mpv@1.0.3

 

Did you compile MPV from source as you need to do that you have to follow haraldov instructions I think they are on page 4

Link to comment
Share on other sites

Should I install v1.0.3? Is there a way to uninstall the one that installed by default? 

 

I probably can compile mvp... just for the fun of it.

 

Update: I uninstalled version 1.3.1 and installed 1.0.3... however I continue to get the same behavior with no video and the error message about the path not being accesible.

 

I guess there is something else happening here... before mvp can actually start.

Edited by Smaky
Link to comment
Share on other sites

I tried to compile mpv but got an error while trying to build the package

CC libavcodec/aacadtsdec.o
src/libavcodec/aac_adtstoasc_bsf.c: In function ‘aac_adtstoasc_filter’:
src/libavcodec/aac_adtstoasc_bsf.c:134:1: internal compiler error: Segmentation fault
}
^
Please submit a full bug report,
with preprocessed source if appropriate.

Update... seems this was because of overheating... after taking care of that, with a big fan... it compiled successfully

...
dpkg-deb: building package 'mpv-dbgsym' in '../mpv-dbgsym_0.26.0_armhf.deb'.
dpkg-deb: building package 'mpv' in '../mpv_0.26.0_armhf.deb'.
dpkg-genbuildinfo --build=binary
dpkg-genchanges --build=binary >../mpv_0.26.0_armhf.changes
dpkg-genchanges: info: binary-only upload (no source code included)
Edited by Smaky
Link to comment
Share on other sites

Did you compile MPV from source as you need to do that you have to follow haraldov instructions I think they are on page 4

 

Ok.. I followed the instructions on page from from @@haraldov and got mpv 0.26.0 compiled & installed.

 

I tested mpv by coping a media file to the pi and ran it manually "mpv video.mkv" it worked just fine with smooth video and audio.

 

However, Emby Theater still behaves the same... whenever I try to play any media file, the ENOENT: no such file or directory error appears and Emby does nothing... I have to manually kill the app.

 

Any pointers?

Edited by Smaky
Link to comment
Share on other sites

Did you remove the extra commands in et.sh file as haraldov has indicated ? so it has electron main.js  

 

Remember to restart the pi because you may get address is in use error. 

Edited by denz
Link to comment
Share on other sites

haraldov

@@Smaky and @@denz, Electron can be installed globally, but node-mpv must be installed locally.

 

Make sure you install the local node-mpv package and not the package from the npm nodesource because ET is using a customized version https://emby.media/c...linux/?p=455028

This is specified in package.json and npm install these packages if you are in the directory /home/pi/emby-theater-electron

pi@raspberrypi:~ $ cd emby-theater-electron/
pi@raspberrypi:~/emby-theater-electron $ npm install
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN The package power-off is included as both a dev and production dependency.
npm WARN The package sleep-mode is included as both a dev and production dependency.
npm WARN The package node-mpv is included as both a dev and production dependency.
npm WARN The package long is included as both a dev and production dependency.
npm WARN The package is-windows is included as both a dev and production dependency.

added 50 packages in 13.871s
pi@raspberrypi:~/emby-theater-electron $

You can use npm uninstall <node-package> to remove installed package https://docs.npmjs.com/getting-started/uninstalling-global-packages

 

fs access result for path: Error: ENOENT: no such file or directory, access '\\MYNAS\Anime\ISUCA\Season 1\ISUCA-S01E01.mkv"

 This error message can you ignore, because ET are trying to play first the file from NFS or Samba share first (direct play). If this do not work it tries to stream the recording (direct stream or transcoded stream) from Emby server.

Link to comment
Share on other sites

Thanks... I was missing this step. I uninstalled node_mpv I installed globally and then followed your instructions for the local install.

 

However, upon relaunch of ET I am getting a dialog box with a similar error and the colored circle with no video...

 

59ad8d5c3b714_20170904_1223061.jpg

 

59ad8df3304cf_20170904_1223271.jpg

Link to comment
Share on other sites

After including these last steps I managed to get the media file to reproduce...

# Edit the line "electron --enable-transparent-visuals --disable-gpu main.js" to:
electron main.js

# Run ET from bash
pi@raspberrypi:~ $ ./et.sh

# After ET startup choose Setting --> Video Setting --> Hardware acceleration mode --> RPI 

However, no OSD is visible so I am not sure how to stop and control playback... is this expected?

  • Like 1
Link to comment
Share on other sites

haraldov

However, no OSD is visible so I am not sure how to stop and control playback... is this expected?

 

Yes. Mpv seems to render in the top most layer with nothing else being able to be overlayed on that layer.  The onscreen control displays under the video https://emby.media/community/index.php?/topic/42868-emby-theater-for-linux/?p=478363. I hope the Emby developers can fix this problem. 

 

You can control ET with the keyboard or a remote control (with lirc, ir-keytable or hdmi-cec). Here is the wiki for ET keyboard and remote control support. Here is the Emby post about LIRC (IR) on raspberry https://emby.media/community/index.php?/topic/43179-lirc-ir-on-the-raspberry-pi/?p=402357

Edited by haraldov
Link to comment
Share on other sites

michaeltruncale

I literally just bought a Pi3 this weekend and setup RetroPie and it worked fine. I have tried to setup the Emby Theater client to no avail. I've tried on the same MicroSD card where RetroPie is and tried a new Raspbian OS install on a different MicroSD card. I keep getting stuck with the npm install.

 

Also is "./et.sh" an actual command or is that an abbreviation?

Has anyone done an install and done a video walkthrough of it?

Thanks,

Edited by michaeltruncale
Link to comment
Share on other sites

et.sh is the actual command but you need to open file explorer and change the permissions to execute. 

 

Also does retro pi have MPV installed that can use hardware acceleration ? Run this command and if the big bunny plays correct you have correct MPV version if not then you need to install mpv on post 68.

 

mpv http://ow.ly/10tB0C

Edited by denz
Link to comment
Share on other sites

michaeltruncale

@@denz

I was able to get the npm installed by following @@haraldov and edited the file and was able to get ET to launch, changed the video setting to RPI and went straight to try Live TV... but now I imagine it didn't work cause this issue with mpv, I tried playing that and it said "Failed to recognize file format."

 

I'll look at post 68.

 

Thank You!

Link to comment
Share on other sites

michaeltruncale

I followed post #68 to a "T" and when I launch ET it launches, but does give an error:

 

ERROR: cec-client not installed, running without cec functionality

 

I attempted to install cec-utils:

sudo apt-get install cec-utils

 

However it says it's already installed.

When I do launch ET I can play my media, and I can play Live TV too so not sure what the cec-util error is for?

Link to comment
Share on other sites

michaeltruncale

@@haraldov Okay gotcha.

Now that I have it installed is there a thread on things that need to be tested that I can help with?

And/or a current list of known issues so I don't report duplicates?

Link to comment
Share on other sites

michaeltruncale

Running Emby Theater on a Raspberry Pi3, runs really well!

 

couple thing:

 

1. When I launch from desktop > terminal, it launches full screen except the task bar is still present at top.

 

2. When I play a movie, the video plays on top of the previous screen, meaning the black top/bottom bars don't appear, and the backdrop image changes periodically during the movie and the osd persists at the bottom. And the box art remains in the bottom left.

 

3. I tried a few live tv feeds and some feeds fill the screen, and some display in a smaller window overtop, not filling the screen. I imagine this may have to do with different resolutions from the feed, 1080, 720, 480.

 

4. When going to the Live TV menu > Recordings, its missing the usual "Recording Groups" at the bottom.

 

5. While watching a movie, I imagine the OSD is eventually going to be not displayed and operate more in line with ET on Windows, etc. I did notice that the movie playtime stops updating after a few seconds unless you move the mouse or press a button.

 

Ideas:

+ Port within RetroPie.

+ MicroSD Image of an Emby Theater that boots directly to ET, Fullscreen.

Link to comment
Share on other sites

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