Jump to content

[SOLVED] Shuffle Problems w/ External Player + Tweaking ET's Native Player + Enabling SVP in Native Player


Invader115
 Share

Go to solution Solved by Invader115,

Recommended Posts

My preferred way to access Emby is an installation of Emby Theater on my Win10 PC. This works very well, and the whole time I've used this setup I've had ET set to use an external video player.

 

It's mostly an excellent experience and it's by far my favorite way to enjoy my media, but there's a major issue with this setup. I should say now that I use MPC-BE as my external player.

 

When I click the "shuffle" option on a TV show or library, it will correctly play a randomly-selected episode. It can be watched all the way through without issue, and the player will not load another episode. However, problems arise when the player is closed. (After testing, I've learned the following behavior also happens when choosing the "Play All" option on a series or library.)

 

 

* This part is a secondary issue: The moment the player is closed, Emby Theater will once again appear on screen, as expected - but in the background the external player will instantly reopen with a different episode playing. Navigate from ET to the video player and you'll see the next episode in the series after the one that initially played (from S2E3 to S2E4, and so on). When I close the player this time, the aforementioned behavior will repeat - this time playing the episode after the previous one.

 

Repeat into infinity (or, presumably, until there are no more episodes); it'll keep doing it. The way out of this loop is to close Emby Theater. This will automatically close the external player and prevent it from reopening. ET can then be restarted and all will be well.

 

* Now for the main bug report: The huge issue here is not so much that shuffling with an external player has problems, but that disabling the Emby Theater "Playback" setting, "Play next episode automatically", is not respected when an external player is used. As I understand it, the undesired behavior described above would not happen if this setting were disabled and it was properly obeyed.

 

This isn't quite a devastating problem. I would love to use the shuffle feature - especially for re-watching old series where I don't have a specific episode in mind to watch - but the whole "Emby Theater with external player" setup works beautifully aside from this. Launching a specific episode does not cause this problem, so plenty can still be done with this setup, but it's disappointing that the feature isn't working right now.

 

 

* Lastly, why I don't just use the native player: I've got an extremely powerful PC with Emby Theater installed. It was built for heavy gaming, and it does plenty of that, but it's also got enough "horsepower" to drive real-time MadVR and motion smoothing post-processing for my videos. It can do some incredible things, like smoothing out compression artifacts and meticulously upscaling video, making 1080p or lower content look utterly fantastic on my 4K display. Even old standard-def TV episodes can be made to look excellent this way.

 

Unfortunately, I don't think it's possible to use all (or maybe any) of these enhancements with the Emby Theater native player, so the obvious work-around for the problems described here - to use the native player - would result in substantially reduced picture quality.

 

 

The version of Emby Theater I'm using is 3.0.9 and it was downloaded from the official Emby site.

Edited by Invader115
Link to comment
Share on other sites

Yes not all features will be available with external players. It's possible to improve in the future. Thanks for the feedback.

Link to comment
Share on other sites

You should check out @ post on tone mapping with MPV. MPV is very configurable just like Madvr.

 

It doesn't do straight up HDR passthrough but overall its quite good.

 

I keep Windows in HDR mode all the time and everything looks amazing.

 

Sent from my ONEPLUS A6003 using Tapatalk

Link to comment
Share on other sites

Guest asrequested

Pretty sure mpv can do most of what madVR can do. It just doesn't have a preconfigured UI to select what you want to do. It's command line. There are tools you can use that have a UI, but they don't have all of the options that can be used. There's a lot of granularity that can be used, but there's a bit of a learning curve to it. I'm fairly competent with mpv, but there's still so much that I don't know. I'm working on it :)

Edited by Doofus
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Yes and no. I was somehow unaware of MPV prior to making this thread, and learning there are options available to enhance the ET native player is helpful, but I've yet to start messing with that angle. Laziness, mainly; I've just been using my old MadVR-based method because it mostly works.

 

Also, I'm uncertain how I'd get my realtime frame-smoothing working in ET. That uses a program separate from MadVR called "SVP 4" (standing for "Smooth Video Project"). It's paid-for software that detects video playback and artificially increases its framerate using a variety of methods that the user can configure. It introduces artifacts, but its tools allow the user to strike their preferred balance between smoothing and artifacting. I've found occasional artifacts to be worth the smoother playback. As with the realtime processing I get through MadVR, I've become very accustomed to SVP's smoothing and any desktop playback method I use would, in my very specific and very edge case, have to support that.

 

 

I'm not trying to be, and don't want to be, an entitled guy with an edge-case problem demanding developer attention. No harm done if there's no way to assist me; shuffle working better with external players would be excellent, but I'm not going to kick and scream if it can't be done.

Link to comment
Share on other sites

Guest asrequested

 

Also, I'm uncertain how I'd get my realtime frame-smoothing working in ET. That uses a program separate from MadVR called "SVP 4" (standing for "Smooth Video Project"). It's paid-for software that detects video playback and artificially increases its framerate using a variety of methods that the user can configure. It introduces artifacts, but its tools allow the user to strike their preferred balance between smoothing and artifacting. I've found occasional artifacts to be worth the smoother playback. As with the realtime processing I get through MadVR, I've become very accustomed to SVP's smoothing and any desktop playback method I use would, in my very specific and very edge case, have to support that.

 

 

https://www.svp-team.com/wiki/SVP:mpv

 

Probably use 

input-ipc-server=mpvpipe
hwdec-codecs=all

And select whatever hwdec copyback you can use.

 

Luke, was the Emby mpv built with vapoursynth? It was, yes?

Edited by Doofus
Link to comment
Share on other sites

Not meaning to interject, but here are my results from trying to get SVP working with ET's native MPV player:

 

Working off instructions I found here: https://emby.media/community/index.php?/topic/50975-how-to-enable-mpv-logging-for-theater/ I set up an MPV .conf and applied the settings provided on the SVP documentation page Doofus linked to. I also set a custom log path for MPV in this new config, to gauge whether it was being read and obeyed.

 

The log file appeared exactly where I specified, but the other settings didn't seem to matter; there was no motion smoothing applied to Emby Theater's player and SVP's GUI confirmed there was no active playback detected. That's notable because SVP's custom build of MPV, discussed in the aforementioned documentation page, is correctly detected and smoothed when it's used to play video. I'm sure there are many moving parts involved here I'm unaware of or don't understand, but those are my results so far.

Link to comment
Share on other sites

Alright, I've got video filters working with ET's native player now. I'm already somewhat familiar with FFMPEG, so getting that working wasn't too bad. I've still got to recreate my MadVR settings, but I have a working proof-of-concept now. SVP still cannot see Emby Theater's playback, despite having copied commands directly from SVP's documentation and, after that failed, their custom MPV .conf file.

 

Getting video filters working is very encouraging and looking at MPV's documentation makes me think this will be a solid alternative to MadVR. SVP is a little frustrating but given my level of knowledge it's probable I'm doing something wrong.

 

No idea if this is helpful, but here's my MPV .conf's contents:

 

 

log-file="C:\Users\{this dingus's Win name}\Desktop\mpv log.txt"

input-ipc-server=mpvpipe

hwdec=auto-copy
hwdec-codecs=all


vf=chromahold:#000000

 

 

Edited by Invader115
Link to comment
Share on other sites

Guest asrequested

Take out the hwdec line, and enable it in the Theater settings. If it still doesn't work, you may have to use software decoding. What GPU and CPU do you have?

Link to comment
Share on other sites

Alright, I tried that to no avail. Neither ET's "Auto (copy back)" nor its "Nvidia NVDEC copy back" settings affected SVP with the lines removed from the MPV .conf file.

 

My CPU is an AMD Ryzen 7 2700X, and my GPU is an Nvidia RTX 2080 Ti.

Link to comment
Share on other sites

Guest asrequested

Try using 'unset' and and put the hwdec line back in the mpv.conf. Also, why are you using that video filter? You shouldn't need that. I would take that out.

Link to comment
Share on other sites

The video filter is left over from when I was learning how to apply filters; turning the video grayscale lets me see at a glance if the filters are taking effect. I'll remove it from the .conf since it's served its purpose.

 

Trying "Unset" and bringing back the .conf lines didn't seem to do anything.

 

Software decoding, I assume, would be setting the "Hardware acceleration mode" option to "None". If so, that didn't work - and that makes me think I'm missing something obvious.

 

 

EDIT: Here's a bit of... something. Out of curiosity I went into the settings for MPC-BE, the external player I've been using with SVP, and reviewed some settings I applied when I first set up the player for SVP.

 

There are a number of "external filters" that need to be enabled in MPC-BE for SVP to detect its playback. I tinkered with these just now and can confirm SVP needs these to be enabled.

 

post-240514-0-89233000-1569611084_thumb.png

Edited by Invader115
Link to comment
Share on other sites

Guest asrequested

You can't compare MPC to mpv. They are completely different. I'm wondering if vapoursynth isn't present. Try replacing mpv with the git master from March 10th.

Link to comment
Share on other sites

I've just tried that, and the results were entirely unsurprising.

 

A brief bit of Googling seems to indicate MPV is capable of the smoothing I currently get from SVP, albeit without the nice, unintimidating GUI and possibly - but not definitely - with less effective algorithms.

 

Since MPV seems to have this functionality and everything else I need, I'm going to stop driving myself nuts with SVP and start configuring MPV. It'll take a while but I'm up for it. You guys have been incredibly helpful and I thank you for your time.

Link to comment
Share on other sites

Guest asrequested

The two things that give smooth motion are interpolation and scale=oversample. Try interpolation, first. But if you're using audio bitstreaming, you'll need to use video-sync=display-vdrop

Link to comment
Share on other sites

After a few hours intermittently messing with MPV, I've managed to add a lot of the post-processing filters I'm used to -- with terrible performance. Playback speed is well under 1X with settings much more tame than I'd been running MadVR with. Thus far I've found no way to send the heaviest post-processing tasks (interpolation, deblocking) to the GPU.

 

I can use MadVR how I do, with many enhancements enabled at fairly high quality, because it makes full use of my RTX 2080 Ti. MPV uses ~20% of my GPU's power at most while providing very slow output, whereas MadVR & SVP working in tandem uses 20% of the CPU and 70% of the GPU while working properly.

 

The severity of the initial problem, versus the effort required to overcome it, makes my focusing on it any longer hard to justify -- and I've got time on my hands. You guys have more important things to focus on and I'm tired of thinking about it.

Edited by Invader115
Link to comment
Share on other sites

Here are the contents of mpv.conf. I tried out several hardware decoders and found that only those with "copy back" seemed to render the video filter effects at all. I've tried DXVA2, NVDEC, D3D11VA, and CUDA - all in their "copy back" variants and most in their plain variants. (EDIT: Oh, and of course I've used "auto-copy" and "auto".)

 

What you see is the last configuration I tried.

 

 

log-file="C:\Users\{my name}\Desktop\mpv log.txt"

vo=gpu
gpu-context=d3d11
hwdec=d3d11va-copy
hwdec-codecs=all

vf=deband,hqdn3d,minterpolate

 

 

ET's video settings, or what I could fit on the screen at once:

 

 

 

 

5d8ed93b939e6_2019092722_50_30.png

 

Edited by Invader115
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
 Share

×
×
  • Create New...