CommScan stands for "Commercial Scan". I created it as part of my study work about the "detection of commercials in digital tv" at the TU Ilmenau. CommScan is a software that scans recordings created by VDR, detects the commercials in it and finally sets the corresponding cutting marks. After that they can be checked by the user in VDR and VDR's internal video cutter can be used to cut the commercials away.
At the moment I have not the time to work further on this project.
How does it work?
CommScan uses several characteristics of the video and audio stream to differentiate between commercials and ordinary programmes. That are
- logo detection using a simple template matching algorithm
- black border detection, nearly every programme has it
- dolby digital AC3 audio changes p.e. on the german tv station Pro7
- black-and-white programmes
Todo
There are much things to do to make CommScan better:
- Integrate it in VDR as a plugin. Then it is easier to use the OSD for status messages, the setup menu can be used for setting up parameters.
- Scanning during recordings using a receiver plugin so the cuttings marks are ready at the stopping of it. This will improve the logo detection a lot because just the logos of the recorded station have to be checked. I have started this already.
- Add support for more tv stations with thier logos. At the moment only the german stations Pro7, Kabel 1 and RTL are supported.
- Improve the algorithms. A better edge determining for the logo detection and the usage of more information from the black border detection p.e. too dark pictures can improve the algorithm.
- Using a config file for saving tv station logo information. At the moment this data is "saved" in the source code.
- Find more detection characteristics.
Download
CommScan itself: commscan.tgz
For running CommScan libavcodec is needed which is part of the ffmpeg package that is available at http://ffmpeg.sf.net or here
For some more detailed information about the algorithms you can read my thesis (in german)