Pictures. Except moving.

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.

No Signal

Alright, so that’s the very basic now/next bar and the channel menu, what else is there? What if there’s an error, a channel is off-air perhaps, or you’re not subscribed? You’ll get a blue screen instead of a TV picture, and an informational banner, like so:

image005

Easy peasy, let’s have a crack at that:

vlcsnap-00008

That’ll do nicely. This image also shows what’s displayed when a channel’s EPG data is unavailable and there’s nothing to display. There’s something a little off about my fonts and UI element sizes, but I’m having to work from assorted rough screenshots and poor quality videos, I’ll try to refine them as I go along.

Short post this time, I’m running out of progress to report, but hopefully there will be more in time.

Time Travel

So what was up with that font? Well, as it happens, there are a (precious) few sources for even earlier examples of the UI, as far as I’m aware they’re from before the launch of the service. This video, captured from the service’s information channel in 1998, shows what appears to be a version of the UI using the slimmer font for the programme info:

Time to go a little deeper, perhaps, what if we want to browse for channels instead of simply flicking up and down in a tiny box? This is where it gets a little exciting for me, I’ll show you what it normally looks like first, and then I’ll explain why mine doesn’t look like it:

2003 TV Guide-650-80

That one’s a capture from 2003, and I believe that’s more or less how the SD receivers still look. But let’s go back, all the way back, somewhere around early ’98, possibly even late ’97*:

_161218_digital_channel_guide300 skyepg1 skyepg2

I blindly tripped over these beauties lurking about the web, as all good things do, and they look quite different from the 1998 launch interface, which looked like this:

epg_skyguide_3

The layout is similar, but what’s up with the logo? In 1998, Sky rebranded and their shiny new digital service got a fresh new logo, as seen in the above image, but before this rebranded they used the “egg” logo you see in the three previous images. To the best of my knowledge, this version of the UI never reached the public, but some set top boxes and accompanying remote controls with the old logo did hit the shelves. For how long, I don’t know, but this is a very small glimpse into the window of time between the rebrand and the launch of the service, which is pretty neat. I’m not absolutely certain that the images showing what I’ll call the prototype UI are, in fact, official or actual working firmware, but they look pretty legit to me, they’re clearly early models of the release interface and it seems to me to be a convincingly small step from one to the other. One other thing to note, the channel numbers given to the movie channels aren’t the final numbers, because the low 100s (the listings begin at 101) were general entertainment on launch, starting with BBC1 and BBC2, as seen in the release EPG. There were no BBC channels on Sky’s analogue service, so it’s possible that the content the service was to carry hadn’t been finalised yet.

So what might that have looked like, if we’d had good screenshots of it? Something, I reckon, a little like this:

vlcsnap-00009

I don’t have the guts of the EPG going yet, so I can’t populate the guide, but the navigation works except the +24h and A-Z because I haven’t done the rest of the menu system yet. I can scroll up, down, page up, page down, and select a channel.


Post-article speculation:

* A bit of detective work reveals that many of the movies listed on the 3rd and presumably earliest image were released to cinemas late ’96. If the date is anything more than a placeholder, it could be April or July ’96, or September or December ’97, and given that two of the movies were in cinemas in Nov/Dec ’96, it seems likely that it would be one of the ’97 dates, which would probably be a reasonable length of time for the movies to find their way to pay TV. That would mean less than a year before the Oct ’98 launch date of the service, and allowing time for testing and manufacture, perhaps closer to 6 months between these versions and the retail firmware.

However, in the first image of the three, the movie When Innocence Is Lost appears, which was released to US cinemas in April ’97, and given the apparently textured background my assumption would be that this is newer. This screenshot could, again if the date is real, be Sep/Dec ’96 (before the movie), Jun ’97 (too soon after the movie?) or Feb/Mar ’98.

So for all that, we can probably guess that the earliest screenshot was from late ’97, and the latest from early ’98. Then again, all three screenshots seem to say they were taken on Tuesday, so perhaps it’s just a placeholder.

Pi In The Sky

