|
Best Porn Sites | Live Sex | Register | FAQ | Members List | Calendar | Mark Forums Read |
Help Section If you have technical problems or questions then post or look for answers here. |
|
Thread Tools | Display Modes |
February 19th, 2022, 10:34 AM | #1 |
Vintage Member
Join Date: Jan 2009
Posts: 304
Thanks: 1,147
Thanked 16,757 Times in 309 Posts
|
MPV video player
MPV:
https://mpv.io/ It is quite simply THE best multimedia player overall across Windows and Linux. VLC would come 2nd, in my opinion. And I regard VLC highly. Not sure about Mac because I have never used Mac. With the exorbitant pricing, never will. But there is MPV in Mac as well. Reasons to use mpv over other video players. It supports almost all formats, is extremely versatile and can access most ffmpeg video and audio filters (unlike VLC), has great built-in video/audio filters of its own. It supports Lua, Javascript and Vapoursynth scripts and filters. Has amazing built-in prescalers : Luma Upscalers (simply called scaler in mpv) and Chroma Upscalers (cscaler), Downscalers (dscaler), and decent tscalers for Motion Interpolation. MPV can also use glsl shaders for luma/chroma upscaling (including FSRCNNX that use Convolutional Neural Network), downscaling. And vapoursynth script for Motion Interpolation for smooth video playback. MPV also uses youtube-dl by default (if it's installed and is in PATH). youtube-dl can play online videos from over a thousand sites(that is a discussion for another topic). I use yt-dlp, a fork of youtube-dl. Reasons not to use MPV : Like all software, MPV has drawbacks. It has no proper GUI (but does have great Multimedia player that uses MPV as a backend - more on that later). It is also not easy to setup/use by itself. Luma-upscaler to upscale the Luma plane of the video, Chroma upscaler to upscale Chroma plane(s) and dscaler to downscale (if and when necessary). Most video players use bilinear or bicubic as scaler/cscaler and lack any tscaler. VLC uses bicubic which produces decent quality videos. To state the obvious, better scalers require more resource (gpu+cpu). In mpv, you could use bilinear (default for scale and cscale), if your hardware is ancient - i.e. made over 12 years ago - in the 2000s. The are several other things to consider. Resolution, bitrate, video codec of the video you're trying to play. The gpu+cpu and to some lesser extent, RAM. 4 GB RAM should be enough. Last but not the least, the monitor/ TV. For instance, if the video is 30 fps and the monitor is 120 hz, tscaler would have to do 4X to match in order to display a smooth video ( Motion Interpolation ). On the other hand, if your monitor is 60 hz, it would only need to do 2X which would require much less gpu power. If you're video is SD ( i.e. video height < 720 ), and your screen is 1080p ( and especially if 2k/4k ), you will see a marked difference in quality with better scalers than bicubic. To put it simply, greater than difference between video height and screen height, greater the upliftment in quality with mpv scalers. Now, the human eye is far less sensitive to changes to Chroma than Luma. And so if your resource is limited ( i.e. you don't own a GTX 1050 or better ), use a great/good scaler and a below-average cscaler. MPV has lots of scalers but I'll concentrate on a few, with last 4 being glsl shaders(/hooks). In terms of quality, for scaler (Luma upscaler): bilinear < bicubic < lanczos < spline64 < ewa_robidouxsharp < ewa_lanczossharp < ravu-lite < ravu-r3/4 < SSimSuperRes < FSRCNNX. So use FSRCNNX, if your gpu can handle it in real-time. All the links are at the end of the post. For cscaler : bilinear < bicubic_fast < lanczos < ewa_robidouxsharp(/soft) < ewa_lanczossharp(/soft) < KrigBilateral (glsl shader- resource-intensive and minimal quality improvement). Use lanczos or ewa_lanczossharp (or KrigBilateral, if you have a very good gpu) For dscaler : bilinear < bicubic_fast < mitchell (default) < catmull_rom < SSimDownScaler (glsl shader - very good) For tscaler : oversample < box (with tscale-window sphinx) < SVP (vapoursynth-enabled mpv and vapoursynth is required). SVP is a paid app in Windows and Mac, free but closed-source is Linux. Produces amazing smooth video playback. Requires decent gpu. https://www.svp-team.com/ You need opencl with "Image Support" for HW acceleration in SVP. Get the necessary software/packages or else SVP will use cpu. Programs that use MPV as backend: As I mentioned earlier, MPV lacks a proper GUI and so can be hard to use for some people. But there are quite a few apps that use MPV as backend. My recoomendation would be SMPlayer. https://www.smplayer.info/ Every setting mentioned above can be used in SMPlayer by simply providing the configuration file location. The conig file default location is ~/.config/mpv/mpv.conf (in Linux). C:\users\USERNAME\AppData\Roaming\mpv\mpv.conf in Windows. Make a new file called mpv.conf and put it inside ~/.config/mpv (C:\users\USERNAME\AppData\Roaming\mpv in Windows). Some people are also fond of Celluloid and Stremio. There are 2 ways to get the best out of MPV. If your hardware can afford it, use the best quality settings mentioned above for all videos regardless of resolution. Or make a file called height-profile.lua and put it in ~/.config/mpv/scripts (create the folder if necessary). C:\users\USERNAME\AppData\Roaming\mpv\scripts in Windows. You need MPV with Lua-enabled to use this. MPV loads height-profile.lua, analyses the video and applies Profiles (defined by you inside mpv.conf) to the videos. local utils = require 'mp.utils' local profile = { ud = "UD", fhd = "FHD", hd = "HD", sd = "SD" } local function set_profile() if mp.get_property_number("height") >= 1440 then mp.commandv("apply-profile", profile.ud) elseif mp.get_property_number("height") >= 1080 and mp.get_property_number("height") < 1440 then mp.commandv("apply-profile", profile.fhd) elseif mp.get_property_number("height") >= 720 and mp.get_property_number("height") < 1080 then mp.commandv("apply-profile", profile.hd) else mp.commandv("apply-profile", profile.sd) end end mp.register_event("file-loaded", set_profile) My Profiles (UD,FHD,HD,SD) are as follows. As seen above, UD=2K/4K, FHD= >=1080p < 2K, HD= >=720 and <1080, SD= all else(i.e. < 720) My mpv.conf is as follows. Your hardware is likely different. DO NOT blindly copy/paste this. Modify it according to your own needs. Lines starting with # are ignored. ## Global Settings ## ###################### vo=gpu hwdec=auto-copy-safe # For SVP - MPV defaults to 'no' fullscreen=yes keep-open=always ytdl-format=bv*[vcodec^=av01][height<=?1080]/bv*[vcodec^=vp9][height<=?1080]/bv*[vcodec^=avc1][height<=?1080]/bv*/best # For online video playback with yl-dlp (youtube-dl uses bestvideo+bestaudio/best by default) ytdl-raw-options=no-playlist= idle=yes video-sync=display-resample msg-level=all=v hr-seek-framedrop=no # Fixes audio desync resume-playback=no # Not compatible with SVP ## Profiles ## ############### [UD] scale=bicubic_fast cscale=bilinear dscale=bilinear deband=yes dither-depth=auto interpolation=yes tscale=oversample [FHD] scale=ewa_lanczossharp cscale=bicubic_fast dscale=catmull_rom #correct-downscaling=yes dither-depth=auto deband=yes interpolation=yes #tscale=box #tscale-window=sphinx #tscale-wblur=0.8 #tscale-taper=0.0 #tscale-wtaper=0.0 #tscale-radius=1.01 #tscale-clamp=0.0 #tscale-antiring=1.0 #tscale-blur=0.8 input-ipc-server=/tmp/mpvsocket [HD] glsl-shaders-append="~/.config/mpv/shaders/ravu-lite-r3.hook" scale=ewa_lanczossharp cscale=ewa_lanczossharp dscale=catmull_rom deband=yes dither-depth=auto sigmoid-upscaling=yes sigmoid-center=0.9 sigmoid-slope=2.0 interpolation=yes #tscale=box #tscale-window=sphinx #tscale-wblur=0.8 #tscale-taper=0.0 #tscale-wtaper=0.0 #tscale-radius=1.01 #tscale-clamp=0.0 #tscale-antiring=1.0 #tscale-blur=0.8 input-ipc-server=/tmp/mpvsocket [SD] glsl-shaders-append="~/.config/mpv/shaders/FSRCNN_x2_8-0-2.glsl" scale=ewa_lanczossharp cscale=ewa_lanczossoft dscale=catmull_rom sigmoid-upscaling=yes sigmoid-center=0.8 sigmoid-slope=2.0 deband=yes #deband-iterations=2 #deband-range=12 deband-threshold=64 deband-grain=128 dither-depth=auto #scaler-lut-size=7 interpolation=yes #tscale=box #tscale-window=sphinx #tscale-wblur=0.8 #tscale-taper=0.0 #tscale-wtaper=0.0 #tscale-radius=1.01 #tscale-clamp=0.0 #tscale-antiring=1.0 #tscale-blur=0.8 input-ipc-server=/tmp/mpvsocket Now, in order to use ffmpeg filters (there are a ton of them) on the fly, use this script called live-filters.lua. Download live-filters.lua and put it inside ~/.config/mpv/scripts. Make sure to read through the code. https://github.com/hdb/mpv-live-filt...ve-filters.lua While playing, '`' activates it. Then type in the ffmpeg filter you want to use. For instance, type: pp=lb and it activates ffmpeg post-processing linear blend filer for deinterlacing. Yadif is the default in MPV, keybinding 'd'. If you want a simpler way of using ffmpeg filters, put them in ~/.config/mpv/input.conf. For instance, I have these lines in mine. g vf toggle gradfun=2:16 n cycle_values af loudnorm=I=-30 loudnorm=I=-15 anull b vf toggle "lavfi=[hqdn3d=luma_tmp=0.0:chroma_tmp=0.0:luma_spatial=4. 0:chroma_spatial=4.0]" Alt+g vf toggle "lavfi=[eq=contrast=0.92:brightness=-0.01:gamma_weight=0.0]" The HQ glsl shader(hooks) mentioned earlier can found here. https://github.com/igv/FSRCNN-TensorFlow/releases https://github.com/bjin/mpv-prescalers https://gist.github.com/igv Some of these shaders may need certain mpv config changes and modifications in the scripts themselves. SSimDownscaler requires linear-downscaling=no. Read the descriptions. These need to be placed inside ~/.config/mpv/shaders (C:\users\USERNAME\AppData\Roaming\mpv\shaders in Windows). Also, the FSRCNNX-8 version won't activate unless screen height is 1.3 times the video height. For FSRCNNX-16 version it is 1.4 times. Change 1.300 to 1.001 or something similar to always trigger it. Keep in mind, FSRCNNX, Ravu-lite, Ravu-r3/r4 (not Ravu-zoom), KrigBilateral, SSimSuperRes are all 2X upscaler. So Downscaling is almost always required. And if screen height is > 4X video height, apply it twice. Change height-profile.lua accordingly (if you use it). Sorry for the lengthy post. Couldn't find a way to express everything that needed to be said to make MPV work. Ask me questions if you have any. Last edited by sayansg; February 19th, 2022 at 11:02 AM.. |
|
February 19th, 2022, 05:55 PM | #2 |
SuperMod, supergroovy
Join Date: Feb 2009
Location: Lost in the Forest
Posts: 6,002
Thanks: 49,624
Thanked 45,972 Times in 5,961 Posts
|
I hope you're getting decent commission from them
__________________
Don't cling to a mistake just because you spent a lot of time making it. |
The Following 5 Users Say Thank You to Jazz67 For This Useful Post: |
February 20th, 2022, 02:37 AM | #3 |
Vintage Member
Join Date: May 2009
Posts: 3,651
Thanks: 80,415
Thanked 32,730 Times in 3,527 Posts
|
sayansg,
I'd really like to say thank you for the detailed and informative post, but I can't as I ain't got the foggiest idea what 99.9% of it means.
__________________
<-- That's Emer Kenny and I want to be stuck in her front bottom. Quote from electrofreak : I'd rather have questions that can't be answered, than answers that can't be questioned. |
The Following 6 Users Say Thank You to seany65 For This Useful Post: |
February 20th, 2022, 07:09 AM | #4 | |
Vintage Member
Join Date: Jan 2009
Posts: 304
Thanks: 1,147
Thanked 16,757 Times in 309 Posts
|
Quote:
Also worth mentioning, mpv, once properly setup using AI Convolutional Neural Neiwork glsl shaders, produces greater quality videos than madVR with mpc-BE. This is especially useful for old SD videos. Last edited by sayansg; February 20th, 2022 at 07:28 AM.. |
|
April 3rd, 2022, 04:00 PM | #5 |
Vintage Member
Join Date: Jan 2009
Posts: 304
Thanks: 1,147
Thanked 16,757 Times in 309 Posts
|
Setup guide for mpv as both video player and image viewer.
https://github.com/subluminal-byte/m...o-image-viewer |
Thread Tools | |
Display Modes | |
|
|