I’ve been investing some of my spare time creating this news channel aggregator, recorder and (re-)mixer -thing lately, something that had been bubbling in the back of my mind since at least 2008.

Serduno

I also had to brush up on my ffmpeg-fu for some actual work related stuff, so this project ended up serving as a playground for doing both.

The start was an idea that it might be interesting to see how the different news outlets prioritises and covers (or not) the events that unfolds around the world. Then I figured it would also be nice to archive this for some period of time, so that if world war 3 were to break out while I’m walking the dogs, I can just check the instant replay (… or not.)

Way too many hours was spent looking into how to interpret the output of running encoders, and restarting them when needed; I’m relying on some rather unreliable/poorly connected sources for some of the channels. If anyone has any suggestions to how to improve this or have some private feeds to share I’m all ears.

There is a (limited) mechanism for “private” channels in which I’ve added a couple of commercial ones that I pay for just myself. I should probably do a writeup some day on how I ended up with OBS running in x11vnc doing screen-grabbing of firefox. It is nothing else than a hack, but as hacks go this one seems to work rather well.

Try it out over at https://ser.du.no and please let me know what you think.

Features:

  • 15+ live news channels from around the world, most in English
  • 7 days backlog segmented by channel/day for all channels
  • Rotate/view multiple channels simultaneous in 1x1 2x2 and 3x3 matrixes
  • Embedded chat with live-breaking-news-alert-bot v0.1
  • Loop video to make it easy to extract soundbites
  • Chromecast & Airplay support (on some of the streams)

Todo:

  • Chat/live-breaking-news-alert-bot needs serious work to provide less comedic relief. OCR is hard.
  • Re-enable DASH tech for video.js. Something broke with last version.
  • Make youtube-tech optional via selection, it’s not that great for matrixes (slow)
  • Create Recording/Export module for video.js
  • Set up nginx hls/dash secure links
  • Add moar channels. Linux/PC based sat recievers might be the way to go.
  • Make channel-matrixes refresh one by one instead of all of them at the same time somewhat fixed for 3x3
  • #hindenburg { float: none; }. I am not a designer. The lack of design + related issues will forever be banished to the end of this list, unless someone wants to help.