Using XMLTV with EyeTV

I bought an Elgato EyeTV Hybrid a while back, and I was using the service to get my EPG(Electronic Program Guide) data.

This, however, and unfortunately, stopped updating for Belgian channels on the 1st of january. Shitty, since I use that data to have EyeTV automatically record stuff for me. I’ve contacted tvtv, no reaction sofar.

Since the EyeTV has no other built-in EPG data supplier that I can use, I looked for an XMLTV grabber for Belgium. The grabbers that existed unfortunately didn’t work anymore because they depend on the website, which no longer allows screenscrapers. Bummer.

Fortunately, thanks to the magical interwebs, I stumbled on mc2xml, a Media Center TV Listings to XMLTV convertor. It downloads media center, titantv, or schedules direct tv listings and outputs an XMLTV formatted xml file, which I can feed to EyeTV. And now I have my schedule info again! ;)

Bookmark the permalink.


  1. Thanks for the article. I got one big question: how do you update this XML file? Manually? If I write a script that updates XML file automatically, will this propagate into EyeTV directly or do I need to drag the file into EyeTV every time?

  2. No, I use a script that is launched every day at 8pm, via crontab. I’ve scheduled my mac to wake up at that time if it isn’t (normally the news is being recorded), and it automatically loads it into EyeTV.

    The script I use is:



    # Check if we have internet connection
    ping -q -c 1 -t 5 > /dev/null

    if [ $? -eq 0 ]; then
    # Get new shedule
    $MC2XML -F -c be

    # Reload EyeTV with the file
    open -a EyeTV $XMLTV

    The ‘open -a’ will cause EyeTV to load the XML File.

  3. Thanks. That’s just what I needed. I was just about to write a similar script myself, but this works just fine. Got any other EyeTV tips/tricks?

  4. Not really. I search as I need it ;)

  5. I was very surprised and pleased to find the mc2xml program – I had no idea it existed. Normally I have been working hard trying to the xml-tv grabbers working. But this is much easier – and a lot faster as well.

    Thanks for mentioning it.

  6. What is the oldest version of eyeTV this wil work with? I have had an eyeTV since 2005 and am running version 2.5.1

  7. I’m afraid you need atleast EyeTV 3.0.1 to be able to use XMLTV files.

  8. Jan, I need your help.

    Can you send me an example xml file to have a look ?
    I have created manually an xml / xmltv file for one channel and 2-3 programmes.
    I import succesfully at EyETV and map the channel to xml and the channel within the file.

    But still my guide is empty. Not used by any channel EyeTV says.

    Any ideas ?

  9. I’ve mailed you an xmltv file. Also, you need to manually map the channels in EyeTV, if you go to channels, you have to select XMLTV in the EPG dropdown box and select the correct channel.

  10. Hello Thank you for sharing this info if I can get this to work I am going to be very happy.

    Sorry for the noob question but I download mc2xml save it

    then in terminal I try to run it

    $MC2XML -c us -g 08540
    -bash: -c: command not found

    running osx 10.6.2

    any help would be appreciated

    thanks you

  11. $MC2XML is a variable which (should) point to the mc2xml binary. But in this case you can just use ./mc2xml instead of $MC2XML.

  12. Sweet got it man, actually overlooked the chmod 755 mc2xml (since I am using the -c and -g switches)

    working great

    thanks again

  13. ok I might have spoke too soon..mc2xmlis working great I can complete all the step manually and add the xmltv file to eyetv and map my listing to my providers clear qam channels.

    The issue is my coding skills

    since I am in the US I have to issue the command

    ./mc2xml -c us -g 08540
    it them prompts me to make a selection as to which listing I want to download .
    I have to choose Princeton Comcast (digital) # 25

    it then downloads the listing and then I can issue the command
    open -s EyeTV ~/Scripts/xmltv.xml

    The problem is I dont know how to code the part when it prompts you for a listing selection

    I would like to grep for “Princeton Comcast (Digital)” then take the # at the beginning of this line as the selection

    the rest is the same as your script.

    your help is greatly appreciated


  14. That is rather strange – mc2xml should only prompt you that once, and on successive updates just use what you entered before.

    I’ve updated my script in the meanwhile:


    cd `dirname $MC2XML`

    # Check if we have internets
    /sbin/ping -q -c 1 -t 5 > /dev/null

    if [ $? -eq 0 ]; then
    $MC2XML -F -c be -g 9030
    open -a EyeTV $XMLTV

  15. Interesting I have only attempted manually by deleting the download xml file so thats why it might be asking me I’ll run it again with the current files inplace and report back. BTW When you downlaod the listing does you Eyetv hang while importing. In my case a 7 days listing take about 1 -2 mins to import on a mac mini 2.26 core 2 duo

  16. Also what are you using as a remote? my intent is to make a DVR and media center from my mac mini on a Sony 46XBR9. The Apple remote is rather limited in terms of functionality. I have been reading that the ps3 bluetooth remote with remote buddy is an option. Any thoughts on that ?

  17. just an update…On attempts after the 1st download it does not ask for the listing selection it will remember so your script works for me as well

    thank you

  18. Same thing here. EyeTV will hang during the import, which is rather annoying. Takes around 2-3 mins on mine.

  19. I use the apple remote together with Sofa Control, and also using the remote that came with the EyeTV.

  20. Jan thank you for all your help and advice…. some additional tips,update, etc….

    remote buddy has native support for Eyetv and many other apps I got a 30 day trial and its working great. I have decided to purchase it as soon as the trial runs out. the two main apps I will use this for is Eyetv and Plex.
    And it will support a range of different remotes, planning on testing the ps3 bluetooth remote simply because the cause it low $20.

    regarding the hang issue while importing the xmltv file I have noticed that its much less as the size of the file decreases (which make sense ) so to decrease the xmltv.xml file size I have created a xmltv.chl file and listed (you can use ranges ) channels in the file so I only download channel 1-200 rather then 550 channels listing . this decreases the xmltv.xml file size from 128 meg to 49 meg ( for 14 days)

    The script I took and made a text file and put an extension of .command on it and made a ical event for every Sunday night to open a file ( choose the .command file and note to set you terminal app to close automatically) Also note if you add a “-a” and “-A” switch to your script it will mark all new/live shows with a “*”

    Have fun later

  21. I am struggling with this. can any help me with a script to download UK listings? I cannot get mc2xml to run.

  22. Hey Jan,
    Stupid me but I don’t seem to get your little script to run?
    I pasted the syntax in an apple script editor and tried to run it with the paths modified to my own setup.
    It just doesn’t seem to work.

    I really love to get this automatisation working.

    Thanks in advance,

  23. Actually, this is not an Applescript script. It’s a basic shell script, so you’d need to make it with TextEdit and save it as a plain text file (not rtf), then make it executable (rightclick -> properties, and there somewhere or go into a Terminal and type chmod +x .

  24. What error does it give? Anything specific?
    Did you make the binary executable (chmod +x mc2xml) and run it in a window?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.