plexinc / plex-media-player

Next generation Plex Desktop/Embedded Client
GNU General Public License v2.0
1.16k stars 170 forks source link

2.7.0 mpv.conf seem to don't be read (now in debug compare to 2.6.0) #671

Closed father-mande closed 6 years ago

father-mande commented 6 years ago

Hi,

A user (on QNAP I7 model old series) have problem to update to 2.6 (none for other models as I know) all run fine in 2.1.1 but after update (same settings) in 2.6 : some dropped frames.

To try to determine the reason I have suggested to test by enforcing vo=vaapi and hwdec=vaapi using mpv.conf to don't use libmpv / opengl-cb in 2.1.1 log seems to read the file : cplayer: Setting option 'hwdec' = 'vaapi' (flags = 4) this line don't exist in 2.1.1 without mpv.conf in 2.6.0 absolutely NO difference with or without mpv.conf cplayer: Driver 'opengl-cb' has been replaced with 'libmpv'! cplayer: Set property: vo="opengl-cb" -> 1

Q. is it always possible to set mpv.conf including vo and / or hwdec options ?? NB the test have been done with --hwdec=vaapi and without "--" hwdec=vaapi"

Philippe.

LongChair commented 6 years ago

Nothing was changed in this regards. I have seen that recently a few vo names have changed but we haven’t bumped officially Mpv yet.

Anyways you should be able to see from PMP logfile if options in mpv conf file are used or not

I can double check that if you think it doesn’t

father-mande commented 6 years ago

Hi,

