From wiki.mikejung.biz
Jump to: navigation, search

PotPlayer Overview

PotPlayer is a Video Player for your PC or mobile device. It's got a lot of options that MPC-HC doesn't have, and it seems to do a better job at utilizing my GPU hardware while providing better video and audio quality. Recently I found out that you can actually enable Nvidia's Dynamic Super Resolution with PotPlayer, which means you can resize videos to 2715x1527 or higher and the GPU will downscale that image back to 1920x1080, or whatever the monitor's native resolution is. DSR can significantly improve video quality at very little cost, so if you have a newer Nvidia GPU like a GTX 960 or GTX 970 it's worth enabling.

PotPlayer definitely is a lot different in terms of usability and configuration, but not in a bad way. There are tons of options and when you factor in all the possible encoders and decoders, the customization is endless. You can do that with mpc-hc, but I feel like PotPlayer handles the settings menus in a better way. You can use MadVR with PotPlayer, which is nice, and it even shares the same settings you use with mpc-hc, at least on the MadVR side of things. Still, it's nice to not have to re-configure MadVR all over again, just for another Video Player.

You can utilize MadVR with PotPlayer and / or MPC-HC. There are many other video players out there, but MPC-HC and PotPlayer seem to be the two most common players around. If you do decide to install both MPC-HC and PotPlayer you only have to configure MadVR once and both applications will use the same madVR configuration settings.

PotPlayer seems to be more flexible in terms of configuration options. There seem to be many more configuration options compared to MPC-HC. PotPlayer does seem to provide slightly improved video quality, at least compared to a similarly configured player like MPC-HC. MadVR seems to be the most important booster for video quality. I took some 720p video screenshots to compare video quality when using various upscaling settings to see what looked the best.

If you are looking for a more advanced potplayer wiki you should head over to that page for a detailed configuration wiki.

Potplayer Installation Guide

  • Step 2)

During the PotPlayer installation process, please make sure that you initially choose to NOT associate files with PotPlayer until you are done testing, otherwise it can be pretty annoying to have to constantly be changing the Windows default program for all the different video types. If you choose to do this then you may need to re-adjust the default file associations. For instance if you use WinAmp for music, and you don't exclude .mp3 files, Potplayer will try and open them by default. For now don't associate Potplayer with any file types, we will go back later on and adjust file associations. You can still right click on files, and add PotPlayer to the list, or you can avoid my advice entirely.

Potplayer install step1 file associations.png

  • Step 3)

You can let Potplayer install itself wherever it wants to, so just press next during this part of the Potplayer installation. Once the install of Potplayer is complete you will have the option to run Potplayer and install additional codecs. You might as well install all of the additional codecs, plus it's nice to have the Full version of the FFmpeg packages and libraries, by default PotPlayer comes with the minimal versions of FFmpeg, which might be fine, but installing the utilities full versionwon't hurt.

Potplayer install step2 run player additional codecs.png

  • Step 4)

For the sake of curiosity, I decided to see what additional codecs come with Potplayer, and install them. It looks like Potplayer downloads about 6MB worth of codecs, so it's downloading tons of shit on your PC and isn't wasting space either.

Potplayer install step4 codec options.png

You must have at least the core files option selected, which appears to be a minimum version of FFmpeg. You can choose to also install Open Codec Files, FFmpeg Full, and Libav Files. I chose to select all of them so I can see what they do, but if you already have a specific set of codecs in mind and don't want to use any of these, please skip this step.

  • Step 5)

Congrats, you just installed PotPlayer. I've listed some directories where you can find various amounts of interesting things like readmes or changelogs. Also if you want to add more stuff to PotPlayer's Dir, you can do it in the places below.

C:\Program Files (x86)\DAUM\PotPlayer

The additional codecs for potplayer can be found under the Module folder beneath the main PotPlayer directory. You can see all the additional codecs like Open Codec Files, FFmpeg Full, and Libav Files by navigating to this directory.

C:\Program Files (x86)\DAUM\PotPlayer\Module

Potplayer Post Installation Configuration and Optimization Guide

I'm still pretty unfamiliar with Potplayer, but so far I like it, feels a lot more responsive, or modern than mpc-hc and the image quality is very good, easily on par with mpc-hc, mainly due to the use of MadVR. Once I get a better handle on all the various options, I'll update this section with more information.

