A couple of test videos, to show the UI in action, at various stages of workingness.
It turns out the version of ffmpeg included with ofxOMXPlayer is a bit on the iffy side, which was mildly problematic. There’s a branch with a newer build, which at least solved an issue where if a stream ended then the whole thing would segfault, but several issues remain. Specifically, if a stream doesn’t exist it’ll hang the program for a little over 2 minutes while it waits to timeout and the difficult to miss frame smearing primarily in the bottom half of the video. I’m sure these issues will be fixed in time (the latter appears to be related to a buffer or something, I gave up looking for the time being).
Now, streams, a TV receiver isn’t much use without TV channels, is it? As mentioned, ofxOMXPlayer (and the project it’s based on, OMXPlayer) is based on ffmpeg, so that’s the receiving side of the equasion. The sender is currently VLC, which has some handy command line options so I’m able to stuff everything into a batch file, run it, and instantly have 6 channels (7 if you include the EPG music, which is also a stream), all live at the same time, running with very minimal CPU usage (by choosing not to transcode on the fly). I suspect I could run dozens of channels at least, so room for expansion. In the second video, you’ll see an Amiga advert transition to a Sega advert, these are two different clips and I’m very pleased with the way they run together so smoothly. I think this setup does a pretty decent job of simulating a TV channel, but I’ll have to figure out a way of getting the programme data to the interface’s EPG at some point.