I am interested in capturing EPG data from DVB-T streams. Does anyone know of any C libraries or alternative ways to get data?
tv_grab_dvb can do this. See the subversion repository for sources.
tv_grab_dvb is designed to work with a stream captured from a DVB-T card using dvbtools on Linux, but it can be portable to other platforms - I think it just works with raw data from a stream.
... a new answer to an old question:
I wrote a utility called dvbtee , which can be used as a C ++ library, a cross-platform command line utility, or a node.js. module.
dvbtee
(although this is a C ++ library, you can still associate it with c code)
The command line utility will analyze your streams and output EPG, depending on the arguments you specify, it can generate plain text or a JSON data block.
dvbtee: digital television tape / parser / overhead aggregator supporting various interfaces including telnet CLI and http control
The node.js module will generate events containing PSIP table data (along with EPG information)
node-dvbtee: parsing MPEG2 transport stream for node.js with support for PSIP television broadcast tables