Once you have started up potplayer, you can either press F5 or right click inside of Potplayer and click on "preferences".

Potplayer Filter Control Settings

This section allows you to tell potplayer what filters you want to use for various media types. You can enable, or disable built in filters for audio and video under the main section. By default PotPlayer uses internal filters for audio and video. I've tried disabling the built-in Video Processor and Switcher, but I didn't notice a ton of difference in performance or quality. I suggest leaving the built-in Video Processor and Switcher enabled, then choosing CUDA for all available Decoder types, and / or DXVA2 if you don't have a Nvidia GPU. I enabled DXVA hardware acceleration as well as CUDA. For audio Filters, I chose to use the full FFmpeg option for the most common types such as AAC, AC3, etc, etc.

PotPlayer Configuration Filter Control Main.png

Under the "Source/Splitter" section you can select FFMPEG as the splitter for most file types, such as AVI, Matroska, MP4, and FLV. If you installed FFMPEG Full, you should use this. I've configured PotPlayer's filters as follows:

Pot player how to set ffmpeg as source splitter filter.jpg

Potplayer Video Decoder Configuration for GTX 970/960

If you have a NVIDIA GPU, you can and should choose to use the Nvidia CUDA for Video Decoding for all available Decoders that can use CUDA, otherwise leave them at their defaults, which means FFmpeg will be used. I believe this is similar to mpc-hc's Video Decoder Options, however it will let me use CUDA and still enable DXVA, mpc-hc would not let me do that. Generally speaking you want to select the Video Decoder to use hardware decoding if you have a device that support it. If you have an Intel CPU with QuickSync support can you select that if you are using the CPU as the, err, GPU. You might be able to configure some Decoders to use QuickSync, and some to use CUDA, but I'm not sure. My GTX 970 can handle things just fine so I haven't bothered testing it out yet. If you just got a GTX 960 you should be able to use very similar settings, since performance will be close to the gtx 970

