Playback profiles are a way for MythTV to set individual playback settings for various types of media through the internal media player.
Several "default" Playback Profile Groups are automatically available in MythTV. Provided are three example groups for each of VDPAU, OpenGL, VDA (on Mac OS), and "standard" playback rendering. The Slim, Normal, and High Quality Playback Profile groups for each renderer type demonstrate configurations for low-resource (but lower-quality) playback (via Slim) through high-resource (but higher-quality) playback (via High Quality).
While you may edit these default profile groups, generally it's better to think of them purely as examples and either use them without modification or create your own playback profile group if you wish to edit and modify settings. Doing so will help to prevent miscommunications when describing your configuration, for example when asking for help or when helping others. Creating your own playback profile group also has the benefit of allowing you to start with a simple configuration (i.e. if rez > 0 0 -> ffmpeg & XVideo) and experiment by changing items (OSD renderer, OSD fade, deinterlacers, ...) individually and seeing how the change affects playback quality and performance. Then, as you determine how the settings affect your system, you can add complexity to get exactly the behavior you want for each type of video you use.
If you have not yet modified your playback profile configuration, the "Normal" playback profile group will be selected by default. To use a profile group that is similar to the software-rendered settings in versions before 0.21, choose "Slim."
Each playback profile group consists of multiple profiles that are applied according to priority and match criteria (currently matching the recording's source resolution to some specified resolution). The profiles will be evaluated in order of priority, then by matching resolutions, but will only be used if the decoder is supported on the current hardware/configuration.
What options you have for each setting is defined by your configuration options as well as which development packages you have installed on your computer. The available settings are briefly as follows:
- These settings define the source resolutions for which this profile will be applied.
- This defines what library MythTV will use to decode the video, be it software (nuppeldecoder, ffmpeg, libmpeg2), or hardware assisted (VDPAU).
- Video Renderer
- This controls how the video is actually drawn to the screen. If you choose a renderer that's not supported by the current hardware/software configuration, MythTV will fall back to a working renderer.
- OSD Renderer
- This defines how the On-Screen Display is overlaid on the video. If you choose a renderer that's not supported by the current hardware/software configuration, MythTV will fall back to a working renderer.
- OSD Fade
- This specifies whether the OSD fades away or simply vanishes when it times out.
- This specifies the method used to deinterlace interlaced video for display.
- Secondary Deinterlacer
- This specifies the deinterlacer used if the primary deinterlacer cannot be used. For example, if the framerate is too slow for double-framerate deinterlacers.
- This specifies the filters to apply.
Default profile groups
Note: If you manage to muck up your playback profile groups and want the defaults back: First, copy down information you want to "save" from your current Playback Profile Group configuration (unless you want to just start over). Then, start deleting all the Playback Profile Groups. Go to the "Delete" button next to "Current Video Playback Profile" and hit it until there's no name left in the drop-down box next to "Current Video Playback Profile" (it should be blank). At this point, the Playback Profile Entries may look messed up (there may be some seemingly random number of them that may or may not be filled out), but don't worry about that. Then, select the Next button to "save" your settings. Finally, go back through TV Setting->Playback until you get to the "Playback Profiles (3/9)" page, where you'll see all the defaults. Then, add a new playback profile group and edit to your content.
High Quality default settings
High Quality is a profile group designed for machines capable of software rendering with enough extra resources to handle processor-intensive deinterlacing for SDTV resolutions. If the display is running at twice the frame rate of the video for SDTV resolutions, a very high quality deinterlacer is used.
|High Quality||Profile 1||Profile 2||Profile 3||Profile 4|
|Description||Good deinterlacer for 1080i||High quality deint for (noisier) SDTV||Good deinterlacer for 1080i||High quality deint for (noisier) SDTV|
|Resolution||>= 1920 1080||> 0 0||>= 1920 1080||> 0 0|
Normal default settings
Normal is a profile group designed for machines capable of software rendering with enough extra resources to handle processor-intensive deinterlacing for SDTV resolutions. It is the default selected profile group. The deinterlacer used for SDTV requires fewer resources than the one used for the High Quality profile group and supports a fallback to a single-rate deinterlacer for displays running at less than twice the frame rate of the video. OSD Fade is disabled for high-definition.
|Normal||Profile 1||Profile 2||Profile 3||Profile 4|
|Description||Good deinterlacer for HDTV||High quality deint for (noisier) SDTV||Good deinterlacer for HDTV||High quality deint for (noisier) SDTV|
|Resolution||>= 1280 720||> 0 0||>= 1280 720||> 0 0|
Slim default settings
Slim is a profile group designed for machines capable of software rendering. The deinterlacers used for all resolutions require few resources and do not require displays running at twice the frame rate of the video. OSD Fade is disabled for high-definition.
|Slim||Profile 1||Profile 2||Profile 3||Profile 4|
|Description||Simple deinterlacer for HDTV||Simple, slightly better, deinterlacer for SDTV||Simple deinterlacer for HDTV||Simple, slightly better, deinterlacer for SDTV|
|Resolution||>= 1280 720||> 0 0||>= 1280 720||> 0 0|
A note about deinterlacers
Time stretching and time compression during playback affect the efficacy of some deinterlacers, namely those which process video from more than two fields (e.g. greedy or yadif). A symptom of using the 'wrong' deinterlacer for those playback methods is an apparent reduction in framerate coupled with lots of messages in a '-v playback' log similar to this:
NVP: Video is 7.02403 frames behind audio (too slow), dropping frame to catch up.
NVP: Video is 7.67555 frames behind audio (too slow), dropping frame to catch up.
NVP: Video is 7.92416 frames behind audio (too slow), dropping frame to catch up.
NVP: Video is 7.87064 frames behind audio (too slow), dropping frame to catch up.
The solution of course is to ensure that the secondary deinterlacer is one which does not process more than two fields of video - namely 'onefield', 'discard' etc - or just leave the secondary deinterlacer preference as its default value.
There is a python script available for comparing deinterlacers.