XMLTV
eXtensible Markup Language for TeleVision (commonly abbreviated as XMLTV) is an emerging open source data markup standard for describing the contents of TV Program Listings. It has gained a reputation as the defacto markup language for modeling TV Listings, Live programming and TV viewing histories which commonly feed into or are the product of EPGs Programme Listing grids. XMLTV allows developers to repurpose a viewer's TV scheduling information (TV line-up) and perform additional features such as sending reminder notifications, providing previews or "in case you missed it" updates and playbacks, linking to the official website of a given TV show (called a programme in XMLTV), and more, on data that is traditional only displayed in a flat and boring, mostly non user-friendly list or grid format.
Contents
Service
- SchedulesDirect - DataDirect (DD) XMLTV Web Service: http://forums.schedulesdirect.org/viewtopic.php?f=3&t=2614 | WSDL | [http://dd.schedulesdirect.org/schedulesdirect/tvlistings/xtvdService WEB SERVICE} (REPLACES TMS)
- Tribune Media Services (TMS): http://www.tribunemediaservices.com/products-and-services/television/ | TMS SOAP Web Service - WSDL (formerly powered SchedulesDirect, now simply redirects to it)[1]
- SchedulesDirect - Offical Documentation and Sample Programs (for TMS Web Service): http://forums.schedulesdirect.org/viewtopic.php?f=8&t=568
Structure
To summarize the structure, XMLTV looks like the following:
tv | |- channel | | | - display-name | |- programme | | | |- title | | | |- desc | | | |- credits | | | | | |- actor | | ... | | | |- episode-num | | | | | ... | |- date | | | |- country | | | |- video | | | |- star-rating | | | | | ... | | | |- rating | | | | | ... | ...
Examples
- Generic EPG (prime-time): http://bcmoney-mobiletv.com/epg/
- UK -- XMLTV EPG: http://www.xmltv.co.uk/ | FEEDS | VIEWER
- Personalized (day-by-day) with iCal reminders: http://bcmoney-mobiletv.com/epg/xsltv/tv.php
XML
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tv SYSTEM "xmltv.dtd"> <tv generator-info-name="BCmoney MobileTV EPG"> <channel id="das-erste.de"> <icon src=""/> <url/> <display-name lang="en">ARD</display-name> <display-name lang="de">Das Erste</display-name> </channel> ... <programme channel="3sat.de" start="200006031633" end="200006042798"> <title/> <sub-title/> <desc> Blah Blah Blah. </desc> <desc lang="ar"> Dirka Dirka Dirka. </desc> <credits> <actor>a</actor> <actor>b</actor> ... <writer/> ... <director>blah</director> ... <adapter/> ... <producer/> ... <presenter/> ... <commentator/> ... <guest/> ... </credits> <category/> <language/> <orig-language/> <length units=""/> <icon src=""/> <url/> <date>19901011</date> <country>ES</country> <episode-num system="xmltv_ns">2 . 9 . 0/1</episode-num> <video> <present/> <colour/> <aspect>16:9</aspect> <quality/> </video> <audio> <present/> <stereo/> </audio> <previously-shown/> <premiere/> <last-chance/> <new/> <subtitles> <language/> </subtitles> <rating system="MPAA"> <value>PG</value> <icon src="pg_symbol.png" /> </rating> <star-rating> <value>3/3</value> <icon src=""/> </star-rating> </programme> ... </tv>
Generated from the official XMLTV DTD. A (possibly slightly out of date) mirror is available at: http://bcmoney-mobiletv.com/epg/xsltv/xmltv.dtd[2]
JSON
{ "jsontv" : { "programme" : [ { "credits" : { "actor" : [ "Michael J Reynolds", "Shauna Macdonald", "Jessika Williams" ], "director" : [ "Jon Harris" ] }, "video" : { "aspect" : "4:3" }, "stop" : "1300069800", "date" : "2009", "channel" : "action.canalplus.se", "desc" : { "sv" : "N\u00e4r Sarah kommer ut ur det outforskade grottsystemet \u00e4r hon nedblodad och skr\u00e4ckslagen men minns inget av den mardr\u00f6m hon varit med om. Hennes v\u00e4nner har \u00e4nnu inte \u00e5terfunnits och f\u00f6r att ha st\u00f6rre chans att hitta dem tvingar man Sarah tillbaka ner i grottorna f\u00f6r att guida r\u00e4ddningsexpeditionen." }, "title" : { "sv" : "Inst\u00e4ngd 2" }, "category" : { "en" : [ "movie", "Movies" ] }, "start" : "1300064400" } ] } }
Tools
- TV-Browser -- EPG: http://www.tvbrowser.org/ (PC, Desktop app)
- XMLTV GUI: http://www.birtles.org.uk/xmltv/
- WebGrab+: http://webgrabplus.com/http://webgrabplus.com/
- NextPVR - XMLTV grabber: http://www.gbpvr.com/nwiki/pmwiki.php?n=Configuration.XMLTVEPG
- TvProfil XMLTV service: http://tvprofil.net/xmltv/
- EPG Collector: http://sourceforge.net/projects/epgcollector/
- jQuery XMLTV: http://plugins.jquery.com/project/xmltv
- XSLTV - Easiest XMLTV EPG Grid ever: http://www.ericandchar.com/xsltvgrid/
- Windows Replay Network Server (wiRNS): http://wirns.com/ (acts as a customizable proxy server for ReplayTV)
- xmltv-druid: http://gshowtv.sourceforge.net/xmltv-druid.html
- XMLTV Producer for PHP (Czech & Slovak listings): http://sourceforge.net/projects/xmltvproducer/
- PHP XMLTV (Italian listings): http://sourceforge.net/projects/phpxmltv/
- php xmltv grabber (Australian listings): http://magnetikonline.com/phpxmltv/[4]
- PHxmltvParser: http://www.bia-it.de/phxp/index.php?key=keyPhxp
iCalendar
- iCalTV -- iCal reminders for favorite TV shows through XMLTV: http://henrik.nyh.se/2006/07/icaltv-ical-reminders-for-favorite-tv-shows-through-xmltv
- xmltv2ical -- Converts xmltv tv guides into icalendar format: http://code.google.com/p/xmltv2ical/
- Saving shows in ICalendar: http://wiki.xmltv.org/index.php/ICalendar
iPhone
- What's On - iPhone Zap2it app: http://www.zap2it.com/services/site/zap-whats-on-iphone-app,0,7146090.htmlstory
- iPhone App: XMLTvGuide: http://macmost.com/iphoneapps/iphone_app_xmltvguide_299100239.html
- TvGuide (xmlTvGuide) Application Details: http://www.creaxiom.com/index.php?pages/TvGuide-Application-Details
- XMLTvGuide: http://www.hawkee.com/apps/5736182/
Resources
- XMLTV wiki: http://xmltv.org
- XMLTV project: http://sourceforge.net/projects/xmltv
- WebVCR: http://webscripts.softpedia.com/script/Multimedia/Video/WebVCR-45830.html
- Schedules Direct URL Change: http://www.mythtv.org/wiki/Schedules_Direct_URL_Change
Data Sources
North America
- Schedules Direct - Canada/USA (Zap2IT TV Listings, $20/yr subscription): http://www.schedulesdirect.org/[5]
- SchedulesDirect/JSON-Service: https://github.com/SchedulesDirect/JSON-Service/wiki/API-20140530
Europe
- Sweden: http://xmltv.tvsajten.com/xmltv/ | EXAMPLE - Canalplus movies | EXAMPLE - movies (json)[6]
- Italy - EPG Sky Italia: http://pvr.co.il/node/151 [7]
- UK: http://xmltv.radiotimes.com/
Asia
- Japan: http://tv.goo.ne.jp[8]
- Japan SkyTV: http://www.skyperfectv.co.jp/eng/guide/lineup/
Oceania
Tutorials
- XMLTV and PERL daily EPG schedule cron: http://linuxgazette.net/issue99/lovett.html
- XMLTV Format explained by author(s): http://wiki.xmltv.org/index.php/XMLTVFormat
- Television Listings and XMLTV: http://www.xml.com/pub/a/2004/02/18/xmltv.html
- How to Write an XMLTV Grabber: http://wiki.xmltv.org/index.php/HowtoWriteAGrabber
- How To Submit A Grabber: http://wiki.xmltv.org/index.php/HowtoSubmitAGrabber
- HowtoUseGrabbers: http://wiki.xmltv.org/index.php/HowtoUseGrabbers
External Links
- wikipedia: XMLTV
- wikipedia: OpenTV
- Television Listings and XMLTV (from O'Reily's XML.com): http://www.xml.com/pub/a/2004/02/18/xmltv.html
- How To Write A Grabber: http://wiki.xmltv.org/index.php/HowtoWriteAGrabber
- TVprg.php is a set of PHP4 pages displaying TV-program information (aka EPG) from it's mySQL database. The database is filled by an xmltv-import script, thus you can use data from all the XMLTV grabbers: http://sourceforge.net/projects/tvprg/
- Your TV Guide under Linux!: http://www.linuxforums.org/articles/your-tv-guide-under-linux-_244.html
- TMS dropping Data Direct!!! But no reason to panic.: http://forums.schedulesdirect.org/viewtopic.php?f=7&t=2577
- DataDirect replacement service - BETA 1: http://forums.schedulesdirect.org/viewtopic.php?f=8&t=2591
- Problems connecting to sd-dd servers (blocking rules for erroneous requests): http://forums.schedulesdirect.org/viewtopic.php?f=5&t=2626
- Major Service Changes coming to Schedules Direct: http://forums.schedulesdirect.org/viewtopic.php?f=3&t=2578
- Current SchedulesDirect JSON API-20140530 service status: http://forums.schedulesdirect.org/viewtopic.php?f=17&t=2584
- Plex Media Server -- Using XMLTV for guide data: http://https://support.plex.tv/articles/using-an-xmltv-guide/
- Nielsen Gracenote Starts New ID System For TV/Movie Content: https://www.mediapost.com/publications/article/340620/nielsen-gracenote-starts-new-id-system-for-tvmovi.html
References
- ↑ Differences between Data Direct and Zap2IT Labs: http://forums.schedulesdirect.org/viewtopic.php?f=8&t=41
- ↑ XMLTV spec: http://files.xmltv.org
- ↑ XMLTV in JSON: http://xmltv.tvsajten.com/json/
- ↑ Yahoo! Australia - TV Guide EPG: https://au.tv.yahoo.com/tv-guide/
- ↑ tv_grab_na_dd: http://eep.pommepause.com/install/xmltv.html
- ↑ TV SweDB: http://tv.swedb.se/content/view/55/48/
- ↑ XMLTV update for Italy: http://old.nabble.com/XMLTV-update-for-italy-td22273422.html
- ↑ http://old.nabble.com/Can-maybe-help-with-tv-grab_jp-refusing-agent-string-td22693403.html