RetroTV broadcasting project part 2

Okey, i’ve updated and improved the RetroTV project with a few additions.

  1. Added the sourcecode to github
  2. Started a wiki
  3. Built communication between VLC and php
  4. Added date-support for shows, making weird schedules possible
  5. Defined what to do for this release (V1.0)

Github and Wiki

RetroTV is now a project on GitHub, they offer free hosting to open-source projects. The address for browsing the code, and the accompanied wiki, is:

The wiki explains what is going on in the code, and tries to show the projects intentions. It will be the first place for user-oriented documentation. Technical documentation is a little bit more different, preferably only design decisions are listed. Check it out:

When popularity increases, the github wiki will be replaced with a real one.

Built communication with VLC

VLC has a telnet interface, and something called VLM; VideoLan Manager, which is a scheduler. Both suffer from pretty poor documentation, but its done. When running VLC in telnet mode, PHP can create schedules and playlists based upon the programming specified by users.

Running the SHOW command, after RetroTV has finished, looks something like this:

Added date support in programming

Creating a schedule has now more flexibility. In the previous, unreleased version, programming was a daily cycle. When the day ended, we would start over from the start. With the current date support, its possible to make complex programming. Adding a date is mandatory, and as such a looping programming isn’t possible. Maybe, when only programming for a single day is specified, looping might become a feature.

Creating a new set of playlists currently looks like this:


The first release will be out before/on August 1st. What has to be done is this:

VLC Streaming Support

The largest blocking issue is VLC’s streaming support. There is a prominent bug in broadcasting M4v content in simple setups. Basically we need to stream any kind of movie file to two different setups. A HTTP setup and a multicast setup. Both experimenting and debugging VLC has proven to be tedious, so this is a risk.


Announcements are nearing good-enough-state for version 1.0. Only a few transitions and faster processing are among the desires. I’ve already shown announcements work in a proof of concept.

Logo while Streaming

What’s a TV station without a logo in one of the corners of the video? Well… nothing. It doesn’t seem hard to do, but with VLC you’ll never know. I suspect it will be pretty smooth to do this. The logo has been designed, it was at the top of this article.

Code cleanup

Removing redundant / incorrect comments, renaming some stuff and giving the right place for parts of code. This is a continuous process, which affects every update untill 1.0 is ready.

Further reading


Leave a Reply

Your email address will not be published. Required fields are marked *