[mythtv-users] Playback Profiles? WTF?!

Michael T. Dean mtdean at thirdcontact.com
Tue Mar 18 01:31:13 UTC 2008


On 03/17/2008 10:31 AM, Jonny B wrote:
> I would suppose the community at large (those in the know) should 
> write it. The wiki is a great place to go for hardware configuration, 
> and getting things 'working' usually.... but there's hardly any actual 
> usage docs.

Thank you for the introduction, Johnny.  My name is Mike, and I'm hoping 
you (or anyone else reading this thread) can help me out.  I 
requested--a couple of times, now--that some users (who are 
wiki-literate) start up a page for users to "compare" playback 
profiles.  The purpose would be to provide some documentation for this 
very complex configuration item in Myth... :)

This page should document various usage strategies--i.e. /do not/ edit 
the default example playback groups/profiles, instead create new groups  
and add new entries to play around with so you can see where things were 
(Current Video Playback Profile -> Add New; start simple (i.e. if rez > 
0 0 -> ffmpeg & XVideo) and add new, fancier features one by one to see 
how they affect quality and performance; ...  It should also include 
some information that explains how Myth uses the profiles (see below in 
the description before the SQL for the gist of it).

Also, it should include a place to allow people to "share" their 
playback profile groups.  If nothing else, describing how users can post 
this information to their wiki user pages (possibly allowing them to 
link to their posted profiles from the page), but potentially just 
creating a table where users could post the information directly in the 
page.

I'm thinking something like:
Username | Comment
- Hostname | Playback Profile Name
  -- Entry 1
  -- Entry 2
- Hostname | Playback Profile Name
  -- Entry 1


Where entries contain the information from Priority through Filters 
(everything but Hostname and Playback Profile Name).  The whole thing 
would be a nice pretty table with cells in the Username/Hostname lines 
spanning multiple columns.  The comment can be used to describe the type 
of hardware, why the settings were chosen, etc.

I've attached both my playback profile (the /extremely simple/ one whose 
Hostname is labeled "frontend" and that's named "Custom-Simple" is the 
one I actually use--and is /very/ similar to the old MythTV 0.20 
configuration) and all of the default playback profiles that ship with 
MythTV (the ones whose Hostname is listed as "defaults").  At bottom is 
the SQL I used to get these.

If someone does create a page that allows users to post their playback 
profiles, let me know and I'll modify the SQL to create 
already-wiki-formatted output (I just need to see exactly what format is 
required for the wiki formatting).

Thanks,
Mike

Following is a nice SQL query that outputs a cross-tab view of the 
playback profiles.  For a given Hostname, the Playback Profile Name 
specified with the "Current Video Playback Profile" setting will be 
used.  The entry whose priority is 1 will be tried first.  If its 
criteria (Comparisons) does not match or it cannot be used (i.e. it's 
not supported on the hosts current hardware configuration, which 
includes the OS, video card, video drivers, and display), the entry 
whose priority is 2 will be tried, and so on.

To get the output in a nice file, you can use the MySQL "tee" command.  
I.e. issue the command "tee /tmp/PlaybackProfiles" in the mysql client 
before issuing the SQL below.  (You can use "notee" to turn off the 
logging.)

  SELECT dpg.hostname AS Hostname, dpg.name AS 'Playback Profile Name',
         MAX(IF(dp.value = 'pref_priority', dp.data, '')) AS 'Priority',
         MAX(IF(dp.value = 'pref_cmp0', dp.data, '')) AS 'Comparison (0)',
         MAX(IF(dp.value = 'pref_cmp1', dp.data, '')) AS 'Comparison (1)',
         MAX(IF(dp.value = 'pref_cmp2', dp.data, '')) AS 'Comparison (2)',
         MAX(IF(dp.value = 'pref_cmp3', dp.data, '')) AS 'Comparison (3)',
         MAX(IF(dp.value = 'pref_cmp4', dp.data, '')) AS 'Comparison (4)',
         MAX(IF(dp.value = 'pref_cmp4', dp.data, '')) AS 'Comparison (5)',
         MAX(IF(dp.value = 'pref_decoder', dp.data, '')) AS Decoder,
         MAX(IF(dp.value = 'pref_videorenderer', dp.data, ''))
             AS 'Video Renderer',
         MAX(IF(dp.value = 'pref_osdrenderer', dp.data, ''))
             AS 'OSD Renderer',
         MAX(IF(dp.value = 'pref_osdfade', dp.data, '')) AS 'OSD Fade',
         MAX(IF(dp.value = 'pref_deint0', dp.data, ''))
             AS 'Deinterlacer (0)',
         MAX(IF(dp.value = 'pref_deint1', dp.data, ''))
             AS 'Deinterlacer (1)',
         MAX(IF(dp.value = 'pref_filters', dp.data, '')) AS Filters
    FROM displayprofilegroups dpg, displayprofiles dp
   WHERE dpg.profilegroupid = dp.profilegroupid
GROUP BY dpg.profilegroupid, dp.profileid
ORDER BY dpg.profilegroupid, dp.profileid;
EOF

To get a file that's easier to read in a mail message, replace the final 
semicolon with "\G".  So, here is is, again, but this time in a form 
that can be called from the command line to store the output in a file 
(for easy copy/paste or attaching).

cat <<"EOF" | mysql -umythtv -p mythconverg > PlaybackProfiles
  SELECT dpg.hostname AS Hostname, dpg.name AS 'Playback Profile Name',
         MAX(IF(dp.value = 'pref_priority', dp.data, '')) AS 'Priority',
         MAX(IF(dp.value = 'pref_cmp0', dp.data, '')) AS 'Comparison (0)',
         MAX(IF(dp.value = 'pref_cmp1', dp.data, '')) AS 'Comparison (1)',
         MAX(IF(dp.value = 'pref_cmp2', dp.data, '')) AS 'Comparison (2)',
         MAX(IF(dp.value = 'pref_cmp3', dp.data, '')) AS 'Comparison (3)',
         MAX(IF(dp.value = 'pref_cmp4', dp.data, '')) AS 'Comparison (4)',
         MAX(IF(dp.value = 'pref_cmp4', dp.data, '')) AS 'Comparison (5)',
         MAX(IF(dp.value = 'pref_decoder', dp.data, '')) AS Decoder,
         MAX(IF(dp.value = 'pref_videorenderer', dp.data, ''))
             AS 'Video Renderer',
         MAX(IF(dp.value = 'pref_osdrenderer', dp.data, ''))
             AS 'OSD Renderer',
         MAX(IF(dp.value = 'pref_osdfade', dp.data, '')) AS 'OSD Fade',
         MAX(IF(dp.value = 'pref_deint0', dp.data, ''))
             AS 'Deinterlacer (0)',
         MAX(IF(dp.value = 'pref_deint1', dp.data, ''))
             AS 'Deinterlacer (1)',
         MAX(IF(dp.value = 'pref_filters', dp.data, '')) AS Filters
    FROM displayprofilegroups dpg, displayprofiles dp
   WHERE dpg.profilegroupid = dp.profilegroupid
GROUP BY dpg.profilegroupid, dp.profileid
ORDER BY dpg.profilegroupid, dp.profileid\G
EOF
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: PlaybackProfiles-VerticalOutput.txt
Url: http://mythtv.org/pipermail/mythtv-users/attachments/20080317/77a8ad4a/attachment.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: PlaybackProfiles
Url: http://mythtv.org/pipermail/mythtv-users/attachments/20080317/77a8ad4a/attachment.diff 


More information about the mythtv-users mailing list