I’ve accidentally stumbled upon a platform for my experiments, I’ve landed on the Raspberry Pi. Partially because I’ve already been using it to play with raspi-teletext, and partially because I suck at graphical programming using languages I’m used to in the Windows world. Having wanted to get stuck into programming on Linux, I set about trying to work out whether I could bodge together some sort of project using .net and Mono, but in my searching I came across openFrameworks. It’s a set of C++ libraries for “creative programming”, so it contains code for things like graphics, video playback, audio, input, etc, so it’s pretty well suited to this task. I’m actually using ofxOMXPlayer for video playback, which has GPU accelerated playback on the Pi, but the built-in video player stuff seems adequate if you don’t want to use an add-on for whatever reason.

Anyhow, enough with the talking, what am I doing with this framework? My initial experiments were simply playing a video and rendering some UI elements over the top, like so:

analogue-nick analogue-skynews analogue-vh1-crypted

Do excuse the poor pictures, I’ve now set up a capture card to grab proper screens, but whilst I was working on this early code I only had photos.

This proved to me that the concept worked, i was able to render text and graphics above a video, it’s very much in the style of analogue receivers and without getting into setup menus and the like (which I’ll get to eventually, I hope) I’d hit something of a wall. What to do next? Well, something more modern, something more graphical, like so:

bbc2 BBC2-2

This is an early effort at a recreation of Sky Digital’s now and next interface, in which you can browse channels without leaving the thing you’re watching. It’s roughly modeled on the most recent iteration of the UI before it was updated for HD receivers, it also doesn’t include any Sky+ DVR UI elements. Success, modern graphical elements.

v9

For comparison, the above image is how the real thing looks, I think I got reasonably close.

But this is about history, right? So what did the UI look like in 1998? Quite similar, but not quite the same:

digital_dog

Same sort of design, but fewer controls, it lacks Messages and Favourites, the colours are slightly different and the clock is formatted a little differently. Did I mention it’s difficult to find good examples of this stuff? Never mind, my turn:

vlcsnap-00007

Close enough, methinks. But the font’s different, whyso? Find out next time, in another exciting episode of “being an enthusiast of things nobody cares about”!

Hello.

So much focus is placed on the preservation of software for computers and games consoles, from the most popular to the most obscure, but nobody seems to be concerned about television set top boxes. I’d like to make a contribution to changing that. Now, it’s beyond the scope of my knowledge and ability to emulate such a device (something something ST20 CPU, something something Nucleus RTOS, feel free to let me know if you’re working on that), but failing that i’d like to simulate them instead.

Why? Several reasons, the first of which is that set top boxes are very disposable, nobody thinks twice about disposing of them, particularly when they stop working or are no longer compatible with the standards of the day. The second reason is that I’d like a method of easily displaying archive material, television shows of old, idents, adverts, that sort of thing – it’d be quite nice to be able to turn on the TV and channel hop throughout history.

Returning to the first reason, an example which comes to mind is the OnDigital service, once the flag-bearer for terrestrial digital television in the UK, before it failed, was purchased and rebadged as ITV Digital, then failed again. The boxes designed for this service, although compatible with the later replacement DVB-T service (the standard on which OnDigital was based), the boxes became too slow to be practical and eventually incompatible with alterations to the service as time progressed. These boxes are now effectively worthless, even if there are a few models still compatible, who would bother to use one when a brand new receiver costs peanuts and provides an experience many times better? Another aspect is the interface revisions, for example on the Sky satellite service in the UK, over time their receivers’ visuals haven’t changed a great deal (at least until HD came along), but it’s very difficult to find examples of the original interface variant used at its launch in 1998 (or, as I’ll mention in a later post, even earlier than that).

You’ll note that I’ve focused on digital services. This is because although I have an interest in analogue television services, their interfaces were sparse and often barely more than a VCR style on-screen display – perhaps a white or green channel number, a channel name if you’re lucky. I’d like to try to recreate some of these too, but there’s not much to show off at the end, they don’t necessarily look very distinctive.

I’ll consider that my somewhat convoluted introduction here, the next post will have pretty pictures and will hopefully be easier to read.