10

I have the ability to capture "MPEGTS" DVB/ATSC streams. I'd like to be able to take the TS files and extract "EPG" (programming guide) information from them, because FFmpeg (which does the capturing) doesn't seem to have the ability to read any EPG information from the MPEGTS streams. How do I extract this data into some text form that is human readable? I have the MPEGTS files available as the input. I tried a few libraries:

libdvbtee seems to only compile for unix: https://github.com/mkrufky/libdvbtee/issues/12 (update: it works for windows now, see the answer)

DVBInspector is GUI only (command line UI is desired here).

TSReader "free" version doesn't extract EPG's.

FFmpeg doesn't seem to have any concept of support for EPG "yet."

CherryEPG seems to only write, not read EPG.

libucsi can apparently do it but it wasn't clear if there was a command line option.

EPG Collector appears to be GUI only (?) and was hard to understand how to convert to a human readable output.

rogerdpack
  • 2,146
  • 7
  • 32
  • 49
  • 1
    downvoters feel free to comment or tell me a better venue to post it. – rogerdpack Jan 16 '16 at 02:30
  • `libdvbtee` will compile for windows now if you use the `win` branch. I'm hoping to hear some test feedback before I merge the remaining changes into the `master` branch. http://github.com/mkrufky/libdvbtee/commits/win – mkrufky Jan 20 '16 at 19:02

2 Answers2

11

As a result of you posting this question, I have gone ahead and fixed windows build support for libdvbtee

libdvbtee is an open source transport stream service information decoder library (mkrufky.github.io/libdvbtee) that you can use to view the EPG or any other service information embedded in any TS file. Use the following command:

dvbtee -F mpegfile.ts

If you add the -j option, it will also output the contents of the PSIP tables and descriptors in a JSON object:

dvbtee -F mpegfile.ts -j 
mkrufky
  • 226
  • 2
  • 7
  • The questioner already mentioned `dvbtee` and that it did not work for them. You should probably add that you improved your program in the meantime to build under Windows. :) – Dubu Jan 28 '16 at 08:28
  • 1
    I indeed improved `dvbtee` as a result of the OP posting this question. Discussion has continued between us on the github issue tracker, he asked me to post a final answer here for the sake of other users. – mkrufky Jan 28 '16 at 10:58
  • Your dvbpsi library seems (unless the name is a coincidence) to be part of videolan now (http://git.videolan.org/git/libdvbpsi.git) but what about dvbtee itself? – Bruce Adams Mar 29 '18 at 16:18
  • `dvbpsi` has been a part of videolan for as long as I can remember. `dvbtee` is a much higher level abstraction that is unlikely to ever join the videolan project. It is maintained and developed in a separate git repository. I'm open to creating distro packages if people are interested, but then again, it's open source and anyone may feel free to do so. – mkrufky Mar 29 '18 at 17:25
  • 2
    @BruceAdams, if you're looking for a windows build of `dvbtee`, the OP poster has a cross-build set up at https://github.com/rdp/ffmpeg-windows-build-helpers – mkrufky Mar 29 '18 at 22:53
  • Actually I was looking for a linux build. – Bruce Adams Mar 29 '18 at 23:18
  • There are build instructions in the `README.md` – mkrufky Mar 29 '18 at 23:19
  • Link is dead... use https://github.com/mkrufky/libdvbtee – Jan Feb 13 '21 at 14:18
  • dead link was a bug on github's user pages. https://mkrufky.github.io/libdvbtee is up again now – mkrufky Feb 15 '21 at 16:34
2

OK I did discover EPGCollector, it has EPGCentre.exe which is the nice UI and EPGCollector.exe which is a console app. The EPGCentre.exe spits out a configuration file which you can save anywhere, then just run the console app as a process and it'll tick away in the background

Sample command line args for the config file that the EPGCentre.exe spits out!

C:\EPGCollector.exe /INI=BNE.ini

rogerdpack
  • 2,146
  • 7
  • 32
  • 49
  • Thanks this worked. I had to copy and edit a sample .ini file from Samples\Collector. I used my DVB-C TV Provider configuration details (frequency, QAM, Symbol Rate) in ScanningFrequency line under [DVBC] section. It seemed the TuningFile line was not used in my case since I could enter a non-existing file. The XML data extracted was not all what DVB Inspector showed however: title, desc, category, ratings, some credits, country. – Jan Feb 13 '21 at 15:46