Jump to content

Emby Theater for Linux


xnappo

Recommended Posts

haraldov

I have the same error #66 with ET as @@denz on my rpi3 with raspbian when trying to play livetv-stream from streamdev-plugin for vdr.2.3.3 and from recorded ts files from emby server 3.2.12.0. The ET window can not be maximised.

 

58fa5b4493db0_Selection_001.png

 

58fa5b5fbdf4f_Selection_002.png

 

 

 

startup.log

Edited by haraldov
Link to comment
Share on other sites

Thanks, it is good that we're rounding up the RPI issues, but please be aware we're not currenlty looking at them yet. There will come a time for that, once the mpv player is mature enough. Until then, for everyday usage, the dedicated RPI version will continue to be recommended:

 

https://emby.media/community/index.php?/topic/42760-emby-theater-on-raspberry-pi/

 

Thanks.

Link to comment
Share on other sites

denz

Thanks @haraldov for your help I was able to compile the new version of mpv. I thought it will fry the raspberries the indicator on screen was glowing red. I tried the Linux version and what I found first time it plays the second time it won't play you have to close theatre. I get the same error using electron so I have gone back to using pi theatre until Luke wants us to test this version again. 

Link to comment
Share on other sites

New changes have been pushed related to audio and subtitle switching with MPV. Thanks guys.

Link to comment
Share on other sites

Additional changes have been pushed. live tv should be playable now, but not yet seekable.

Link to comment
Share on other sites

haraldov

I have tried to find out why ET for linux do not work on rpi 3. I reported earlier in post#77 the ET failure when watching livetv with ts-stream from vdr-streamdev-plugin. In file playbackhandler.js I changed in function createMpv to "debug": true

function createMpv() {
    if (mpvPlayer) return;
    var isWindows = require('is-windows');
    if (isWindows()) {
        mpvPlayer = new mpv({
            "binary": mpvPath,
            "ipc_command": "--input-ipc-server",
            "socket": "\\\\.\\pipe\\emby-pipe",
            "debug": false
        },
            [
            "--wid=" + playerWindowId,
            "--no-osc"
            ]);
    } else {
        mpvPlayer = new mpv({
            "binary": mpvPath,
            "ipc_command": "--input-unix-socket",
            "socket": "/tmp/emby.sock",
            "debug": true
        },
            [
            "--wid=" + playerWindowId,
            "--no-osc"
            ]);
    }

When I started up ET I got lot of error messages about error connecting to socket /tmp/emby.sock which do not exist.

{ Error: connect ENOENT /tmp/emby.sock
    at Object.exports._errnoException (util.js:1022:11)
    at exports._exceptionWithHostPort (util.js:1045:20)
    at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'connect',
  address: '/tmp/emby.sock' }
pi@raspberrypi:~ $ ls -l /tmp/emby.sock
ls: cannot access /tmp/emby.sock: No such file or directory
 
I hope this can research more when ET for linux has been stable.
 
 

error_socket.log

Edited by haraldov
Link to comment
Share on other sites

frabe8378910

 

I have tried to find out why ET for linux do not work on rpi 3. I reported earlier in post#77 the ET failure when watching livetv with ts-stream from vdr-streamdev-plugin. In file playbackhandler.js I changed in function createMpv to "debug": true

When I started up ET I got lot of error messages about error connecting to socket /tmp/emby.sock which do not exist.

{ Error: connect ENOENT /tmp/emby.sock
    at Object.exports._errnoException (util.js:1022:11)
    at exports._exceptionWithHostPort (util.js:1045:20)
    at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'connect',
  address: '/tmp/emby.sock' }
pi@raspberrypi:~ $ ls -l /tmp/emby.sock
ls: cannot access /tmp/emby.sock: No such file or directory
 
I hope this can research more when ET for linux has been stable.

 

 

Which repo did you clone, the older emby-theater-linux or the current emby-theater-electron?

 

When I use:

 

1) emby-theater-linux and play a movie => I see a "/usr/bin/mpv" in the process table and so I have the socket (/tmp/emby.sock). So I guess the OS installed mpv is playing the movie.

 

