Jump to content


Photo

Emby Theater for Linux


  • Please log in to reply
643 replies to this topic

#81 haraldov OFFLINE  

haraldov

    Advanced Member

  • Members
  • 122 posts
  • Local time: 05:57 AM

Posted 23 April 2017 - 06:32 PM

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.
 
 

Attached Files


Edited by haraldov, 23 April 2017 - 06:33 PM.


#82 frabe8378910 OFFLINE  

frabe8378910

    Member

  • Members
  • 19 posts
  • Local time: 05:57 AM
  • LocationPeine, Germany

Posted 24 April 2017 - 06:54 PM

 

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, 24 April 2017 - 06:55 PM.


#83 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 24 April 2017 - 07:30 PM

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



#84 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 24 April 2017 - 07:33 PM

 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.



#85 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 24 April 2017 - 11:01 PM

Additional updates have been pushed for audio and subtitle switching. Enjoy.



#86 frabe8378910 OFFLINE  

frabe8378910

    Member

  • Members
  • 19 posts
  • Local time: 05:57 AM
  • LocationPeine, Germany

Posted 25 April 2017 - 07:06 PM

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, 25 April 2017 - 07:10 PM.


#87 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 25 April 2017 - 11:15 PM

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.



#88 haraldov OFFLINE  

haraldov

    Advanced Member

  • Members
  • 122 posts
  • Local time: 05:57 AM

Posted 26 April 2017 - 07:20 AM

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/e...ron/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, 26 April 2017 - 07:21 AM.


#89 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 26 April 2017 - 11:04 AM

It's not intended to be used.

#90 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 26 April 2017 - 04:43 PM

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.


  • frabe8378910 likes this

#91 frabe8378910 OFFLINE  

frabe8378910

    Member

  • Members
  • 19 posts
  • Local time: 05:57 AM
  • LocationPeine, Germany

Posted 27 April 2017 - 06:47 PM

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, 27 April 2017 - 06:50 PM.


#92 haraldov OFFLINE  

haraldov

    Advanced Member

  • Members
  • 122 posts
  • Local time: 05:57 AM

Posted 28 April 2017 - 02:08 PM

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/e...ron/issues/7063

sudo npm -g install electron --arch=ia32

I then installed the newest mpv version using this ppa source: https://launchpad.ne...buntu/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

 

 

 

 

Attached Files

  • Attached File  et.log   1.86KB   1 downloads


#93 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 28 April 2017 - 02:36 PM

At this point we're coding against the electron 1.6 beta so you'll need that.



#94 haraldov OFFLINE  

haraldov

    Advanced Member

  • Members
  • 122 posts
  • Local time: 05:57 AM

Posted 29 April 2017 - 08:05 AM

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. 

Attached Files



#95 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 29 April 2017 - 08:42 AM

What about basic video file playback?



#96 haraldov OFFLINE  

haraldov

    Advanced Member

  • Members
  • 122 posts
  • Local time: 05:57 AM

Posted 29 April 2017 - 06:56 PM

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.

Attached Files


Edited by haraldov, 29 April 2017 - 07:14 PM.


#97 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 29 April 2017 - 06:58 PM

Did you set up an external player?



#98 haraldov OFFLINE  

haraldov

    Advanced Member

  • Members
  • 122 posts
  • Local time: 05:57 AM

Posted 29 April 2017 - 07:22 PM

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



#99 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 138263 posts
  • Local time: 11:57 PM

Posted 04 May 2017 - 12:54 AM

@haraldov, try running without the --disable-gpu param



#100 haraldov OFFLINE  

haraldov

    Advanced Member

  • Members
  • 122 posts
  • Local time: 05:57 AM

Posted 04 May 2017 - 02:37 PM

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

Attached Files


Edited by haraldov, 04 May 2017 - 02:42 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users