MythMobile: MythTV for iPad/iPhone/iOS/Android/WP7

MythMobile is a MythWeb plugin that turns your iPad, iPhone, Android, or Windows Phone 7 device into the most advanced remote control for the Linux based open source MythTV DVR system.


The following features are supported in MythMobile.

  • Portrait and Landscape support
  • WebApp install-able (SpringBoard icon) for iOS
  • View information on all recorded shows including watched/un-watched
  • Browse MythVideo via the cover browser
  • Filter videos on watched/un-watched
  • Select a Frontend and play selected videos on it from the mobile device
  • Remote control a playing instance
  • Quick-jump to plugin screens, such as ZoneMinder or Games
  • Colors configurable to match your Frontend
  • AJAX, caching and custom libraries for a fast, app-like feel

Future Development

The following features are under development for future versions.

  • Fix for iPad 2 cover display bug (Movie covers don’t line up correctly causing side scrolling)
  • WebApp Caching for iPad/iPhone to increase speed of cover loading
  • Streaming support for viewing MythTV videos on the mobile device (full Frontend support)
  • Moving all configurations in config.php into the device settings screen
  • Direct integration with MythWeb so it’s installed when you install MythTV
  • Updates to MythFrontend to fix issues with myth://Video@ urls with
    bookmarks that crash after start (currently to launch a video from the
    client, you have to have access to the videos via SMB or NFS on the same
    folder as the storage group to get around this)
  • Updates to MythFrontend to enable external command calls, such as starting
    Hulu Desktop


Use the instructions below to install MythMobile.

  1. Download the latest version below
  2. Uncompress the archive
  3. Copy the files into the root of your MythWeb folder, overwriting any that are there (/var/www/html/mythweb). (NOTE: Copy, don’t move the files. Moving the directories will overwrite directory structure and you will lose files)
  4. Ensure php-pecl-apc and php-gd is installed (yum install php-pecl-apc php-gd)
  5. Disable APC slam defense in /etc/php.d/apc.ini (Add “apc.slam_defense = Off” without quotes to the end of the file)
  6. Restart httpd (service httpd restart)
  7. If you wish to use covers and fan art, ensure those storage group folders are set up on the backend
  8. Edit modules/mobile/include/config.php
    1. Set $mythvideodir to the root folder for where your mythvideo files are located. (To play videos from MythVideo, files must be accessible via the same folder name on every Frontend (using SMB and/or symlinks). This is required due to a bug in MythFrontend with myth:// URLs described above under Future Development.)
    2. $themecolor can be ignored, and configured from the mobile device Frontend.
    3. By default, all Frontends with Remote Control enabled will be listed. If you would like to limit this list, created $allowedFrontends records as demonstrated in the config file.
  9. Edit includes/config.php in the main mythweb directory and change any occurrence of “Cache_Null” to “Cache_APC”
  10. If you wish to extend the cache time to keep from loosing active frontends every 10 minutes, edit classes/Cache.php and change occurrences of 600 to 9000.
  11. Replace skins/mobile/img/background.jpg with an alternative background image if you wish.
  12. Visit the MythMobile URL (http://yourserver/mythweb/mobile)
  13. If on the iPad, bookmark and pin to Springboard to use full-screen. If you do not do this, certain functions may not work properly due to scaling.


Please do not distribute MythMobile outside of this site.  Directing links here will ensure the latest version of MythMobile is always in circulation.

Download the latest version: mythmobile.0.01.tar.gz

Remember to check out the rest of the site!



  • Initial release
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

60 Responses to “MythMobile: MythTV for iPad/iPhone/iOS/Android/WP7”

Richard says:

Looks like a really good start!.

One problem I have on my android phone is that I have a fairly large video collection so it would be very useful if I could browse by folder since scrolling though everything on my phone is a exercise in futility.

Doug says:


This is pretty great! Do you accept patches?

JerkyChew says:

It took some work to get this working under Ubuntu. I can’t read the grey-on-white here in the comment box so I’ll shoot you an email with what I did.

Anthony says:

I agree with Richard, this is a really good start but a few things aren’t working like cover art and also there is no side scrolling when viewing videos on an iphone. I’d also like to see a youtube integrated search and option to send it to a frontend.
Also a better bug tracking system for tracking and reporting bugs and being able to contribute code.

Benjamin Curtis says:

@Richard: I will add category filters in soon.
@Doug: Not at this point, as I’m going to try to get it integrated into Myth SVN, at which point anyone can contribute.
@JerkyChew: Grey on white? The comments are black text?
@Anthony: Thanks. What’s going on with the cover art? And I agree, the non-iPad skins are in their infancy. I was going to open a Google Code project for tracking, but decided since I’m going to try to push it into Myth SVN it wasn’t worth it right now.

Anonymous says:

I think @JerkyChew is referring to the box where you type comments before submitting them. The text I’m typing right now is a light grey color, against a white background. I can still read it, but I will admit it’s not as easy as it could be.

If you have any control over the CSS properties, it’s .commentinput { color }.

Benjamin Curtis says:

@Anonymous @JerkyChew: Ahhhh.. Updated, you will have to refresh the CSS file with a cache clear, though. Thanks for pointing that out!

JerkyChew says:

Yes, much better, thank you! Here’s what I did to get it working in Ubuntu – I have no idea if I did it correctly or not, as I was furiously googling and randomly installing / modifying things:

1) The www directory was in /var/www/
2) I installed the php pieces with sudo apt-get and installed php-apc php-pear php5-fpm php5-dev
3) I installed apc by running sudo pecl install apc
4) The apc.ini file is located in /etc/php5/conf.d
5) I restarted httpd with sudo /etc/init.d/apache2 restart

