Adam Sutton
2012-06-13 10:41:51 UTC
All,
Firstly apologies if this makes it to the list twice, I realised I posted
from the wrong email address.
I've recently been introduced to the world of DVB. I decided to replace my
Sky subscription with a home brew DVB solution, due to a) I never watch
anything but the FTA channels and b) XBMC finally got proper PVR support.
I've subsequently started doing lots of work on handling EPG data and
improving the capabilities within tvheadend (my DVB backend of choice). My
original involvement was to point out some of the horrible inefficiencies
in the tv_grab_uk_rt script, which I was able to demonstrate could be made
about 30-60 times faster. I think some of these suggestions have made it
into the script, though I've not looked as I haven't used it for a while.
Having already written my own proof of concept scraper script (to compare
performance) it was a logical step to continue this and generally improve
it and make something of it. As a result I learned that the _uk_rt script
got its data from a service now provided by metabroadcast.com. And this in
turn provided a much more structured API. So I started to integrate
directly with that. Again I've seen mentions of the _uk_rt script being
updated in a similar way on the MB forum.
I managed to get a script working that would grab from MB and output in
XMLTV compatible format, however I found this quite limiting as much of the
really useful information (about the underlying structure, links etc..) was
lost. So I added some additional fields which I imaginatively called eXMLTV
:) And at the same time I created my own XML format that was completely
different and allowed me to properly replicate the more structured data.
In turn my updates to tvheadend focus on using this more structured
approach to allow more complex tasks to be easily achieved.
Where I'm going with this (rather long winded email) is that I now have a
format which is completely incompatible with XMLTV but that I believe
provides a much better basis for EPG data (sorry if that sounds really
arrogant). And I'm wondering if there is any likelihood on working together
to improve XMLTV.
Generally speaking I'm not interested in creating a competitor to XMLTV, I
just don't think I've got what it takes. You already have the market
cornered so to speak and currently my script is only useful for UK freesat
data (and currently even that requires a key from MB). However I think that
where the upstream data is in a more structured format (I'm assuming other
such sources exist) it seems sensible to try and use this data.
Currently my changes in TVH still work with XMLTV they simple result in a
less useful database (since the full structure isn't available) I imagine
this is unlikely to go away as most people simply won't have access to the
more rich data. But where possible it can still be "massaged".
With regards to how my data is actually structured, I don't currently have
a DTD etc... but I've uploaded a quick sample @
https://github.com/downloads/adamsutton/PyEPG/epg.xml.gz. And if you're
interested in the code its @https://github.com/adamsutton/PyEPG
Anyway I look forward to any input :)
Regards
Adam
Firstly apologies if this makes it to the list twice, I realised I posted
from the wrong email address.
I've recently been introduced to the world of DVB. I decided to replace my
Sky subscription with a home brew DVB solution, due to a) I never watch
anything but the FTA channels and b) XBMC finally got proper PVR support.
I've subsequently started doing lots of work on handling EPG data and
improving the capabilities within tvheadend (my DVB backend of choice). My
original involvement was to point out some of the horrible inefficiencies
in the tv_grab_uk_rt script, which I was able to demonstrate could be made
about 30-60 times faster. I think some of these suggestions have made it
into the script, though I've not looked as I haven't used it for a while.
Having already written my own proof of concept scraper script (to compare
performance) it was a logical step to continue this and generally improve
it and make something of it. As a result I learned that the _uk_rt script
got its data from a service now provided by metabroadcast.com. And this in
turn provided a much more structured API. So I started to integrate
directly with that. Again I've seen mentions of the _uk_rt script being
updated in a similar way on the MB forum.
I managed to get a script working that would grab from MB and output in
XMLTV compatible format, however I found this quite limiting as much of the
really useful information (about the underlying structure, links etc..) was
lost. So I added some additional fields which I imaginatively called eXMLTV
:) And at the same time I created my own XML format that was completely
different and allowed me to properly replicate the more structured data.
In turn my updates to tvheadend focus on using this more structured
approach to allow more complex tasks to be easily achieved.
Where I'm going with this (rather long winded email) is that I now have a
format which is completely incompatible with XMLTV but that I believe
provides a much better basis for EPG data (sorry if that sounds really
arrogant). And I'm wondering if there is any likelihood on working together
to improve XMLTV.
Generally speaking I'm not interested in creating a competitor to XMLTV, I
just don't think I've got what it takes. You already have the market
cornered so to speak and currently my script is only useful for UK freesat
data (and currently even that requires a key from MB). However I think that
where the upstream data is in a more structured format (I'm assuming other
such sources exist) it seems sensible to try and use this data.
Currently my changes in TVH still work with XMLTV they simple result in a
less useful database (since the full structure isn't available) I imagine
this is unlikely to go away as most people simply won't have access to the
more rich data. But where possible it can still be "massaged".
With regards to how my data is actually structured, I don't currently have
a DTD etc... but I've uploaded a quick sample @
https://github.com/downloads/adamsutton/PyEPG/epg.xml.gz. And if you're
interested in the code its @https://github.com/adamsutton/PyEPG
Anyway I look forward to any input :)
Regards
Adam