To edit PotPlayers's Video Decoder settings for optimized performance, go to Filter Control, under the expanded options on the left side, click on Video Decoder, then click on Built-in Codec/DXVA Settings. Since I have a GTX 970, I selected CUDA for most video types, and I selected DXVA to be used. Do not select DXVA Copy-Back as it is the slowest Video Decoder. DXVA (Native) is usually the option to go with and it's the default if you enable it in potplayer (it's just called DXVA), for mpc-hc it would be called DXVA2 (Native). To be honest, I'm not entirely sure if DXVA matters if you already selected CUDA for PotPlayer's decoder options, when I play back a video and view the player stats I see that the OpenCodec CUDA decoder is used for video, which is what most people with a high end, Nvidia GPU should use. I also suggest doing with hardware deinterlacing and letting your GTX card handle this instead of enabling it in MadVR.

PotPlayer Configuration Built-in Video Decoder CUDA.png

While we are configuring the video settings for PotPlayer, you might as well make sure you have Nvidia Edge Enhancement and Nvidia Noise Reduction enabled in the Nvidia Control panel, both enhancements can provide a pretty significant boost in terms of video quality. This assumes you have a Nvidia GPU, if you have an AMD GPU there are probably similar enhancements in their control panel.

Potplayer FFmpeg Audio Decoder Optimization and Configuration

If you installed the Full FFMpeg Codec package you can select the full version instead of the minimum version that's used by default. I'm not entirely sure on the difference between the two, but I am using the Full FFmpeg Decoder for everything I can. I found that ffmpeg did a great job at improving audio quality for PotPlayer. I'll cover how to do that in the next section. I found that the optimal audio settings for PotPlayer involved the use of FFmpeg and configuring PotPlayer and the Audio Decoder to convert sources from 16bit or whatever, to 24-bit, as well as resampling the audio from it's normal sampling rate to match my soundcard's sampling rate which is 96KHz. This might cause some random audio issues, depending on what you are watching, but I found that for most common video and audio types the settings worked just fine and I noticed much clearer and crisper audio with PotPlayer than I ever have with mpc-hc.

PotPlayer best audio ffmpeg decoder.png

I have a Sound Blaster Z sound card, and Sony MDR-1R headphones and I think this is the best sound I've heard from my PC to date. PotPlayer allows for a lot of optimizations like resampling and using 24-bit output. This did make a difference in audio quality, and I noticed it right away.

This setup is using a Sound Blaster Z, but most onboard audio should have similar abilities, but check your audio specs before you try and select frequencies your card or speakers can't handle. I chose to select Virtual Dolby Decoder because it sounded awesome, and my soundcard can handle Dolby Digital, so I said "Why not" and now I'm telling you about it. Since my card and headphones are 24bit compatible I changed the value from 16bit to 24bit.

I changed the resampling from 48KHz to 96KHz because that is what my sound card is set to. I changed the resampling from normal quality to high quality and I did notice some lock ups and all around strangeness, so if you notice that happening you should stick with the defaults.

If you are using digital speakers, you will want to adjust S/PDIF settings accordingly, but if you are using headphones or decent speakers you can give these settings a shot. Very good sound quality with PotPlayer.

  • Audio Renderer: DirectSound: Speakers (Sound Blaster Z)
  • Speakers: Virtual Dolby Decoder 24-bit
  • Resample: 96KHz High Quality

PotPlayer best audio settings.png

Potplayer General Settings

PotPlayer's General Settings section has a ton of different settings you could change. Most of these settings have nothing to do with performance or playback quality, however it's always good to get familiar with these sections in case you want to tweak general functionality. Some noteworthy sections are Startup, if you prefer to start / not start potplayer when Windows boots.Keyboard is also a useful section if you want to configure or learn about the PotPlayer Keyboard shortcuts.

PotPlayer Configuration General Settings.png

Potplayer Playback Settings

PotPlayer's Playback settings mainly relate to audio and video fade in / fade out type settings. Under the "advanced" section you can enable or disable "seamless playback" if you don't like delays between audio or video clips. There is also an audio visualizer configuration section if you want to watch trippy things when listening to music. The other relevant sections are fullscreen mode which will let you choose what display to use for playback (if you have multiple screens and want PotPlayer to utilize certain ones). Aspect Ratio is another section where you can configure the default potplayer aspect ratio. I recommend leaving these options at their defaults unless you have a specific reason to change something.

Do not try and mess around with the PotPlayer aspect ratio or resize options if you plan on using madVR and NNEDI3 Image Doubling. It will result in fucked up looking video. Leave most of the PotPlayer Settings at their defaults otherwise the madVR filters will be like wtfmate?

PotPlayer Configuration Playback Settings.png

Potplayer Optimal MadVR Video Settings for GTX 970 and GTX 960

The configuration below is what I am currently using for PotPlayer. I'm using a GTX 970 Gigabyte G1, Intel i7 4790k, 16GB RAM and Windows 8.1 Pro. I installed and use the full FFmpeg package that comes as an additional install option for PotPlayer. I configured PotPlayer's Built in Decoder to use CUDA for all possible types, as well as enabling DXVA. It seems to work just fine, and it lets MadVR do it's thing, which is good. I've offered up some [MadVR] settings previously, and I decided to try new settings out with PotPlayer because that's what I like to do. Again, this configuration is more for the GTX 970, GTX 960 or GTX 700 line GPUs. Trying to use these settings on your mom's Dell from 2006 isn't going to cut it.

MadVR Option Option Value
chroma upscaling NNEDI3 128 Neurons
NNEDI3 Image Doubling Always Double Luma Resolution using 128 neurons
Image Upscaling DXVA2
Image Downscaling DXVA2
smooth motion Enable Smooth Motion only if judder without
dithering Error Diffusion Option 1
Video Codec CUVID (CUDA) with hardware deinterlacing

CTRL + F1 Info

[Used Filter List]
(1) Built-in FFmpeg MKV Source
(2) Built-in Video Codec/Transform
(3) Madshi Video Renderer
(4) Built-in Audio Codec/Transform
(5) DirectSound: Speakers (2- Sound Blaster Z)

[Video Information]
Codec:AVC1 - OpenCodec(Nvidia CUDA Decoder)
Input type:AVC1(24 bits)
Input size:1920 x 800(2.40:1)
Output type:NV12(12 bits)
Output size:1920 x 800(2.40:1)
Frame rate:23.98
BitRate: Unknown

[Audio Information]
Codec:Dolby AC3(0x2000) - FFmpeg.dll(ac3)
Sample rate:48000 -> 96000 samples/sec
Bits per sample:0 -> 24 bits/sample
Channels:6 -> 6 channels
Bitrate: 448 kbps

Enable MadVR Video Renderer

Under PotPlayer's Video section, you can select the Video Renderer that you want to use. If you have a recent GPU like the GTX 600, GTX 700, or GTX 900 line you should select Madshi aka madVR for the video renderer. Using madVR for the video renderer will significantly improve video quality at the cost of performance. For most modern GPUs, using madVR is not a problem as long as you [Correctly Configure MadVR]. Even if you don't have a powerful GPU, you should still select madshi video renderer as it unlocks many more options than you would have otherwise.

It's also a good idea to Enable FullScreen Exclusive Mode, using the "fastest" option listed. This allows the video to have exclusive access to the GPU and CPU when you play a video in fullscreen. This not only helps to improve performance during video playback, it also prevents things like email alerts from popping up or taking you out of fullscreen mode when playing a video.

PotPlayer Configuration madVR(madshi) video renderer.png

To configure PotPlayer to use MadVR, right click anywhere inside PotPlayer while playing a video, then hover over filters then Madshi Video Renderer as shown in the image below. This is really important to do, otherwise you won't be using the best renderers.

PotPlayer madvr change settings.png

If you need help configuring madvr for optimal video quality, you can visit this [madvr guide]

Enable Hardware Deinterlacing

You can configure PotPlayer to utilize hardware deinterlacing if you have a decent GPU. If you do not have a powerful PC and find that these settings don't work well, I recommend using software deinterlacing, which PotPlayer uses by default. Since I have a GTX 970 I have enable hardware deinterlacing.

PotPlayer Configuration Video Deinterlacing hardware.png

Potplayer Device Settings

The device section is only relevant if you want to change some settings for CD, DVD, or Bluray drives. You can also configure recording devices and other things.

PotPlayer Configuration Device Settings.png

Other madVR Links

MadVR Main Page 720p Chroma Upscaling Screens PotPlayer DSR 720p Image Doubling madVR Dithering Chroma Upscaling Benchmarks Nvidia Noise Reduction
PotPlayer Main Page 1080p Chroma Upscaling Screens PotPlayer Decoder Comparison 720p Image Upscaling Processing Options NNEDI3 Main Page Nvidia Edge Enhancement

Potplayer Libav Codec Overview

Libav contains the same main libraries as FFmpeg. If you plan on installing all of the FFmpeg codecs, then you should be able to skip out on libav since it contains the same libraries that ffmpeg does.

"Libav is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata."

Libav includes multiple libraries. The Libav version v11.1 release contains these libraries.

* `libavcodec` provides implementation of a wider range of codecs.
* `libavformat` implements streaming protocols, container formats and basic I/O access.
* `libavutil` includes hashers, decompressors and miscellaneous utility functions.
* `libavfilter` provides a mean to alter decoded Audio and Video through chain of filters.
* `libavdevice` provides an abstraction to access capture and playback devices.
* `libavresample` implements audio mixing and resampling routines.
* `libswscale` implements color conversion and scaling routines.

The benchmark option provides the runtime and the memory usage.

avconv -nostats -v quiet -threads 1 -benchmark -i sample -f null -

Potplayer FFmpeg Codec Overview

FFmpeg has the same libraries that libav does, but in addition it also has some ffmpeg specific utilities. If you install the full version of ffmpeg then you do not need to have libav since it appears to have the same set of opensource libraries. I chose to install the full version of ffmpeg when I configured PotPlayer's Audio Decoder to use the full version of ffmpeg, by default PotPlayer uses "FFmpegMinimum.dll" but I went with "FFmpeg.dll", which I would assume is the non-minimal version? I'm not exactly clear on that, but the point is FFmpeg does a damn fine job at improving audio quality. Since I don't know a ton of stuff about FFmpeg right now, I suggest you check out the official documentation below. As I bring myself up to speed I will add in other sections.

FFmpeg contains the following libraries which can be used by most applications

FFmpeg also contains the following, which can be used for transcoding, streaming and playing audio and video files.

PotPlayer Release Highlights and Change Logs