Difference between revisions of "Talk:MythTV on Mac x86"

From MythTV Official Wiki
Jump to: navigation, search
(Added response to tji on apparent slow scaling operation (YUV2RGB))
m (use ticket template)
 
(55 intermediate revisions by 18 users not shown)
Line 1: Line 1:
 +
{{Note box|This page is so terribly out of date that is should probably be archived or at least moved to a less prominent title. }}
 +
 +
 +
= Step by Step install instructions for MythTV on Mac x86 ==
 +
 +
I thought I would show my appreciation for all the work others have done putting MythTV and all its documentation found here.  I am completely new to the Mac, MythTV and PVR technology so my documentation provides the perfect Idiot's guide.<br><br>
 +
 +
<u><b>Prerequisites</b></u><br>
 +
"make" - a utility for creating (or making) a build from source code.  This can be obtained by installing "xCode" which is a set of developer tools which comes with your Mac.  In my case they were on DISC 2 of the OS in a folder called "optional installs".<br><br>
 +
 +
<u><b>Installation Instructions</b></u><br>
 +
1) Install of the above prerequisites<br>
 +
2) Copy the osx-packager.pl installer perl script to your Mac and place anywhere on your Mac - I put mine in the "Documents" folder.  NOTE: Perl comes pre-installed on Macs so no need to do a separate install for that.<br>
 +
3) Open a terminal window (Applications --> Utilities --> Terminal)<br>
 +
4) type "perl -w <path to your script>\osx-packager.pl" and hit enter.<br><br>
 +
 +
This is as far as I have gotten as the installed script blew up on me - once I figure it out I'll post updates to complete the instructions.<br>
 +
 +
== Page tidy-up ==
 +
 +
Isn't a lot of the information on this page redundant now, since 0.20 is out, and builds with additional patches?  I think I'll try a tidy up in a few hours, if I've the time.
 +
 +
(tji) Yes, you're right.  I cleaned up some of my stuff.
 +
 +
I've shifted a few of the sections around, and I was contemplating losing the 0.19 stuff altogether.  Is anyone going to be building the older versions of the code?  Particularly as there are some binaries that can be downloaded if you really need them.  Also it seems to me that sometimes there's useful information on the topic that's stuck in this discussion page, that should really be on the page itself.  What do people think? [[User:Bailey|Bailey]] 10:41, 29 September 2006 (UTC)
 +
 +
(tji)  I would recommend leaving the 0.19 stuff there.  A lot of people lag behind a version or two, and since 0.20 pretty much just works, there wouldn't be much info without the 0.19 stuff.    I moved the MMX section on the article down to the 0.19 section.  The 0.20 release now correctly recognizes the Core CPUs and sets the MMX flags correctly.  They also updated the MMX assembly, so the patch is not needed, and the MMX colorspace code was added late in the cycle.
 +
 +
== Plugin Support ==
 +
 +
How do you get plugins installed on this frontend?
 +
 +
(nigel) The osx-packager.pl script bundles up all the plugins that currently compile.
 +
 +
== Mac frontend status / development discussion ==
 +
 +
* Several people have reported problems displaying HD video on a very high resolution display, like a 1080p LCD panel.  I replicated this with my MacBook Pro, but the cause is not clear.  Is anyone else seeing this issue?
 +
 +
* Core Video - A patch to add Core Video video output has been submitted as {{ticket|2381}}  This may be able to take advantage of some of the more advanced GPU capabilities in the future.
 +
 +
== Apple Remote Support ==
 +
 +
Just wanted to check if there has been any progess on making the apple remote work? Would it be possibly to some how use a different remote with the built in IR port with LIRC or something?
 +
 +