lem says:

I am not able to use mythmobile to change the tv channel playing in the mythfrontend. Should this be possible?
Big thanks to JerkyChew for your additional instructions, faxed some other problems aswell, but atleast now have it up and running

Benjamin Curtis says:

@lem: Changing channels should work fine by selecting the show on the LiveTV tab. Is a recorder available to watch the show? Are you able to change channels using the standard mythweb controls?

Lem says:

Nice with a super-fast reply Benjamin. I was able to change the channel from mythweb, but it was tricky, had to schedule a recording for it to switch channels, but this worked only once, trying to switch a second time just doesn’t work. I am not sure I’m using myth web right. Mythweb says I have two recorders available, and no recordings going on, still I cannot change channels from mythmobile. Don’t know where to start debugging..?

lem says:

I took a look at the error.log in apache2 and found this entry when I press a tv channel in live tv tab (in mythmobile):

[error] PHP Fatal error: Class ‘MythBase’ not found in /usr/share/mythtv/mythweb/classes/MythFrontend.php on line 18

Do you know what the root cause is?


edboy says:

This looks great, but I’m not sure about the installation instructions. If mythweb is currently installed in /var/www/html/mythweb/, after copying the files should I end up with

edboy says:

I think I have it installed now. I can see listings of TV recordings and videos on my Android, so I think I must have. Is it supposed to support playing TV recordings and videos yet? When I click Play on either I get no response.

Anthony says:

LiveTV is also displaying channels which are marked as not visible

Benjamin Curtis says:

@Lem: What version of MythTV are you running? And are you switching channels from the LiveTV screen, or using the controls while watching TV?
@edboy: After your “OR” is correct. In settings, you have to select a frontend (the frontend must have remote control enabled). Pressing Play will play on that frontend. Local playback on the device is coming in a future version
@Anthony: Thanks, I’ll add that to the list.

Markus says:

getting only
“An unknown module was specified”
in mythweb , regardless where i copy the mythmobile plugin into the /var/www/html/mythweb folders.
I am using FC15
some ideas how to troubleshoot ?

regards Markus

Benjamin Curtis says:

@Markus: Do you have a /var/www/html/mythweb/modules/mobile directory? If so, do the permissions on it and all the other files look OK?

Blaine says:

This is a huge improvement in my myth setup, thanks so much for doing it! Thanks to JerkyChew’s Ubuntu hints I got it installed on the first try and the reminder to enable Remote control in the frontend setup helped me solve the first problem of no frontends showing on the setup screen, but like edboy I get no response. The apache log says:
Cache Didnt work, referer:

Any suggetions?
Best wishes,

Blaine says:

P.S. I meant to say I get no response on the frontend or the client when I press the Play button for a recording.

Benjamin Curtis says:

@Blaine: I had that error once, and for the life of me I can’t remember what fixed it. I know it was related to APC cache. Try disabling the cache to see if the controls actually work. And try playing through mythweb to see if it is mythmobile specific or across the board. If across the board it could be a firewall issue perhaps.

Blaine says:

OK, I forgot to check that mythweb could play also! It showed no frontends listed after “Play Recording on Frontend:”. After a brief search I found that I needed to put the frontend IP address in /etc/hosts then the frontend showed up in mythweb and both mythweb and mythmobile could play recordings. However, neither interface lets me remote control the playing instance: pressing the Play button plays the recording on the frontend but nothing happens on the mythweb/mythmobile interface. Was this the APC cache issue you were thinking of? If so, were you suggesting disabling it by setting apc.cache_by_default to zero in php.ini?

Andre says:

Great idea and a great start, some problems here though.

Fails to find videos when playing back if you have more than one videos storage group directory, works if I delete the extra storage dir.
Doesn’t seem to honour covers and fanart storage directories, they work in mythweb & frontend, maybe because they are external to the videos directory, on ssd.
$mythvideodir seems to be ignored.

