Luke 36879 Posted May 14, 2017 Share Posted May 14, 2017 You also need to install mpv. Link to comment Share on other sites More sharing options...
denz 424 Posted May 14, 2017 Share Posted May 14, 2017 (edited) It is installed if I run mpv manually it runs but it looks like it is using software decoding but in theater all I get is the errors Edited May 14, 2017 by denz Link to comment Share on other sites More sharing options...
haraldov 10 Posted May 14, 2017 Share Posted May 14, 2017 @@denz It looks like you are using a old version of mpv because you get these error about different version of libav than the shared library it is linked against. This mpv version do not have support for rpi hardware acceleration with mmal. Maybe this old version also gives the Java script error too. You can compile the newest mpv release https://github.com/mpv-player/mpv/releases/tag/v0.25.0 if you follow my previous post here: https://emby.media/community/index.php?/topic/42868-emby-theater-for-linux/?p=442130 Link to comment Share on other sites More sharing options...
denz 424 Posted May 15, 2017 Share Posted May 15, 2017 The one installed is the default I will recompile the new one and see does it get rid of the error at least now with your help the app starts full screen. Link to comment Share on other sites More sharing options...
denz 424 Posted May 16, 2017 Share Posted May 16, 2017 I installed mpv v 25 and unfortunately the same error. Playing mpv from command line works perfectly but unfortunately not from theater Link to comment Share on other sites More sharing options...
haraldov 10 Posted May 17, 2017 Share Posted May 17, 2017 @@denz I get nearly the same Java script error if I rename mpv to mpv-org and and try to play a recording from ET. Maybe ET do not find mpv in the search path? pi@raspiVDR:~ $ whereis mpv mpv: /usr/bin/mpv /etc/mpv /usr/share/man/man1/mpv.1.gz 1 Link to comment Share on other sites More sharing options...
denz 424 Posted May 17, 2017 Share Posted May 17, 2017 (edited) Thanks for that I did last night have a bit of search of that error and it is that it cannot find it not sure how it is possible when it is there unless node.js uses some different path. I tried to download the linux version because that one it managed to play something but it wasn't reliable but for comparison it would at least narrow down the cause. Edited May 17, 2017 by denz Link to comment Share on other sites More sharing options...
denz 424 Posted May 17, 2017 Share Posted May 17, 2017 It is the same path as your one it is just not starting it when I type top | grep mpv there is nothing when it is used through theater. Giving up on this I will stick with the other pi theater as that one works. Link to comment Share on other sites More sharing options...
haraldov 10 Posted May 28, 2017 Share Posted May 28, 2017 (edited) I also can not expand the ET window to fullscreen on my Intel Eebox 1501B box and with my RPI3 with raspbian Jessie. I found out a way to expand the ET window to fullscreen. ET for electron uses the library electron-window-state for store and restore the windows position and size https://www.npmjs.com/package/electron-window-state. I have shifted between maximized window (full screen) to normal window and electron-window-state write a windowstate.json file with this information. And every time I start up ET now I get normal window but I want full screen (maximized window). The workaround is to edit the windowstate.json. I found out others users have reported the same think https://emby.media/community/index.php?/topic/35111-emby-theater-not-starting-in-full-screen/. I have tried to delete the windowstate.json with the content state: Normal, but ET start up with normal window not fullscreen. When I close ET I have a new windowstate.json which contains state: Normal nano /home/emby/.config/Electron/windowstate.json # Start up ET as a normal window on the Desktop {"x":320,"y":192,"width":1280,"height":720,"state":"Normal"} # You only need to edit "state":"Normal" to "state":"Fullscreen" # Exampel: Start up ET full screen on the Desktop {"x":0,"y":25,"width":1920,"height":1055,"state":"Fullscreen"} Edited May 28, 2017 by haraldov Link to comment Share on other sites More sharing options...
Luke 36879 Posted May 29, 2017 Share Posted May 29, 2017 @@haraldov why not just go fullscreen and then close the app? it will remember the fullscreen state and then you don't need to modify the file. let us know if this helps. thanks ! Link to comment Share on other sites More sharing options...
haraldov 10 Posted May 29, 2017 Share Posted May 29, 2017 why not just go fullscreen and then close the app? it will remember the fullscreen state and then you don't need to modify the file Thanks for the advice. When I press the maximize button in normal windows mode the ET window moves from the middel of the screen to the upper left side of the desktop, but the ET window is not maximized yet. When I Exit ET and start it up again I have fullscreen. Link to comment Share on other sites More sharing options...
haraldov 10 Posted May 29, 2017 Share Posted May 29, 2017 (edited) @@denz writes: It is installed if I run mpv manually it runs but it looks like it is using software decoding but in theater all I get is the errors When using mpv to play recorded content in ET on rpi3 it is not using the RPI hardware video decoding. ET is ignoring the configuring file /home/pi/.config/mpv/mpv.config, where I have placed the video option for rpi. # Use rpi video output by default. vo=opengl Feature request: Place this video option in ET --> Settings --> Video Setting --> Hardware acceleration mode Edited May 29, 2017 by haraldov Link to comment Share on other sites More sharing options...
Luke 36879 Posted May 29, 2017 Share Posted May 29, 2017 @@haraldov isn't opengl the default anyway? that is according to mpv docs at least. Link to comment Share on other sites More sharing options...
haraldov 10 Posted May 29, 2017 Share Posted May 29, 2017 Mpv use opengl as default video output driver on rpi from version 0.23. I use mpv 0.25.0-76-g6a00059 . Raspbian have OpenGL support but it is using a slow software renderer https://www.raspberrypi.org/blog/another-new-raspbian-release/ . When I play ts files from the terminal with mpv --vo=opengl I get these error message [ffmpeg/video] h264_mmal: Did not get output frame from MMAL. Error while decoding frame! With top I can see the %cpu's is using over 80 % capasity so I think mpv is using software encoding not hardware encoding. When I play the ts file in ET with the setting Hardware acceleration mode: None it plays but the video playback is not fast enought. When I choose Auto in Hardware acceleration mode the same slow video playback happen so it looks like ET is not using opengl . You can enable hardware experimental OpenGL driver for the desktop which uses the GPU to provide hardware acceleration http://www.raspberryconnect.com/gamessoftware/item/314-trying_out_opengl_on_raspberry_pi_3. I tried both GL (Full KMS) Desktop Drivers and GL (Fake KMS) Desktop Driver enabled, but only GL (Fake KMS) Desktop Driver are function best with the desktop. When I play the ts file with mpv --vo=opengl mpv crash and gives a error about * failed to add service - already in use? vo-rpi.log swopengl.log hwopengl1.log Link to comment Share on other sites More sharing options...
Luke 36879 Posted May 30, 2017 Share Posted May 30, 2017 @@haraldov, so I guess we're not actually sure yet that we need a setting for --vo=opengl? what if i add more hardware acceleration options, so that you can force it instead of choosing auto? Link to comment Share on other sites More sharing options...
haraldov 10 Posted May 31, 2017 Share Posted May 31, 2017 (edited) I have done little more research now: When I play the ts file with mpv --vo=opengl mpv crash and gives a error about * failed to add service - already in use? This error message is because I use the experimental GL (Full KMS) Desktop Drivers. I have tried with different version of mpv, upgrade and downgrade the raspbian kernel and firmware and give the gpu more memory as suggested in some forums, but I always get this error message. So I believe the GL Desktop drivers are not ready yet for production. When I play ts files from the terminal with mpv --vo=opengl I copied one ts files to the Raspbian desktop and played the file with mpv 0.25.0-94-gc443aa6. Rasbian are now using the legacy orginal non-GL desktop driver pi@raspberrypi:~/Desktop $ mpv --vo=opengl "Dagsrevyen 2017-04-17.ts" Mpv plays the ts file without problem using hardware decoding, but I only get normal video window in the center. I must use the --fullscreen switch for fullscreen. When I start up ET and try to play the same recording nothing happen only a circle which turns around in the middel waiting. I have tried with both with Auto and None in Hardware acceleration mode, but nothing changes. From terminal output it looks like ET do not stream the recording. I checked with the Emby server Version 3.2.17.0 and from the logs Emby server do not transcode the recording before it stream the file. I think ET try to play the ts file direct from the filesystem, but I have not setup Emby server to do that. fs access result for path: Error: ENOENT: no such file or directory, access '/storage/emby/tvseries/Dagsrevyen/Dagsrevyen 2017-04-17.ts' When I use "ET for Pi" the recording plays fullscreen with omxplayer and from the log I see Emby streaming the same file. Play URL : http://192.168.9.2:8096/emby/Videos/302f6c4c6a17afe9b3a034bb16351b2b/stream.ts?Static=true&mediaSourceId=302f6c4c6a17afe9b3a034bb16351b2b&deviceId=raspberrypi&api_key=b894fabb8b264b1e8729d183d7c77e31&Tag=7102ad2da6406409e6aabfc96a4b826f et-for-pi.log mpv_play_tsfile.log et-31052017-nogpu.log Edited May 31, 2017 by haraldov Link to comment Share on other sites More sharing options...
puithove 208 Posted June 1, 2017 Share Posted June 1, 2017 (edited) @@haraldov You probably want to also set the --hwdec option: https://mpv.io/manual/stable/#options-hwdec rpi: requires --vo=opengl (Raspberry Pi only - default if available)rpi-copy: copies video back to system RAM (Raspberry Pi only) Edited June 1, 2017 by puithove Link to comment Share on other sites More sharing options...
Luke 36879 Posted June 1, 2017 Share Posted June 1, 2017 Thanks @@puithove ! Link to comment Share on other sites More sharing options...
Luke 36879 Posted June 1, 2017 Share Posted June 1, 2017 I've added the rpi options to the menu. Thanks ! Link to comment Share on other sites More sharing options...
Jdiesel 1112 Posted June 1, 2017 Share Posted June 1, 2017 Has ET for linux gotten to the point where anybody has considered forking LibreELEC and starting a ET embedded package? It should remove a lot of variables to make development much easier. 1 Link to comment Share on other sites More sharing options...
haraldov 10 Posted June 1, 2017 Share Posted June 1, 2017 (edited) You probably want to also set the --hwdec option I believe the option --hwdec=rpi and --vo=opengl is default when you compile mpv yourself. I do not need any of this option when playing ts video file. It is autodetected. pi@raspberrypi:~/Desktop $ mpv "Dagsrevyen 2017-04-17.ts" pi@raspberrypi:~ $ mpv --list-options --hwdec Choices: no auto yes auto-copy vdpau vdpau-copy videotoolbox videotoolbox-copy vaapi vaapi-copy dxva2 dxva2-copy d3d11va d3d11va-copy rpi rpi-copy mediacodec cuda cuda-copy crystalhd (default: rpi) My problem is playing the recorded ts files in ET for electron (version 2.7.9). I have no problem playing the videofiles from ET for pi and ET for windows (mpv version. 2.7.9), so it should not be a Emby server problem (Version 3.2.19.0). ET for electron is trying to direct play the file from the filesystem, but I have not nfs or samba mounted /storage/emby/tvseries on my pi. Something has changed because older ET version did not have this problem because it was using direct stream, not direct play. Is there anyone else who has this problem? fs access result for path: Error: ENOENT: no such file or directory, access '/storage/emby/tvseries/Dagsrevyen/Dagsrevyen 2017-04-17.ts' Edited June 1, 2017 by haraldov Link to comment Share on other sites More sharing options...
Luke 36879 Posted June 1, 2017 Share Posted June 1, 2017 I don't think that is the problem. That's just what you see in the log. It checks for direct file access, and when that fails it streams through the server. Link to comment Share on other sites More sharing options...
haraldov 10 Posted June 2, 2017 Share Posted June 2, 2017 (edited) With the help from @@denz I found out why the ts files do not play in ET . Node-mpv needed some dependency package installed. When I installed the missing packages ET direct streams the ts recording. pi@raspberrypi:~/emby-theater-electron $ npm ls emby.theater@2.7.9 /home/pi/emby-theater-electron ├── is-linux@1.0.1 ├── is-osx@1.0.2 ├── is-windows@1.0.0 ├── long@3.2.0 ├─┬ node-mpv@1.0.3 │ ├── UNMET DEPENDENCY cuid@^1.3.8 │ ├── UNMET DEPENDENCY lodash@>= 4.0.0 │ └── UNMET DEPENDENCY promise@^7.1.1 ├─┬ power-off@1.1.2 │ └── UNMET DEPENDENCY meow@^3.7.0 └─┬ sleep-mode@1.1.0 ├── is-windows@0.1.1 └── UNMET DEPENDENCY meow@^3.3.0 npm ERR! missing: meow@^3.7.0, required by power-off@1.1.2 npm ERR! missing: meow@^3.3.0, required by sleep-mode@1.1.0 npm ERR! missing: cuid@^1.3.8, required by node-mpv@1.0.3 npm ERR! missing: lodash@>= 4.0.0, required by node-mpv@1.0.3 npm ERR! missing: promise@^7.1.1, required by node-mpv@1.0.3 npm ERR! not ok code 0 pi@raspberrypi:~/emby-theater-electron $ pi@raspberrypi:~ $ sudo npm install cuid pi@raspberrypi:~ $ sudo npm install promise pi@raspberrypi:~ $ sudo npm install lodash pi@raspberrypi:~ $ sudo npm install meow In the ET settings under the Hardware acceleration mode I have used both Auto and Rpi with no difference. Mpv plays the video without any problem. The mpv windows is normal window, not fullscreen. You can change to fullscreen if you make a mpv.conf file with this setting. pi@raspberrypi:~ $ nano .config/mpv/mpv.conf #Start in fullscreen mode by default. fs=yes unmetdep.txt Edited June 2, 2017 by haraldov Link to comment Share on other sites More sharing options...
haraldov 10 Posted June 2, 2017 Share Posted June 2, 2017 (edited) No HDMI CEC work has been done (I don't have a device to debug with) When I use ET for pi CEC works, but with ET for electron I get error message about not finding cec-client. pi@raspberrypi:~/emby-theater-electron $ ./et.sh Initializing cec-client... { cecExePath: 'main.js', cecEmitter: EventEmitter { domain: null, _events: {}, _eventsCount: 0, _maxListeners: undefined } } ERROR: cec-client not installed, running without cec functionality. pi@raspberrypi:~/emby-theater-electron $ whereis cec-client cec-client: /usr/bin/cec-client /usr/share/man/man1/cec-client.1.gz Trying to start ET like this works, but I get a Javascript error message in ET pi@raspberrypi:~/emby-theater-electron $ /usr/local/bin/electron /home/pi/emby-theater-electron cec-client Initializing cec-client... { cecExePath: 'cec-client', cecEmitter: EventEmitter { domain: null, _events: {}, _eventsCount: 0, _maxListeners: undefined } } CEC Client successfully registered. Edited June 2, 2017 by haraldov Link to comment Share on other sites More sharing options...
Luke 36879 Posted June 2, 2017 Share Posted June 2, 2017 We have actually customized node-mpv so you will need the version with our changes. It is included in our source directory: https://github.com/MediaBrowser/emby-theater-electron/tree/master/node_modules/node-mpv Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now