UPDATE: This is now possible using [http://www.iospirit.com/index.php?mode=view&obj_type=infogroup&obj_id=24&o_infogroup_objcode=infogroup-23&sid=2511776G109f0f344b2a7075 Remote Buddy]
 +
 +
Note: Remote Buddy performance during playback is sluggish (~15 second delays).  Better results using "Single key press on button press" option, but still not as responsive as using the built-in support & apple remote
 +
 +
(kraney) I've created a patch that adds native support for the apple remote to mythfrontend. The patch and a more detailed description can be found in {{ticket|2017}}
 +
 +
(Bailey) The aforementioned patch made it into the 0.20 release, so the remote works out of the box.
 +
 
== Binary Packages? ==
 
== Binary Packages? ==
  
(Tux541) Well I've posted a working version of Myth Frontend v0.19-Fixes without MMX supportAnyone who wants to download it can find it here:
+
{|border="1"
 +
|File
 +
|Version
 +
|Options
 +
|Download link
 +
|-
 +
|1 (Tux541)
 +
|0.19-fixes
 +
|without MMX
 +
|[http://www.wipzradio.com/files/mythfrontend-0-19-fixes-x86-nommx.dmg www.wipzradio.com mythfrontend]
 +
|-
 +
|2 (tji)
 +
|0.19-fixes
 +
|With MMX
 +
|[http://www.wipzradio.com/files/MythFE_0.19fixes_mmx.tbz www.wipzradio.com MythFrontend-MMX]
 +
|-
 +
|3 (mmead)
 +
|0.19
 +
|With MMX
 +
|[http://www.goof.com/~mmead/Mythfrontend-0.19-intel-mmx.dmg.bz2 www.goof.com Mythfrontend-0.19-intel-mmx.dmg.bz2]
 +
|-
 +
|4 (mmead)
 +
|0.19-fixes
 +
|With MMX
 +
|[http://www.goof.com/~mmead/Mythfrontend-0.19-fixes-20060407-intel-mmx.dmg.bz2 www.goof.com Mythfrontend-0.19-fixes-20060407-intel-mmx.dmg.bz2]
 +
|-
 +
|5 (mmead)
 +
|0.19-fixes
 +
|With MMX and Apple Remote
 +
|[http://www.goof.com/~mmead/Mythfrontend-0.19-fixes-20060407-intel-mmx-remotepatch.dmg.bz2 www.goof.com Mythfrontend-0.19-fixes-20060407-intel-mmx-remotepatch.dmg.bz2]
 +
|}
  
[http://www.wipzradio.com/files/mythfrontend-0-19-fixes-x86-nommx.dmg  www.wipzradio.com mythfrontend]
+
== Performance ==
  
(Tux541) Here is the updated version of Myth Frontend v0.19-Fixes with MMX support from tji.
+
(tji) My 1.66GHz Core Duo Mini handles both 1080i and 720p material with plenty of CPU headroom left (65-80% CPU utilization of one core).  My display output resolution is 720p, and in this setup everything appears to work well, smooth video with deinterlacing, no obvious tearing or judder effects.    I had a lot of issues with HD playback on my Linux+Nvidia frontend box, and have found the Mini to have better playback quality.
  
[http://www.wipzradio.com/files/MythFE_0.19fixes_mmx.tbz www.wipzradio.com MythFrontend-MMX]
+
All Intel-based Macs should be at or above the speed of this Mini, so playback should be good - other than the below mentioned high resolution issues.
 +
The one exception to this is the short-live "Core Solo" Mini, with one core at 1.5GHz. Has anyone tried HD playback on one of these?  Please report your results.
  
(mmead) Thanks for the updated MMX instructions - I've gotten a (non fixes branch) 0.19 built with MMX at [http://www.goof.com/~mmead/Mythfrontend-0.19-intel-mmx.dmg.bz2 www.goof.com Mythfrontend-0.19-intel-mmx.dmg.bz2].  Using a Mac mini intel duo core 1.66Ghz, I see ~85% CPU use by mythfrontend when playing 1080i with bob deinterlacing over nfs and ~68% when playing 720p over nfs.
+
== High Resolution Playback Issues 1080i & 1080p ==
  
(mmead) [http://www.goof.com/~mmead/Mythfrontend-0.19-fixes-20060407-intel-mmx.dmg.bz2 www.goof.com Mythfrontend-0.19-fixes-20060407-intel-mmx.dmg.bz2]
+
(flaggz) It's a 1.66GHZ core due Mac Mini w/1GB RAM. The video hardware is the internal Intel GMA 950 that comes on the Mini. I only see the issue when my screen resolution is set to 1920x1080, which is weird because no scaling whatsoever should be required (it's 1080i material). I'm currently running at 1600x900 and the issue seems to be gone (performance is acceptable, but I haven't run shark to see if the YUV2RGB function drops out of the profile data at this res, yet). Obviously, I'd prefer to be at 1920x1080. tji and others, what resolution are you running on this hardware? Can you try 1920x1080 and see if you can reproduce what I reported above?
  
(tji) That's similar performance to what I'm seeing.. I got between 85-95% with 1080i filmed material, and 95-99% with 1080i sports video.  I think that's because of the field/frame rate of the source material.    With 720p, I also got around 70% cpu.
+
(nigel) The 1920x1080 material might actually be 1920x1088 or similar. They sometimes do that to make it divisible by 16 for the macroblocks or something.
  
In looking at the performance info via 'shark', the two biggest CPU users are the yuv420-2vuy colorspace conversion, and for 1080i, the deinterlacing.   The deinterlacing is already MMX acceleratedBut, the colorspace conversion is not.  If we can find/create mmx code to do that, we can probably save 5-10% more cpu time.
+
(justin) I see very choppy performance at 1080i with file 4 on a 1.66GHz Core Duo miniTurning off scale video as necessary results in much better performance, but standard def video becomes postage stamp sized.
  
(flaggz) I'm getting very choppy performance on a 1.66GHz core duo with the MMX enabled binaries linked below. This applies to both 1080i content, and scaled 480i content, which I found pretty strange. For comparison, the latest trunk builds of VLC play these same files perfectly over the network, so the machine is clearly capable.
+
(jesse) 1.66 Ghz core duo Mac Mini w/ 1GB RAM. 1080i LiveTV playback is perfect if I disable 'scale video as necessary', but if it is enabled WindowServer shoots to 30% CPU. The mini can handle the 30% cpu overhead for SD or 720p LiveTV, but the mini can't keep up the necessary frame rate for 1080i.  What's strange is that my display is native 1080p so no scaling should be necessary.  I'm using the 20070304 pre-built binary from http://padilla.net/mythtv-osx .
  
Interestingly, if I turn off 'Scale Video as Necessary' in TV Settings->Playback, then the problem goes away, at least for the 480i content. There is a corresponding impact to the profile information that Shark reports. The difference appears to be the YUV422_UC_ToRGB32BitColorBGRA QuickTimeComponents function, which is the primary consumer of cycles in everything except the '480i, do not scale video' case. Checking/unchecking the scale video setting has no effect on the performance of 1080i playback.
+
(acronce) I've struggled since December 2006 to get reasonable 1080i performance on a 1.66 Ghz Core Duo Mini with 512MB of RAM using the stock 0.20 MythFrontend. After messing around in the code I found what I think are scaling related bugs that caused dropped frames at 1080i. I worked around these problems by changing the code. If you're interested, that effort is chronicled here: http://mysettopbox.tv/phpBB2/viewtopic.php?p=84718#84718. Unfortunately even though my code hacks fixed the obvious dropped frames problem, I ultimately got frustrated with interlace and tearing artifacts. So now I've fallen back to 720p and the stock MythFrontend.
  
(tji) I don't see the YUV2RGB conversion at all on mine, that is done in hardware.   What kind of system is this?  Is it running an unaccelerated video driver?  Is it non-Apple hardware?
+
(tji) Another possibly related playback issue was discussed on the Myth Mailing list ( http://www.gossamer-threads.com/lists/mythtv/users/257971 ).  But, that issue seemed to be related to internal displays and a high default refresh rate used, 150Hz.
  
(flaggz) It's a 1.66GHZ core due Mac Mini w/1GB RAM. The video hardware is the internal Intel GMA 950 that comes on the Mini. I only see the issue when my screen resolution is set to 1920x1080, which is weird because no scaling whatsoever should be required (it's 1080i material). I'm currently running at 1600x900 and the issue seems to be gone (performance is acceptable, but I haven't run shark to see if the YUV2RGB function drops out of the profile data at this res, yet). Obviously, I'd prefer to be at 1920x1080. tji and others, what resolution are you running on this hardware? Can you try 1920x1080 and see if you can reproduce what I reported above?
+
(tji) I finally got access to a system with a high enough resolution display to duplicate the problem (1920x1200 display on an iMac).   I tested the 150Hz refresh rate thing, and that had no effect.   But, changing the 1080/1088 resolution recognition helped somewhat (more detail is available in the thread acronce references above).
  
== Build Status ==
+
(tji) A patch suggested by Mino on the mythtv-users list looks good in initial testing.  Anyone else that can test/confirm the fix would be helpful.  It gives a bit more tolerance in the non-square aspect ratio detection, to avoid the scaling issues.
  
(tji) My current status:
+
<pre>
*0.20 SVN non-MMX:
+
Index: videoout_quartz.cpp
Frontend runs, communicates with backend, and can view live TV. My Core Duo mini is not fast enough to display smooth HD 1080i with this build.
+
===================================================================
 +
--- videoout_quartz.cpp (revision 14063)
 +
+++ videoout_quartz.cpp (working copy)
 +
@@ -307,7 +307,7 @@
 +
                                .arg(name).arg(sw).arg(sh));
  
I must have a MySQL version imcompatibility. My FE/BE communications have some problems.. displaying the list of recorded shows fails. I can see the data being transferred, but it hangs requesting channel icons ( 2006-03-17 10:17:23.454 MSqlQuery: SELECT icon FROM channel WHERE chanid = '1020' ; ) It hangs, repeating that sql request every half second.  Anyone else seeing this?
+
    // scale for non-square pixels
 +
-    if (fabsf(aspect - (sw * 1.0 / sh)) > 0.01)
 +
+    if (fabsf(aspect - (sw * 1.0 / sh)) > 0.015)
 +
    {
 +
        if (parentData->scaleUpVideo)
 +
        {
 +
</pre>
  
(jpg)I had/have a similar problem [SELECT icon FROM channel]... it's not actually hanging for me, if you hit escape you will go back to the menu.  
+
(ted) My experiences lead me to believe the scaling is the issue.  I am running .20.2 on a 2 GHz iMac with a second 1920x1200 monitor. If I do not scale the output, 1080i streams play flawlessly. If I do scale, the image size changes (a couple of pixels taller) and playback becomes choppy. As I don't have the source (and am far more comfortable in Java than C), I can't say for sure that the code above fragment would fix it, but the concept seems on target.  Rather than checking if the stream is exactly the resolution of the output device, allow for a tolerance [(resolution-stream)/resolution > 0.02 to set a 2% tolerance] and only scale if outside that tolerance.
  
*0.20 SVN with MMX enabled:
+
== Build Status ==
Same as above, except 1080i HD displays smoothly, taking 85-95% of one CPU on a Core Duo Mini.
+
(JSP) osxpackager.pl is currently broken (When was this?  script works fine for me. 5/23/07)
 +
<ul><li>It tries to download libdecss, but it cannot.  You have to edit the script to get around this. (the library can be gotten from fink)</li>
 +
<li>The KDE install seems to be hard coded, I installed a KDE package for OSX, but it cannot find the headers</li>
 +
<li>The installer README should probably indicate that you need to install X and KDE before running the script</li>
 +
<li>From the messages, it looks like the backend build is disabled.  Can this be enabled and still use the script?</li>
 +
</ul>
 +
I haven't had much time to spend debugging this, but I wanted to pass along this info.
  
*0.19-fixes non-MMX:
+
(tji) My current status:
Builds cleanly.  Requires some of the older patches, since this branch wasn't updated with all the 0.20 fixesAll menus and program listings work fine.  Can play live video or select recorded.  Cannot play smooth HD video on Core Cuo Mini (needs MMX enhancements).
+
*0.20 Release:
 +
Builds without any need for modifications, using the osxpackager.pl script.   Performance is improved with the new mmx colorspace code, and the Apple remote works by default.
  
*0.19-fixes with-MMX:
+
Occasionally I do find that download links fail, as JSP mentioned above.  Either a version number is changed and the URL needs to be updated, or sometimes the host is not up or is no longer hosting the project.  These issues can be addressed by going to the project page and selecting a new mirror host.
Same as above, except MMX is working, and I'm getting video playback with less than 100% cpu.
 
  
== MySQL ==
+
== Front Row Integration ==
  
(Gaspode) Yes I have the same problem as (tji) - the Mac frontend communicates with the linux backend - and the linux backed responds - but the frontend does not seem to receive it.
+
(~kraney) You can get the music on your mythbackend to show up in iTunes and Front Row using [http://www.mt-daapd.org/ mt-daapd].
  
<br>(tji) Do you get complete failure of communication, or partial?  On mine, I can view Live TV, and navigate some menus, but viewing the recorded program list fails, and navigating into setup menus fail.
+
Macs also use DAAP to serve movies, but mt-daapd doesn't support that yet.
  
running "mythfrontend -v all" from the command line shows more debugging info. When I try to access the recorded programs menu, it just scrolls the same message "MSqlQuery: SELECT icon FROM channel WHERE chanid = '1020' ;"    I did a network sniff, and verified the communication is working, and the response appears to be okay, but the frontend doesn't accept it.
+
What would be nice is DAAP and DPAP support that get metadata from mythbackend or directly from mysql. It should be possible to get all of the myth music/gallery/video/tv content on the backend to show up directly in Front Row as 'shared' content.
  
I'm wondering if it's a version incompatibility between MySQL client libs and server..
+
Instructions for adding a "Front Row" menu item to myth are now on the [[Myth_on_Mac_x86]] page.
  
<br>(Tux541) I had the same problem with mine, but only once.  The very first time I tried to connect my frontend to my backend, after that it was fine.
+
(tji) How about the opposite of this, Adding a menu item to Front Row, to allow MythFrontend to be started?
  
<br>(TTT_Travis) I opened the app it showed the setup screen so I set it up and then when I open it it just hangs sorta, icon just bounces and bounces for like minutes then closes
+
(rjbrown99) Check the Firefly / mt-daapd page for an update - I believe the latest version and/or SVN tree now supports streaming video via DAAP.
  
<br>(Tux541) Try running it from a terminal.  That happened to me when it can't connect to your database.  If you run it from a terminal you will see it sits there trying to connect, then times out after 60 seconds, then tries again.  If so try rm -rf /Users/*username*/.mythtv. This will blow out your settings, then try it again.  This might be related to some of MySQL problems were seeing.  By the way...  What version of MythTV are running on the backend and what version of MySQL.
+
== iMac Leopard 10.5 Remote Control Support ==
  
<br>(Gaspode) Partial failure - Live tv works - menus work (except menus that trigger an sql query - (eg. setup, recorded programs)
+
The remote control doesn't work on Leopard. I've got it working fine on 10.4 but not on 10.5.
I used ethereal to sniff the network and the backend does respond to the front end. Also logged in to the backend mysql using the client on the frontend and verified that communication works.
 
  
I don't think it is a version problem (I have the same mysql version on the backend and the frontend) .It's either QT doing something strange to the data or the frontend itself.
+
I'm going to try recompiling the latest release on my iMac.
  
<br>(tji) Good info..  I'll try a newer version of QT, once I go back to messing with 0.20.  I used the '20060321' snapshot of 3.3.6 with MythTV 0.19-fixes, and it worked fine there.
+
== Elgato Turbo.264 Support ==
  
<br>(Gaspode) Sorry , I should clarify that - I think it's either QT doing something strange to the data, or it is something in the frontend code.
+
Has anyone evaluated the use of the [http://www.elgato.com/elgato/na/mainmenu/products/Accessories/Turbo264/product1.en.html Elgato Turbo.264 USB stick] with a Mac backend? This is a stick that has Mac drivers and takes uncompressed digital video and accelerates the encoding process to H.264 video. It does this via a QuickTime hook, so the encoder codec is available to any application that happens to call upon it. I have used it with the command-line with [http://www.omino.com/sw/qt_tools/ QT-Tools] and it works fine. It also works with the [http://perian.org Perian] open source video codecs to help transform the input media stream. What I am hoping to do is to leverage this as a CPU offloader for encoding saved videos/shows.

Latest revision as of 12:04, 15 July 2011

Important.png Note: This page is so terribly out of date that is should probably be archived or at least moved to a less prominent title.


Step by Step install instructions for MythTV on Mac x86 =

I thought I would show my appreciation for all the work others have done putting MythTV and all its documentation found here. I am completely new to the Mac, MythTV and PVR technology so my documentation provides the perfect Idiot's guide.

Prerequisites
"make" - a utility for creating (or making) a build from source code. This can be obtained by installing "xCode" which is a set of developer tools which comes with your Mac. In my case they were on DISC 2 of the OS in a folder called "optional installs".

Installation Instructions
1) Install of the above prerequisites
2) Copy the osx-packager.pl installer perl script to your Mac and place anywhere on your Mac - I put mine in the "Documents" folder. NOTE: Perl comes pre-installed on Macs so no need to do a separate install for that.
3) Open a terminal window (Applications --> Utilities --> Terminal)
4) type "perl -w <path to your script>\osx-packager.pl" and hit enter.

This is as far as I have gotten as the installed script blew up on me - once I figure it out I'll post updates to complete the instructions.

Page tidy-up

Isn't a lot of the information on this page redundant now, since 0.20 is out, and builds with additional patches? I think I'll try a tidy up in a few hours, if I've the time.

(tji) Yes, you're right. I cleaned up some of my stuff.

I've shifted a few of the sections around, and I was contemplating losing the 0.19 stuff altogether. Is anyone going to be building the older versions of the code? Particularly as there are some binaries that can be downloaded if you really need them. Also it seems to me that sometimes there's useful information on the topic that's stuck in this discussion page, that should really be on the page itself. What do people think? Bailey 10:41, 29 September 2006 (UTC)

(tji) I would recommend leaving the 0.19 stuff there. A lot of people lag behind a version or two, and since 0.20 pretty much just works, there wouldn't be much info without the 0.19 stuff. I moved the MMX section on the article down to the 0.19 section. The 0.20 release now correctly recognizes the Core CPUs and sets the MMX flags correctly. They also updated the MMX assembly, so the patch is not needed, and the MMX colorspace code was added late in the cycle.

Plugin Support

How do you get plugins installed on this frontend?

(nigel) The osx-packager.pl script bundles up all the plugins that currently compile.

Mac frontend status / development discussion

  • Several people have reported problems displaying HD video on a very high resolution display, like a 1080p LCD panel. I replicated this with my MacBook Pro, but the cause is not clear. Is anyone else seeing this issue?
  • Core Video - A patch to add Core Video video output has been submitted as #2381 This may be able to take advantage of some of the more advanced GPU capabilities in the future.

Apple Remote Support

Just wanted to check if there has been any progess on making the apple remote work? Would it be possibly to some how use a different remote with the built in IR port with LIRC or something?

UPDATE: This is now possible using Remote Buddy

Note: Remote Buddy performance during playback is sluggish (~15 second delays). Better results using "Single key press on button press" option, but still not as responsive as using the built-in support & apple remote

(kraney) I've created a patch that adds native support for the apple remote to mythfrontend. The patch and a more detailed description can be found in #2017

(Bailey) The aforementioned patch made it into the 0.20 release, so the remote works out of the box.

Binary Packages?

File Version Options Download link
1 (Tux541) 0.19-fixes without MMX www.wipzradio.com mythfrontend
2 (tji) 0.19-fixes With MMX www.wipzradio.com MythFrontend-MMX
3 (mmead) 0.19 With MMX www.goof.com Mythfrontend-0.19-intel-mmx.dmg.bz2
4 (mmead) 0.19-fixes With MMX www.goof.com Mythfrontend-0.19-fixes-20060407-intel-mmx.dmg.bz2
5 (mmead) 0.19-fixes With MMX and Apple Remote www.goof.com Mythfrontend-0.19-fixes-20060407-intel-mmx-remotepatch.dmg.bz2

Performance

(tji) My 1.66GHz Core Duo Mini handles both 1080i and 720p material with plenty of CPU headroom left (65-80% CPU utilization of one core). My display output resolution is 720p, and in this setup everything appears to work well, smooth video with deinterlacing, no obvious tearing or judder effects. I had a lot of issues with HD playback on my Linux+Nvidia frontend box, and have found the Mini to have better playback quality.

All Intel-based Macs should be at or above the speed of this Mini, so playback should be good - other than the below mentioned high resolution issues. The one exception to this is the short-live "Core Solo" Mini, with one core at 1.5GHz. Has anyone tried HD playback on one of these? Please report your results.

High Resolution Playback Issues 1080i & 1080p

(flaggz) It's a 1.66GHZ core due Mac Mini w/1GB RAM. The video hardware is the internal Intel GMA 950 that comes on the Mini. I only see the issue when my screen resolution is set to 1920x1080, which is weird because no scaling whatsoever should be required (it's 1080i material). I'm currently running at 1600x900 and the issue seems to be gone (performance is acceptable, but I haven't run shark to see if the YUV2RGB function drops out of the profile data at this res, yet). Obviously, I'd prefer to be at 1920x1080. tji and others, what resolution are you running on this hardware? Can you try 1920x1080 and see if you can reproduce what I reported above?

(nigel) The 1920x1080 material might actually be 1920x1088 or similar. They sometimes do that to make it divisible by 16 for the macroblocks or something.

(justin) I see very choppy performance at 1080i with file 4 on a 1.66GHz Core Duo mini. Turning off scale video as necessary results in much better performance, but standard def video becomes postage stamp sized.

(jesse) 1.66 Ghz core duo Mac Mini w/ 1GB RAM. 1080i LiveTV playback is perfect if I disable 'scale video as necessary', but if it is enabled WindowServer shoots to 30% CPU. The mini can handle the 30% cpu overhead for SD or 720p LiveTV, but the mini can't keep up the necessary frame rate for 1080i. What's strange is that my display is native 1080p so no scaling should be necessary. I'm using the 20070304 pre-built binary from http://padilla.net/mythtv-osx .

(acronce) I've struggled since December 2006 to get reasonable 1080i performance on a 1.66 Ghz Core Duo Mini with 512MB of RAM using the stock 0.20 MythFrontend. After messing around in the code I found what I think are scaling related bugs that caused dropped frames at 1080i. I worked around these problems by changing the code. If you're interested, that effort is chronicled here: http://mysettopbox.tv/phpBB2/viewtopic.php?p=84718#84718. Unfortunately even though my code hacks fixed the obvious dropped frames problem, I ultimately got frustrated with interlace and tearing artifacts. So now I've fallen back to 720p and the stock MythFrontend.

(tji) Another possibly related playback issue was discussed on the Myth Mailing list ( http://www.gossamer-threads.com/lists/mythtv/users/257971 ). But, that issue seemed to be related to internal displays and a high default refresh rate used, 150Hz.

(tji) I finally got access to a system with a high enough resolution display to duplicate the problem (1920x1200 display on an iMac). I tested the 150Hz refresh rate thing, and that had no effect. But, changing the 1080/1088 resolution recognition helped somewhat (more detail is available in the thread acronce references above).

(tji) A patch suggested by Mino on the mythtv-users list looks good in initial testing. Anyone else that can test/confirm the fix would be helpful. It gives a bit more tolerance in the non-square aspect ratio detection, to avoid the scaling issues.

Index: videoout_quartz.cpp
===================================================================
--- videoout_quartz.cpp (revision 14063)
+++ videoout_quartz.cpp (working copy)
@@ -307,7 +307,7 @@
                                 .arg(name).arg(sw).arg(sh));

     // scale for non-square pixels
-    if (fabsf(aspect - (sw * 1.0 / sh)) > 0.01)
+    if (fabsf(aspect - (sw * 1.0 / sh)) > 0.015)
     {
         if (parentData->scaleUpVideo)
         {

(ted) My experiences lead me to believe the scaling is the issue. I am running .20.2 on a 2 GHz iMac with a second 1920x1200 monitor. If I do not scale the output, 1080i streams play flawlessly. If I do scale, the image size changes (a couple of pixels taller) and playback becomes choppy. As I don't have the source (and am far more comfortable in Java than C), I can't say for sure that the code above fragment would fix it, but the concept seems on target. Rather than checking if the stream is exactly the resolution of the output device, allow for a tolerance [(resolution-stream)/resolution > 0.02 to set a 2% tolerance] and only scale if outside that tolerance.

Build Status

(JSP) osxpackager.pl is currently broken (When was this? script works fine for me. 5/23/07)

  • It tries to download libdecss, but it cannot. You have to edit the script to get around this. (the library can be gotten from fink)
  • The KDE install seems to be hard coded, I installed a KDE package for OSX, but it cannot find the headers
  • The installer README should probably indicate that you need to install X and KDE before running the script
  • From the messages, it looks like the backend build is disabled. Can this be enabled and still use the script?

I haven't had much time to spend debugging this, but I wanted to pass along this info.

(tji) My current status:

  • 0.20 Release:

Builds without any need for modifications, using the osxpackager.pl script. Performance is improved with the new mmx colorspace code, and the Apple remote works by default.

Occasionally I do find that download links fail, as JSP mentioned above. Either a version number is changed and the URL needs to be updated, or sometimes the host is not up or is no longer hosting the project. These issues can be addressed by going to the project page and selecting a new mirror host.

Front Row Integration

(~kraney) You can get the music on your mythbackend to show up in iTunes and Front Row using mt-daapd.

Macs also use DAAP to serve movies, but mt-daapd doesn't support that yet.

What would be nice is DAAP and DPAP support that get metadata from mythbackend or directly from mysql. It should be possible to get all of the myth music/gallery/video/tv content on the backend to show up directly in Front Row as 'shared' content.

Instructions for adding a "Front Row" menu item to myth are now on the Myth_on_Mac_x86 page.

(tji) How about the opposite of this, Adding a menu item to Front Row, to allow MythFrontend to be started?

(rjbrown99) Check the Firefly / mt-daapd page for an update - I believe the latest version and/or SVN tree now supports streaming video via DAAP.

iMac Leopard 10.5 Remote Control Support

The remote control doesn't work on Leopard. I've got it working fine on 10.4 but not on 10.5.

I'm going to try recompiling the latest release on my iMac.

Elgato Turbo.264 Support

Has anyone evaluated the use of the Elgato Turbo.264 USB stick with a Mac backend? This is a stick that has Mac drivers and takes uncompressed digital video and accelerates the encoding process to H.264 video. It does this via a QuickTime hook, so the encoder codec is available to any application that happens to call upon it. I have used it with the command-line with QT-Tools and it works fine. It also works with the Perian open source video codecs to help transform the input media stream. What I am hoping to do is to leverage this as a CPU offloader for encoding saved videos/shows.