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.
Features
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
Installation
Use the instructions below to install MythMobile.
- Download the latest version below
- Uncompress the archive
- 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)
- Ensure php-pecl-apc and php-gd is installed (yum install php-pecl-apc php-gd)
- Disable APC slam defense in /etc/php.d/apc.ini (Add “apc.slam_defense = Off” without quotes to the end of the file)
- Restart httpd (service httpd restart)
- If you wish to use covers and fan art, ensure those storage group folders are set up on the backend
- Edit modules/mobile/include/config.php
- 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.)
- $themecolor can be ignored, and configured from the mobile device Frontend.
- 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.
- Edit includes/config.php in the main mythweb directory and change any occurrence of “Cache_Null” to “Cache_APC”
- 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.
- Replace skins/mobile/img/background.jpg with an alternative background image if you wish.
- Visit the MythMobile URL (http://yourserver/mythweb/mobile)
- 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.
Download
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!
Change-log
v0.01
- Initial release
60 Responses to “MythMobile: MythTV for iPad/iPhone/iOS/Android/WP7”
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.
Hi,
This is pretty great! Do you accept patches?
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.
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.
@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.
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 }.
@Anonymous @JerkyChew: Ahhhh.. Updated, you will have to refresh the CSS file with a cache clear, though. Thanks for pointing that out!
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
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
@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?
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..?
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?
Thanks.
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
/var/www/html/mythweb/mythmobile.0.01/classes/
/var/www/html/mythweb/mythmobile.0.01/skins/
etc…
OR…
/var/www/html/mythweb/classes/
/var/www/html/mythweb/skins/
etc?
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.
LiveTV is also displaying channels which are marked as not visible
@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.
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
@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?
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: http://192.168.1.5/mythweb/mobile
Any suggetions?
Best wishes,
Blaine
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.
@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.
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?
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…
@benjamin
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 ~]#
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 205.143.191.12] Cache Didnt work, referer: http://moses.judahnet.net/mythweb/mobile”
Apache access logs show: “205.143.191.12 – - [30/Sep/2011:20:03:00 -0400] “GET /mythweb/mobile/do/moses.judahnet.net/PlayProgram/1069/1247342400?exit=1 HTTP/1.1″ 404 16 “http://moses.judahnet.net/mythweb/mobile” “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 ?
Forgot to add…
I tried turning off the cache in /etc/php.d/apc.ini
Running on RHEL 6.1 workstation if it matters.
I too have this in my Appache2 error log: Class ‘MythBase’ not found
Running 0-23-fixes (s25362)
What’s the latest development of this project?
Any updates?
Still an active project?
cheers
James
Great work. Thanks for this. Way to press cancel at any given point would be nice feature…
which license is this offered?
@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.
@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?
@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?
@Jerkychew: also need to apt-get install libpcre3-dev to build APC under Ubuntu maverick.
I’m getting about a 30 second delay on select video or recording or any other feature is there any way to fix this?
@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.
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 199.19.192.4] PHP Fatal error: Call to undefined function curl_init() in /var/www/mythweb/modules/mobile/image.php on line 18, referer: http://drosenthal.dyndns.info/mythweb/mobile
I’ve installed CURL as well just in case, but same error
Do you have a planning when we can expect streaming ?
@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.
@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.so
apc.enabled=0
apc.shm_segments=1
apc.shm_size=64M
apc.num_files_hint=1024
apc.user_entries_hint=4096
apc.ttl=7200
apc.use_request_time=1
apc.user_ttl=7200
apc.gc_ttl=3600
apc.cache_by_default=1
apc.filters
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.file_update_protection=2
apc.enable_cli=0
apc.max_file_size=1M
apc.stat=0
apc.stat_ctime=0
apc.canonicalize=0
apc.write_lock=1
apc.report_autofilter=0
apc.rfc1867=0
apc.rfc1867_prefix =upload_
apc.rfc1867_name=APC_UPLOAD_PROGRESS
apc.rfc1867_freq=0
apc.rfc1867_ttl=3600
apc.include_once_override=0
apc.lazy_classes=00
apc.lazy_functions=0
apc.coredump_unmap=0
apc.file_md5=0
apc.preload_path
apc.slam_defense=Off
although no errors produced in the logs though
Cannot get it to work on ubuntu 11.10.
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.
@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
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?
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.
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…
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
@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
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="”>
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
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.
/mythweb/mobile/do/undefined/TuneTo/1055
From what I understand its not getting the end of that file.
Any Ideas?
now im getting 404 416 errors with same files
I have upgraded APC to the latest version.
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
@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.
This is an awesome project but i was just wondering if it was still under development?
Is this project still in development or has it been abandoned?
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.
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.
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.