Your goal is to develop a command-line utility for Linux, probably in C or C++.
The utility will be able to read a transport stream with TV recordings (TS with MPEG2). It will be able to analyze the video in order to detect channel logo.
As a result, the utility will print to stdout the intervals (in seconds) where channel log was detected, and intervals where channel logo was not detected.
0 65.9 N
65.9 644.5 L
644.5 1205.4 N
This means that in the video, first 65.9 seconds were detected as having no channel logo (flag N), then there was the actual video with channel logo (flag L) and then there was another section without logo from [url removed, login to view] to [url removed, login to view], and the video ends there. Fields separated by TAB character.
The utility must be very fast. For that to work, it must not read all data from disk (it may be, for example, a 5GB video file, reading it as whole would be bad idea). You must be able to seek() in the transport stream (MPEG2 video broatcasted as TS) in, say, 10 seconds intervals, and read only keyframes on the given positions.
The utility must accept commandline parameters to list only intervals without logo (N flag), or to list only intervals with logo (L flag).
Also the .ts video file name which is processed will be specified as commandline parameter.
7 freelancers are bidding on average $522 for this job
I have an undergrad degree in electrical engineering with a specialization in image processing, i have been working for more than 1.5 years in linux and c programming.