Thanks for quick reply, I am in travel, so limited in tests possible ... But : 1 mpv is also provide with PMP2 on QNAP NAS, so I have verified that vo (--vo=help) exist and can be choice 2 to verify (in case I do an error) : we put mpv.conf in the .local/share/plexmediaplayer folder (where pmp2 .conf are (due to QNAP architecture the home folder is forced in starting pmp2 shell using HOME variable. tested with documentation format (without -- ) or using mpv (and some plex forum example) using --

here after 4 logs (2.1.1 with and without mpv.conf (just hwdec=vaapi) ) 2 for 2.6 (same with and without mpv.conf) so perhaps I don't identify the trace in the log ...

Sure it's not in the core PMP2 ... but due to problem (frame drop in 2.6 where not in 2.1.1) ... I try using mpv.conf to return to previous vaapi usage (now opengl-cd replaced by libmpv) ... if I am not in error.

Thanks for your help. I have run test on my system (before leaving) ... with same result (no trace of mpv.conf) but I don't save the log ... so I attach here the log of the user ... Philippe. plexmediaplayer_2.1.1.log plexmediaplayer_2.1.1_mpv.conf.log plexmediaplayer_2.6.log plexmediaplayer_2.6_mpv.conf.log

LongChair commented 6 years ago

Hello,

it looks to me that something else is going wrong

in 2.6 mpv fails to load the vaapi-egl hwdec :

2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: GL_VERSION='3.0 Mesa 17.1.4' 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Detected desktop OpenGL 3.0. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: GL_VENDOR='Intel Open Source Technology Center' 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: GL_RENDERER='Mesa DRI Intel(R) Ivybridge Desktop ' 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: GL_SHADING_LANGUAGE_VERSION='1.30' 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_sync. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_timer_query. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_get_program_binary. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_buffer_storage. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_shader_image_load_store. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_uniform_buffer_object. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_shader_storage_buffer_object. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_arrays_of_arrays. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_ARB_debug_output. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loaded extension GL_MP_MPGetNativeDisplay. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: GL_*_swap_control extension missing. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Testing FBO format rgba16 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Using FBO format rgba16. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Disabling HDR peak computation (no compute shaders). 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: No advanced processing required. Enabling dumb mode. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loading hwdec driver 'vaapi-egl' 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loading failed. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loading hwdec driver 'cuda-nvdec' 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render/cuda-nvdec: Failed to load CUDA symbols 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loading failed. 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loading hwdec driver 'vdpau-glx' 
2018-03-07 16:42:40 [ DEBUG ] PlayerComponent.cpp @ 587 - libmpv_render: Loading failed. 

which seemed to work fine in 2.11 :

2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb: Loading hwdec driver 'vaapi-egl' 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl: Trying to open a x11 VA display... 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi: VA API version 0.40 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi: 9 image formats available: 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   YV12 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   I420 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   NV12 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   YUY2 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   UYVY 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   422H 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   RGBX 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   BGRX 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl/vaapi:   P010 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - ffmpeg: AVHWDeviceContext: Matched "Intel i965 driver for Intel(R) Ivybridge Desktop - 1.8.0" as known driver "Intel i965 (Quick Sync)". 
2018-03-07 16:40:05 [ DEBUG ] PlayerComponent.cpp @ 526 - opengl-cb/vaapi-egl: using VAAPI EGL interop 

I believe that this explains all the stuttering as it might not be usign the proper hwdec. It seems like you also are using a more recent mpv. Maybe it's worth checking that the mpv requiremetns are not higher regarding vaapi now ?

father-mande commented 6 years ago

Hi,

I have also notice this ... BUT on my own NAS using a smallest CPU/IGP Celeron J1900 I have also the : libmpv_render: Loading hwdec driver 'vaapi-egl' libmpv_render: Loading failed ... but when I play a test file big_bunny ... I don't have frame drop and hardware acceleration is used ... (compare when I set hardware acceleration to disable ... )

I will try to see if I can get some information on MPV requirement ... but I suppose that if I want to run a test with and older (I rebuild mpvlib each time from github) libmpv ... I can't only replace the library but need to rebuild them ?

Thanks for your help. I hope to get a VPN access to my NAS this evening (French hours) and get new log with playing file ... on my own system.

As I said the problem is only to try to return to test other vo and hwdec to see where the problem come from ... in NAS problem are share : kernel / graphic driver / libva are provide by QNAP (in this case) Windows & desktop manager by QNAP PMP2 by me with additional libraries not in the QNAP delivery I have no action on QNAP part, but if I can get idea on who generate the problem ... I can try to open ticket on QNAP.

Apologize to annoy you ... I know it's not a "standard" usage of PMP2 ... but for lot of otehrs QNAP NAS series all works fine from long time. And problem to don't get mpv.conf option in log is a problem also to be sure it is used ...

Philippe.

father-mande commented 6 years ago

Hi, I have run test on my own system 1 the hardware decoding vaapi (vaapi-egl) is NOT loaded (so software rendering only) ... libraries are in place (libva-egl (4000) and driver) CPU used is around 40% 2 if I run the SAME movies using mpv with SAME libmpv.1.28.0 forcing --vo and --hwdec to vaapi mpv use hardware decoding and CPU is less than 10% /opt/mpv/bin/mpv --vo=vaapi --hwdec=vaapi /share/Multimedia/Video/big_buck_bunny_1080p_h264.mov Playing: /share/Multimedia/Video/big_buck_bunny_1080p_h264.mov (+) Video --vid=1 (*) (h264 1920x1080 24.000fps) (+) Audio --aid=1 --alang=eng (*) (aac 6ch 48000Hz) libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 **Using hardware decoding (vaapi).** AO: [pulse] 48000Hz 5.1 6ch float VO: [vaapi] 1920x1080 vaapi[nv12] AV: 00:01:22 / 00:09:56 (13%) A-V: 0.000 Exiting... (Quit) Summary : mpv.conf is NOT used cat /share/homes/pmp2_user/.local/share/plexmediaplayer/mpv.conf --vo=vaapi --hwdec=vaapi SO I can't force using it ... libraries and hardware decoder are NOT identified by P.M.P. vaapi (even seen by MPV with --vo=help or --hwdec=help) BUT if I test mpv (build with same libmpv) vaapi is used and works as expected ... lrwxrwxrwx 1 root root 16 Mar 7 14:31 libmpv.so -> libmpv.so.1.28.0* lrwxrwxrwx 1 root root 16 Mar 7 14:32 libmpv.so.1 -> libmpv.so.1.28.0* -rwxr-xr-x 1 root root 28699559 Mar 7 14:10 libmpv.so.1.28.0*

I am a little confuse by this two problem (at start I just seen one ... mpv.conf not read the second ... not use vaapi even libraries vainfo and mpv can use it

Philippe. It's very complex for me to debug more this week ... because I am at 700 kms of my lab. and use a VPN access to test (VNC ... so half blind ... )

Philippe.

father-mande commented 6 years ago

Hi,

following information On a NAS with AMD graphics ... Loading hwdec driver 'vdpau-glx' works ... after video hardware acceleration is used ... (same version installed on Intel and on AMD NAS ... so perhaps a search path ?? do you know where in code ... the hwdecoder are tested to be laoded ?

I have started plexmediaplayer with strace ... no access to any file named mpv.conf Philippe.

father-mande commented 6 years ago

Hi,

Test by forcing vaapi-egl in mpv ... NO more hwdec CPU at 58% /opt/mpv/bin/mpv --hwdec-preload=vaapi-egl /share/Multimedia/Video/big_buck_bunny_1080p_h264.mov Warning: option --hwdec-preload was replaced with --opengl-hwdec-interop and might be removed in the future. Warning: option --opengl-hwdec-interop was replaced with --gpu-hwdec-interop and might be removed in the future. Playing: /share/Multimedia/Video/big_buck_bunny_1080p_h264.mov (+) Video --vid=1 (*) (h264 1920x1080 24.000fps) (+) Audio --aid=1 --alang=eng (*) (aac 6ch 48000Hz) libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 AO: [pulse] 48000Hz 5.1 6ch float VO: [gpu] 1920x1080 yuv420p AV: 00:00:58 / 00:09:56 (9%) A-V: 0.000 Exiting... (Quit) Philippe.

LongChair commented 6 years ago

Something looks very strange. you say that forcing vaapi-egl works. But in you 2.6 log it's trying to load it and fails, hence it's using something else. So my take is that either it's not using the right libmpv, but i see no reason why mpv commandline would be able to use the vaapi-egl fine and that libmpv wouldn't ...

father-mande commented 6 years ago

Hi,

It's strange ... I have double check and ldd for plexmediaplayer indicate clearly that it's the same libmpv used ??? In fact I can use vaapi-egl (so you are true ... strange) ... but this NOT generate an hardware decoding ... only software (so the 58% of CPU) look at trace of mpv ... --vo=vaapi and --hwdec=vaapi (or vaapi-copy) start and use hardware decoding (so 10% of CPU)

Philippe.

LongChair commented 6 years ago

Just in case

option --hwdec-preload was replaced with --opengl-hwdec-interop and might be removed in the future.

did you try using the newer option ?

father-mande commented 6 years ago

Hi,

I am in travel, so not easy to run new tests ... I will try .... but with mpv , PMP don't take care of mpv.conf (no trace in strace, nothing in log ... )

But thanks for the advice.

Philippe.

father-mande commented 6 years ago

Hi,

With 2.7.0 ... I have now a trace of the fact that PMP2 read mpv.conf 2018-03-26 18:26:53 [ DEBUG ] PlayerComponent.cpp @ 587 - cplayer: Reading config file /share/homes/pmp2_user/.local/share/plexmediaplayer/mpv.conf

BUT ... for vo or hwdec ... this is not used ... vo stay on libmpv (opengl-cb)

so it's NOT possible to return back to value working in previous version on some model remember : in 2.1.1 debug list vo=vaapi hwdec=vaapi and it works in 2.7.0 change to libmpv hwdec=auto ... and it don't works (drooped frames)

The test using mpv (same libmpv) no vo + hwdec=auto ... frames dropped vo)vaali hdwdec=vaapi (or vaapi-copy) ... no frames dropped

Philippe. NB I will continue tests ...

LongChair commented 6 years ago

I am not sure this will be possible anymore, at least Mpv might not support it.

There will be a bunch of changes to make PMP use the new render API as OpenGL-cb will not be supported anymore.

father-mande commented 6 years ago

Hi,

Thanks, and YES it's a too short write ... I put opengl-cb to remember that it's replaced (libmpv) but in DEBUG trace always present (even in 2.7.0) : ex. 2018-03-26 18:26:53 [ WARN ] PlayerComponent.cpp @ 591 - cplayer: Driver 'opengl-cb' has been replaced with 'libmpv'! 2018-03-26 18:26:53 [ DEBUG ] PlayerComponent.cpp @ 587 - cplayer: Set property: vo="opengl-cb" -> 1 2018-03-26 18:27:16 [ DEBUG ] PlayerComponent.cpp @ 587 - vo/opengl-cb: Assuming 60.000000 FPS for display sync. 2018-03-26 18:27:17 [ DEBUG ] PlayerComponent.cpp @ 587 - vo/opengl-cb: reconfig to 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264 2018-03-26 18:27:43 [ DEBUG ] PlayerComponent.cpp @ 587 - vo/opengl-cb: Assuming 60.000000 FPS for display sync. 2018-03-26 18:27:44 [ DEBUG ] PlayerComponent.cpp @ 587 - vo/opengl-cb: reconfig to 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264

... but you are true it's now libmpv render ... Sorry for the confusion. Philippe.

LongChair commented 6 years ago

i'm not sure what's the status here. Did you find a workaround ? Can we close this ?

father-mande commented 6 years ago

Hi,

In fact with 2.7.0 and 2.8.0 ... now a trace of reading mpv.conf exist ... so this part is solved, but the problem "use mpv.conf to force vo or/and hwdec" are not get/read ? and used by the player ... For some old (all is relative) CPU/IGP ... all run as well with old PMP version 2.4.x for ex. but not now with 2.7/8 the difference is the usage of vaapi before when now it's libmpv that seem to manage vo and hwdec ... automatically ... the difference is visible using mpv (same build / same platform) that run as well forcing hwdec to vaapi -or copy) and not with default libmpv ... so the open question is always HOW to force vo and hwdec to be compatible with old PMP2 and "old" hardware ...

Philippe.

LongChair commented 6 years ago

could you post a full PMP log of your case with setting the vo to something else in mpv.conf so that I can have a look ?

father-mande commented 6 years ago

Hi,

I am in travel up to Friday (I use my smartphone to exchange now) ... so I will send you a full pmp.log when I am back in my lab.

Thanks.

Philippe.

LongChair commented 6 years ago

I talked to mpv devs. they said that you cannot enforce vo from mpv.conf as long as PMP will be setting it after mpv.conf was loaded.

I guess you best bet if you really need to have another vo is to have a patch that will override the vo setting in PMP code.

father-mande commented 6 years ago

Hi,

I can do a test (so maintain after a "private" patch) ... but, please can you indicate to me the code where vo or / and hwdec are positioned ... As I said I am an integrator and in lot of case don't want to change a line in the original code ... so I don't take time to analyse the code ... if you can help me by writing here the file impacted ... after I can run a test to see if the result is good and if the works is not so large ... I will post here, after test and if result is good, my change ... even if it's NOT for an integration ... just for your information.

Philippe.

LongChair commented 6 years ago

Look for « opengl-cb » in PlayerQuickItem.cpp

father-mande commented 6 years ago

Hi,

Find it ... but in PlayerComponent.cpp ... not a problem ... Thanks ...

Philippe.

father-mande commented 6 years ago

Hi,

After some tests (before sending to customer with this problem) Change done : (Line 261) QString vo = "opengl-cb"; by QString vo = "vaapi"; ... I don't change the next test (line 268) ... because this cancel previous change and return to opengl-cb at run time

RESULT : (plexmediaplayer is started in tv mode) vaapi is correctly forced ... and work (with video acceleration) ... in the log BUT ... this start playback in Web mode (so not as TV mode ... ) without any key available to manage or stop playback (fortunately I run test with short movies (16 seconds) SO NOT REALLY USABLE ... then at end return as expected to TV mode ... It's always possible to force from Web mode to fullscreen (using taskbar) but in this case we return to the TV mode interface (button / keys available) BUT the screen is clack ... only sound continue ... (tested with movie with video acceleration of without (due to codec ... )

I think changing vo ... can be used ... but others code are needed to stay in TV mode ... a little out of my skills ... ... in complement I have also tested to change some settings with some result but not to stay in TV mode with keyboard as usual ... ... Video Aspect (disabling scaling) the movie fill the best as possible the web interface ... ... Allow display Mode switching ... but result is HDMI out (no signal ??? ) when playing movie (not for the interface) ... ... force fullscreen display from auto to HDMI proposed ... no changes ...

Philippe. If needed I can provide a log file ...

LongChair commented 6 years ago

are you running PMP with --tv ?

father-mande commented 6 years ago

Hi, Yes ... my default is --tv --fullscreen I don't use --desktop and only in the past the --scale-factor=1 but not from long time ago ...

Philippe.

LongChair commented 6 years ago

I don't see how changing the vo would affect the way webclient work. I think i'll need some more detailed and clear explaination to help out.

Please use shorter and clearer descriptions to describe the issues. it's kind of hard to me to understand what your problem is :)

father-mande commented 6 years ago

Hi,

I will try to generate a short video or a series of screen capture to help you ... to understand (I will post it on my own web site for download and provide URL here)

This evening (French hours) or tomorrow morning ...

Philippe.

LongChair commented 6 years ago

There is still something that bugs me in this report. Intel should use opengl-cb, and use vaapi for decoding. This is what we use for the Intel build and it works fine.

I suspect that your issues are related to driver problems. And there is not much we can do about this :/

father-mande commented 6 years ago

Hi,

I Just finish the video (sorry for the delay ... I am not at 100% on PMP) video show you the problem tv mode ok start movie so switch in web mode without possibilities return back to TV mode nad in case of fullscreen screen is black (even TV mode button interface can be visible on click) I reduce the video to 720p to win space and do it using VNC viewer near original screen so sound is displayed ...

For your remark : I do the test (before reporting to user in QNAP forum) on my own system where I don't have the initial problem ... SO on mine opengl-cb / vaapi(-copy) works as well (so NO DRIVER problems) ... the problem here occurs ONLY if I enforce vaapi as vo ... in PlayerComponents.cpp (one line change) so, even I understand your advice ... in this case the driver is correct and work as well THE problem is only using another vo (vaapi vs. opengl-cb ... in the two cases the hwdec is always vaapi or vaapi-copy ... and works as expected ...

URL to movie (2Mo only) : https://www.father-mande.ovh/pmp2_vaapi.mp4

Philippe.

LongChair commented 6 years ago

Well i understand that changing the vo breaks it, but you have to understand that not all mpv vo are supposed to work within MPV.

mpv needs to blend with Qt and that is why we use opengl-cb. My suggestion would be to figure out why it doesn't work with vo=opengl-cb.

As an intel platform it should work with the opengl-cb vo, unless there is a problem with the drivers.

LongChair commented 6 years ago

You video seems to show another mpv application launched with mpv icon, which is definitely not what it's supposed to do. i believe this is bound to the use of the vaapi vo which will create it's own window.

This is clearly an unsupported case, so I would recommend that you try to figure out what's going wrong with the opengl-cb vo which should work.

father-mande commented 6 years ago

Hi,

OK ... so I will suggest to the user to forgot PMP2 as player and stay with OpenPHT (hopping it will be updated) or Plex for Kodi ... BUT to be clear ... the initial problem have been posted due to the fact that in PMP2.4.1 using vaapi as vo (your version) all works fine and it's only when user update to opengl-cb that it stop working correctly ... reinstalling 2.4.1 solve instantaneously the problem (on same system with same driver) ... it's the reason we search if it's possible to return back ... but clearly it's not ... because other things have been changed between 2.4.1 and 2.7/8.0 for now.

Sorry to have annoying you with this problem ... I can understand that Linux is not a priority for you ... so I prefer to don't imagine the priority on NAS like QNAP or Asustor ... where we add complexity and relative incompatibility versus a "standard" Linux distribution .

It's a lot of works (nothing compare to your works on PMP and others software) to port this on NAS .. so perhaps a battle without end and winner ...

BUT again thanks for you help. Philippe.

LongChair commented 6 years ago

I am sorry but i have very hard time to understand the initial issue. PMP has been using opengl-cb forever. So nothing changed in this regards in PMP. Also i dunno about the NAS you are talking about ( I don't have any of those brands here), but I since they seem to be Intel based, I don't see any reason why it wouldn't work with opengl-cb.

So that you understand opengl-cb is just a video output renderer that will display through opengl. vaapi can be used with the opengl-cb renderer as it's what is used to do the decoding.

My suggestion would be that you first try to use mpv in commandline using the opengl vo and see what's going wrong. I believe mpv should be able to use vaapi in there or show up what is going wrong and maybe give hints on what needs to be fixed.

Using vo=vaapi will not allow blending mpv & PMP content together.

father-mande commented 6 years ago

Hi,

I don't know how using opengl opengl-cb as vo ... because (even working in PMP) it don't appear as a legitimate vo option in mpv ...

/opt/mpv/bin/mpv --vo=help

Available video outputs: libmpv render API for libmpv gpu Shader-based GPU Renderer vdpau VDPAU with X11 xv X11/Xv vaapi VA API with X11 x11 X11 (slow, old crap) null Null video output image Write video frames to image files tct true-color terminals caca libcaca drm Direct Rendering Manager documentation redirect to gpu as the nearest (available options) And YES all NAS impacted are Intel based ... but Intel is a great family with lot of different GPU even under a same generic name ...

I suggest to close this ... it's not important ... I am just an intermediate between plex and the user with it's specific problem (with a new Intel NAS brand ... I don't own) I have provide working 2.1 log and same 2.6 log ... to compare and in first opengl-cb is not used or not displayed as is in the log ...

And like you I don't see any reason that it don't work ... but I furnish the QNAP Package ... so I try to understand and do a first support level to limit user posting issue here ... sometime for nothing ...

And perhaps I don't have the skill to be clear in problems reported ... apologize for that ...

I suppose it's not a so good idea to create this package ... i will stop and hope that other people with a better competency ... will restart it a day ...

Thanks for all. Apologize for the time lost ... best regards.

Philippe.

LongChair commented 6 years ago

@father-mande : from the list of vo, it looks that you are running a more recent mpv than the one PMP still uses. The opengl-cb is now replaced by libmpv but you can't use it as is from the command line as it requires the embedder to pass it an opengl context coming from Qt. I think you could do some testing though with the vo=gpu which should be using standalone opengl from commandline.

There is no need to apologize, I have been trying to help, but without having the hardware to figure this out it might be tricky. My best suggestion so far would be to try to use mpv commandline until you can get it working with vo=gpu and see in the logs that it will be using opengl. MPV people might be able to help you out in a better way than i can on this matter, they also have a repo where you coudl file an issue for this. I will close this for now as I don't hav eany better idea to help you with this. If you have some fresh news and conclusive opengl results, feel free to open a new GHI.