Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Watching 24Hz-video jitter-free without having to use SVP #7036

Closed
AlessioKuro opened this issue Oct 7, 2019 · 6 comments
Closed

Watching 24Hz-video jitter-free without having to use SVP #7036

AlessioKuro opened this issue Oct 7, 2019 · 6 comments

Comments

@AlessioKuro
Copy link

Hi there,
I'm trying to play 23.97...Hz movies smoothly on my 60Hz monitor, but it just doesn't work.
I have installed the autospeedwin plugin, and, after a few modifications to the source code, it works perfectly. My monitor now switches to 48Hz when playing the video.

Now, since the movie is 23.97...Hz, there are, as far as I understood, two options.
#1 either use the autospeedwin script to increase the playback speed so the movie plays back in 24Hz
#2 use video-sync=display-resample

I've tried both versions, and both versions "worked". The first one succesfully made the video play in 25fps, and the second one, well, I don't know how to check if it worked. But I've used these settings:

video-sync=display-resample
scale=oversample
tscale=oversample
Interpolation=yes

And I have really tried every single settings combination, sometimes with interpolation on, sometimes off, then I've tried tscale=mitchell, video-sync-max-video-change=50 or video-sync=display-*, and other stuff, but no matter what I've tried, I always get the same result:
The video really jitters and is not smooth when the scene is moving quickly.

But when I use SVP to interpolate it from 23.97...Hz to 48Hz, it looks soo fluid and jitter-free.
The text on panning scenes is much more readable, and it literally looks 1000% smoother, even on lowest SVP settings. The problem is that it makes my laptop go really hot.

But shouldn't it be possible to make 24Hz content look smooth without SVP? Of course it can't be as fluid as SVP, but it should be at least fluid enough so the text in moving scenes is readable (right now it's really hard to read moving text without SVP) and so the jitter is less annoying and noticeable.
I mean, there shouldn't be 3:2 pulldown anymore since I was playing 24fps content on a 48Hz monitor, but I don't feel a big difference in reduced jitter. It is still really jittery and not smooth.

Did I do something wrong, and is there something I can improve?

Thank you!

@Doofussy2
Copy link

If you're bitstreaming audio, you should use --video-sync=display-vdrop

@AlessioKuro
Copy link
Author

I'm not sure if I'm bitstreaming audio, but my problem is just the visual jittering.
The audio is working fine.
Even with this setting, it's still jittery and panning text unreadable. I actually don't even see any difference with interpolation enabled vs having it disabled.

@zc62
Copy link
Contributor

zc62 commented Oct 10, 2019

You should post log files to show if interpolation is indeed enabled or not.

Interpolation=yes

I'm not sure if this is just a copy-paste error from your conf to github or it is really the thing in your conf. I don't think mpv accept case-insensitive option names.

@AlessioKuro
Copy link
Author

AlessioKuro commented Oct 10, 2019

Oh, this was just the copy-paste error.
Here is my full mpv.conf (renamed to txt for Github):
mpv.txt

And here's the mpv.log:
mpv.log

@zc62
Copy link
Contributor

zc62 commented Oct 10, 2019

Looks like you are not bitstreaming the audio, so you can set the option back to display-resample.

The thing is, it seems that compiling the shaders costs too much time, and the A-V desync detection mechanism decides to turn off display-sync options completely.

[   3.844][w][cplayer] Audio/Video desynchronisation detected! Possible reasons include too slow
[   3.844][w][cplayer] hardware, temporary CPU spikes, broken drivers, and broken files. Audio
[   3.844][w][cplayer] position will not match to the video (see A-V status field).
[   3.844][w][cplayer] 
[   3.888][v][cplayer] Video sync mode disabled.

This is actually a known issue, see #6342. A workaround would be using shader cache, see #6342 (comment)
Put something like this in your conf:

gpu-shader-cache-dir="~~/shaders_cache"

and try to open the same video for the second time (use the first time to compile and store the shaders), see if it helps. (Log file, and screen shot of Shift+i, then press 2, see if interpolation is shown or not.)

@Akemi
Copy link
Member

Akemi commented Oct 10, 2019

duplicate of #6342.

@Akemi Akemi closed this as completed Oct 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants
@Akemi @Doofussy2 @zc62 @AlessioKuro and others