Or maybe I’ve missed something…

Markus says:

i would say , yes ! the Files look ls -l /var/www/html/mythweb/modules/mobile/
total 96
-rw-r–r– 1 apache apache 1066 Sep 26 22:58 delete-recording.php
-rw-r–r– 1 apache apache 2181 Sep 26 22:58 do.php
-rw-r–r– 1 apache apache 7534 Sep 26 22:58 get-controls.php
-rw-r–r– 1 apache apache 4456 Sep 26 22:58 get-data.php
-rw-r–r– 1 apache apache 2267 Sep 26 22:58 get-recording-details.php
-rw-r–r– 1 apache apache 3745 Sep 26 22:58 get-video-details.php
-rw-r–r– 1 apache apache 9313 Sep 26 22:58 get-videos.php
-rw-r–r– 1 apache apache 173 Sep 26 22:58 handler.php
-rw-r–r– 1 apache apache 1340 Sep 26 22:58 image-bg.php
-rw-r–r– 1 apache apache 1828 Sep 26 22:58 image.php
drwxr-xr-x 2 apache apache 4096 Sep 26 21:20 include
-rw-r–r– 1 apache apache 223 Sep 26 22:58 index.php
-rw-r–r– 1 apache apache 908 Sep 26 22:58 init.php
-rw-r–r– 1 apache apache 9279 Sep 26 22:58 ipad.php
-rw-r–r– 1 apache apache 8274 Sep 26 22:58 ipod.php
-rw-r–r– 1 apache apache 99 Sep 26 22:58 query-db.php
[root@server ~]#

Jim H says:

Blaine/Anyone, have you figured this out ?

I am accessing via an iPAD-2, I can see listings, recordings, videos etc however I can not get anything to play, it does nothing when I hit play…

Apache error log shows: “[error] [client] Cache Didnt work, referer:

Apache access logs show: “ – - [30/Sep/2011:20:03:00 -0400] “GET /mythweb/mobile/do/ HTTP/1.1″ 404 16 “” “Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5″”

Nothing in the mythbackend logs…

And yes, I can stream all day via mythweb to either my Linux or MicroSoft machines….

Am I missing something ?

Any suggestions ?

Jim H says:

Forgot to add…

I tried turning off the cache in /etc/php.d/apc.ini

Running on RHEL 6.1 workstation if it matters.

Franz says:

I too have this in my Appache2 error log: Class ‘MythBase’ not found

Running 0-23-fixes (s25362)

James Mills says:

What’s the latest development of this project?
Any updates?
Still an active project?


Viltsu says:

Great work. Thanks for this. Way to press cancel at any given point would be nice feature…

Mr.Gosh says:

which license is this offered?

Benjamin Curtis says:

@Blaine: I’m really not sure why controls wouldn’t work if playing does. You could try telnetting into the remote control port and running the commands manually (It’s actually pretty simple, no authentication, and type “help” once you’ree in).
@Andre: I will look into the storage group issue. Is there anything on the fanart/coverart in the logs I could use for debug?
@Markus: Nothing showing up in the httpd logs? Seems like some form of PHP error is firing, but you should see something in the logs.
@Jim H: This version acts as a remote control for a frontend. Playing will not “stream” to the iPad, but rather start playing on the selected frontend (in settings). Look up MythTV’s remote control functionality to see what I’m describing. Streaming will be available in a future version.
@Franz: Does this error happen at load, or happen when you visit a particular screen?
@James Mills: Still active, but work has kept me busy.
@Vitsu: If you go to the controls screen, either “Back” will basically hit Escape.

Blaine says:

@Benjamin: it’s not that the controls don’t work: they don’t appear. Hitting the play button does cause it to start but the mythmobile screen just stays the same as if the play button hasn’t been pushed, even though the frontend is playing. Any debugging suggestions?

Benjamin Curtis says:

@Blaine: Sorry if I’m asking basic questions, just trying to get a clear picture. After you hit play, and it starts playing on the frontend, and you hit the “Controls” square on the iPad, is the entire screen blank, or just the center area?

Greg Newton says:

@Jerkychew: also need to apt-get install libpcre3-dev to build APC under Ubuntu maverick.

Anthony says:

I’m getting about a 30 second delay on select video or recording or any other feature is there any way to fix this?

Benjamin Curtis says:

@Anthony: This is usually because caching is not working (this is probably happening if you use MythWeb to play a video, too). Make sure you’ve got APC configured correctly and nothing is showing in the error logs.

David says:

Works great so far, except for artwork. Artwork shows up in mythweb, but not in mythmobile. Apache logs show [Thu Nov 03 10:49:34 2011] [error] [client] PHP Fatal error: Call to undefined function curl_init() in /var/www/mythweb/modules/mobile/image.php on line 18, referer:

I’ve installed CURL as well just in case, but same error

Lammert says:

Do you have a planning when we can expect streaming ?

Benjamin Curtis says:

@David: Hmm, this really sounds like something wrong with CURL. Does php_info show it? What version of PHP are you running?
@Lammert: Unfortunately I just moved to a new state for work. I’ve had VERY little time for anything outside of work and the move, but I’ll try to get focused on it again soon.

Anthony says:

@Benjamin Curtis: Seeing the same results as Jim H even with apc disabled seeing the same results on Mythdora 12 aka Fedora 12 ie. apc.enabled=0

complete apc config below
extension =
apc.rfc1867_prefix =upload_

Anthony says:

although no errors produced in the logs though

chrism46220 says:

Cannot get it to work on ubuntu 11.10.

Benjamin Curtis says:

For those of you with problems, do you have the MythWeb site password protected with an htaccess file? If so, try turning that off and let me know if it works.

Benjamin Curtis says:

@Blain @Jim H: I figured out the Cache didnt work message. Edit mythweb/includes/config,php, and change the two occurances of Cache_Null to Cache_APC

Anthony says:

No I dont have htaccess password protection and I can confirm I do get the same issue with the mythweb Remote.

Anything else that would cause this?

Iwan says:

Is this project still active? I was really hoping to see it working with myth 0.25, but after installing it seems that most of the functionality is broken? This really would have been a nice addition to myth.

Rob says:

What is the status of this project? I would like to see it progress. The last status indicated that the project would likely move to the MythTV site, but I don’t see it there yet. Looks awesome, but I use the UPnP devices and don’t have any front ends.
Obviously, i would like to see the playback added… :-)

EM says:

looking forward to getting this work, but the cache issue keeps popping up each time i try to access a recording or live tv. the Cache_APC fix stated above did not solve the issue

dj_who says:

@chrism46220: On ubuntu 11.10 everything is working after instalation steps but before that You must install additional packages:
sudo apt-get install php5-gd
sudo apt-get install php-apc
sudo apt-get install php5-curl

dj_who says:

To fix images for recordings:
change “tvserver” to “your_server_name”
in In /mythweb/modules/mobile/get-recording-details.php:
<img src="”>
or an universal solution:
<img src="”>

dj_who says:

To fix images for recordings:
change “tvserver” to “your_server_name” or to “”.$_SERVER['SERVER_NAME'].”" (better and universal solution)
in In /mythweb/modules/mobile/get-recording-details.php

Lyndon says:

So who here is on mythbuntu?

I just checked my access logs.

I’m having same issue with no channels getting changed.

access logs say its 404 416 everytime I click a channel.

From what I understand its not getting the end of that file.

Any Ideas?

Lyndon says:

now im getting 404 416 errors with same files

I have upgraded APC to the latest version.

Lyndon says:

Got it working ahhh I didn’t realize the web interface had settings.

Maybe implement a first time user page to select the frontend with out having to go into settings :)

Marsandi Mardjoeki says:

@David @Benjamin: You could install php5-curl. Please know that curl is different with php5-curl.

@Benjamin: Cover art doesn’t show up if using ports other than 80. I think image.php doesn’t recognize the ‘:’ behind root_url that denote ports. Successfully show cover art after reverting to port 80.

Brandon says:

This is an awesome project but i was just wondering if it was still under development?

Stan Campbell says:

Is this project still in development or has it been abandoned?

Benjamin Curtis says:

Hi, I haven’t done any development on this in a while, but I also haven’t heard any issues with the application for the latest versions of MythTV. I would happily hand this over to a Myth developer to integrate directly into Myth.

rafe says:

Hey, not sure if anyone is keeping up with this. I just tried installing this and not getting coverart.

I see that I may have to change the port to 80. I have no idea what is set at right now or where to change that.

Any help is greatly appreciated.

Brett says:

I just tried this with .27 and it doesn’t seem to work. I can browse through my videos and the frontend is recognize as available, but when I try to play a video, nothing happens.

Following the hottest hardware and software for today's digital junkie.

Off the wall articles and interviews from the technology sector.

The latest happenings in the technology industry.

Techviews Random Bits News Tools

Help us out, become a fan!

We provide tools such as the Registry Changer and MythMediaMonitor along with current news and reviews free of charge to our audience. To help keep us going, please take a brief moment to follow us on any of the networks you have an account on.

We've detected an Ad-Blocker

It appears as though you are using an ad blocking program. Sites like are only able to provide content for free with support from our sponsors.

Please consider disabling your ad blocking program on our site. Thank you.