2) emby-theater-electron and play a movie => there was never be a "mpv" in the process table and there was NO socket. So I'm sure, there is no OS installed program playing the movie. To verify this theory I uninstalled all "mpv", "vlc" and any other player on my zotac box (running Debian). I uninstalled node-mpv too, replaced playbackhandler.js by an functionless file and moved away every instance of mpvplayer in the plugin directory.

I can still play movies .... and so far I was not able to find out which part of emby-theater-electron plays it. B) B)   See my post #76.

 

But for sure I don't have a socket in /tmp and there is no "external" player program started as I have uninstalled them all!

 

I'll keep diggin as soon as I have some time to spent.

Edited by frabe8378910
Link to comment
Share on other sites

emby-theater-linux is obsolete now, fyi. make sure to refer to the first post for installation instructions, which includes installing mpv.

Link to comment
Share on other sites

 replaced playbackhandler.js by an functionless file and moved away every instance of mpvplayer in the plugin directory.

I can still play movies .... and so far I was not able to find out which part of emby-theater-electron plays it. 

 

Now I understand what you mean. In this scenario the chromium video player is being used. It's actually possible to replace chromium's embedded ffmpeg with a customized version, thus allowing the video player to handle anything. It's not a bad option unless you need audio passthrough. You get robust input support but not great output features.

Link to comment
Share on other sites

frabe8378910

Now I understand what you mean. In this scenario the chromium video player is being used. It's actually possible to replace chromium's embedded ffmpeg with a customized version, thus allowing the video player to handle anything. It's not a bad option unless you need audio passthrough. You get robust input support but not great output features.

 

Thanks Luke!

And yes I have the latest git clone, but did reference the emby-theater-linux because it worked different. That version called the "mpv" executable from the OS.

 

Now as you know what I mean :D , it would be very nice, if you could answer me some more questions in this respect to understand how emby-theater-electron will work. And then I'll shut up ... :P

 

1) the chromium video player is embedded in electron itself or in emby-theater-electron, correct?

2) I had to remove the "--disable-gpu" otherwise I have complete stuttering. Can I give (other) parameters to the chromium video player? 

3) how to get the current code to use the "mpv" player from the OS again?

4a) It seems to me that all "mpv", "mpvplayer" and "playbackhandler" code from the current emby-theater-electron tree is unused now, as I could delete all these functions and still was functional?

4b) Or will that code be used, if I use the OS "mpv"? (done, according to your answer to question 3)

 

Thanks in advance.

Don't hurry, but if you can give me some answers, that would be nice.

Edited by frabe8378910
Link to comment
Share on other sites

1) Yes.

2) I'm not aware of any params that will impact the chromium video player. I had always thought the disable gpu flag affected webgl and hardware accelerated animation.

4) No.

Link to comment
Share on other sites

haraldov

I have tried to find out why ET for linux do not work on rpi 3. I reported earlier in post#77 the ET failure when watching livetv with ts-stream from vdr-streamdev-plugin. 

 

A easy way to check Chrome support for streaming is to use the http://html5test.com/ web site. The chromium version used in electron are older, but maybe it will give some information about chromium video player features. Source: https://github.com/electron/electron/issues/1114.

 

If chromium video player is being used to play the ts streams on my rpi I think it do not have support for h265 video and AAC sound which are embedded in my livetv recording. This will also maybe explain why ET crashes on my rpi.

 

5900825324725_Skjermbilde.png

 

Edited by haraldov
Link to comment
Share on other sites

I've pushed some updates. The audio and video settings screens are now functional so you can configure for example your gpu acceleration options as well as audio passthrough.

 

Also, see if this is now using your system installed mpv version. Thanks.

  • Like 1
Link to comment
Share on other sites

frabe8378910

I've pushed some updates. The audio and video settings screens are now functional so you can configure for example your gpu acceleration options as well as audio passthrough.

 

Also, see if this is now using your system installed mpv version. Thanks.

 

If I use main.js unmodified, then it will call the system mpv! :)

 

If I comment the following line, then no. It will use embedded chromium. :angry:

//        mainWindow.webContents.on('dom-ready', setStartInfo);

When leaving the line active, I won't get the emby or play window to real fullscreen. It always has the "minimize", "maximize" and "close" buttow at the upper right corner. If these buttons are existent, the playing movie is extremly stuttering and distorted or simply not visible. I've to experiment more on the weekend.

 

Thanks for your effort.

Edited by frabe8378910
Link to comment
Share on other sites

haraldov

I have tried to find out why ET for linux do not work on rpi 3. I reported earlier in post#77 the ET failure when watching livetv with ts-stream from vdr-streamdev-plugin. 

 

Today I tried to run ET for linux on a Intel pc with XUbuntu (32 bit). I followed the instruction on post #1, but I get error message when installing electron about not finding the correct version of electron. I solved the error following the advice from this post: https://github.com/electron/electron/issues/7063

sudo npm -g install electron --arch=ia32

I then installed the newest mpv version using this ppa source: https://launchpad.net/~mc3man/+archive/ubuntu/mpv-tests

sudo add-apt-repository ppa:mc3man/mpv-tests
sudo apt-get update
sudo apt-get install mpv 

I tried so to start up ET and to my surprise when trying to play live tvstream or recorded ts files I get the same error message #77 I got on my rpi.

I have no problem to play direct the tvstream with mpv:

mpv "http://192.168.9.1:3000/S1.0W-70-70-1039" 

Installed package:

node-mpv@1.0.3

npm 3.5.2

electron version ?

mpv git-076116a

nodejs v4.7.2

 

 

 

 

et.log

Link to comment
Share on other sites

haraldov

Upgraded electron like this:

sudo npm -g install electron@beta --arch=ia32
/usr/local/lib
└─┬ electron@1.6.7
whereis electron
electron: /usr/local/bin/electron
 
Started et.sh and got the same error message #77 when trying to stream livetv. 

et29042017.log

Link to comment
Share on other sites

haraldov

What about basic video file playback?

 

Playback of recorded ts files in ET which Emby server Versjon 3.2.13.0 streams gives the same error message as posted in #77. If I play the stream with mpv the stream plays without problem.

mpv "http://192.168.9.2:8096/emby/Videos/8b966788d9811a536d66a4c544549d15/stream.ts?Static=true&mediaSourceId=8b966788d9811a536d66a4c544549d15&deviceId=emby-EB1501P&api_key=2eea4b7e75ad43c9baafc83804fc8b1b&Tag=1341f5c8a83f4805fa18cbd3bf839ab0"

I renamed mpv to mpv-rename and started up ET. ET gives the same error message as posted in #77 again when trying to play the above video file. So it seems that ET is using the embedded chromium video player, which do not have support for recorded ts files with H265 and AAC embedded streams as posted in #89 . I have done a git pull of the git repository so ET should be up-to-date.

et-30042017.log

Edited by haraldov
Link to comment
Share on other sites

haraldov

In ET settings I have not set up any external players. Most of the settings are default. I have only choosen my preferred audio and subtitle language

Link to comment
Share on other sites

haraldov

Without the --disable-gpu param I can "play" recorded ts video files without error message posted in #77. But I only get a gray 16:9 window without any video content playing. Before I tested this I did a git pull.

 

590b75e0a15fd_Selection_004.png

 

The pc I use for ET has a VGA compatible controller: NVIDIA Corporation GT218 [iON] (rev a2) graphic card

no_disable_gpu.log

Edited by haraldov
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...