Skip to main content


If you've ever wondered if it's possible to run a broadcast television network on commodity hardware using open source software when you have no idea what you're doing, the answer is absolutely yes.

We're doing it right now! Or, at least, we will be tomorrow when they plug us in tot he head-end.

We're running ffplayout on the server side, building our schedules by hand (new open source scheduler and media asset manager coming Soon ™️) and outputting to SRT and RTMP.

The RTMP stream is consumed by peertube, and then spit back out to our roku channel.

The SRT stream is consumed by a piece of hardware at the cable company (that we paid for, an Impulse 300D Network Decoder)which takes the SRT stream and just shoves it in to their head end.

The Impulse Decoder is the only piece of equipment in all of this that isn't a cheap rented VPS, and whatever it's running is the only time any of these videos touch something that isn't free software.

(and the dang thing doesn't even have a DNS client stack lmao)

Adrian Cochrane reshared this.

The vast majority of our videos are captured on second hand 10+ year old cameras.

There are a few newer cameras in the mix, but they're significantly less common and frankly less useful.

We take the footage from those 10 year old cameras and we catalog it in nextcloud and it syncs to everyone who is involved in production.

Then we edit in kdenlive.

Audio is recorded, as needed, in ardor or audacity, and edited in the same place (or it's recorded on purpose built hardware rescued from the digital landfill and edited in ardor, audacity, or directly in kdenlive.)

Most of our editing is also done on second hand/landfill rescue computers. Most of our programming is edited and rendered at 720p or lower because that makes it cheaper and easier to work with on old hardware.

Everything lives on servers running debian (often configured with yunohost, because I'm lazy and I shouldn't have to maintain my own software.)

The vast majority of our content gets licensed CC-BY-SA so that other people can benefit from what we've done, and are encouraged to give back to the community.

ffplayout builds our SRT stream for the cable company and then, from the same playlist but in a separate process, our RTMP stream for peertube.

Peertube powers our online livestream as seen on our website, and our roku channel. When I finish my DIY cable box project, peertube will also power that.

And so, #NewEllijayTelevision is a full fledged cable network (or, at least, it will be in ~14 hours), web streaming network, and video on demand platform, powered by open source software, running on upcycled hardware, produced by a ragtag group of weirdos in the north GA mountains.

You can watch along, if you want: https://vod.newellijay.tv/w/hPrMTPpUuP8ZLoaqHTkLmd

We're absolutely changing the rules.

And it all works! And most of the time it even works reasonably well! And when it doesn't no one is going to care.

We produce original television programs (like Appalachian Football Central: https://vod.newellijay.tv/w/6hCHfnFYcT8FwBkrpXn9RZ and KENKYUU SENTAI PODCAST RANGERS https://vod.newellijay.tv/w/p/ijx94hSHTLw43DqyDpMBFm?playlistPosition=1 ) and we archive historical materials like Space Patrol ( https://newellijay.tv/shows/space-patrol/ ) and we syndicate national programs like Democracy Now and Captain Isotope ( https://vod.newellijay.tv/w/hs9NryagGYu5Pd12Hd7K2a )

And there's so much more than that!

There's our music series: https://newellijay.tv/shows/put-on-a-show/

Our political shows, like The Hastening: https://newellijay.tv/shows/the-hastening/ and Behind the Curtain: https://vod.newellijay.tv/search?search=behind%20the%20curtain&searchTarget=local

Our show about hunting bigfoot: https://vod.newellijay.tv/w/3h6m3uZSkBjrHYVLMA3m1o

We've done cartoons and sitcoms and esports and all kind of things. You can learn more about some of them here: https://newellijay.tv/shows/

Adrian Cochrane reshared this.

(peertube falls over when we get a bunch of boosts so, if you pop in and it's not working, give it a second and try again.)

Starting tomorrow, we'll be available in homes around north/central GA.

Over the next few weeks we'll show up in the lobbies and dining rooms of businesses around town.

On a given day, we expect between 5 and 10 thousand people to see what we're putting out in the world.

We're selling ad packages, if you want to help keep us on the air. Reply for details.

In the meantime, to promote all these things that we're producing, and the stories that we're telling, we're making stuff!

I have a gameboy game that follows the plot of Expedition Sasquatch. I'm making cartridges right now! We'll have them available in a few more weeks.

I'm working on more gameboy games for our other shows. We'll do a Shouting into the Void game. We'll do a Jupiter's Ghost game.

We make toys out of recycled milk jugs, and we're working on new action figures for the characters from several of our programs.

We're also making new cartoons! Better cartoons!

We're making new posters, t-shirts, and zines. We'll probably even do some comics. It'll all start hitting the airwaves between now and the end of time.

When those are ready, I'll talk about them a lot here. We'll be selling them to raise money for the rest of what we're doing. If that sounds like something you'd be to, stick around.

reshared this

Broadcast Testing today went okay! It could have gone better, but we encountered the inevitable issue that projects like this always encounter. (Timing signals!)

I'll explain in more detail in a bit, and talk about why that's funny too, but before that I'll talk about what it means.

Basically, the cable company wants to see us broadcasting stable for 24 hours before they let the network go on the air.

Unfortunately, 24 hours from now is the end of the day on Friday, and they *also* want to monitor the channel for the first 24 hours it's on the air to verify that it's stable.

So we'll actually go live on Monday.

But I have every reason to believe that we'll actually go live on Monday, so that means I've got to get out and start selling.

So clocks, right?

Every time pro's work with amateur gear, they complain about the clocks.

It's the biggest difference between professional gear and amateur gear.

When the videofreex tried to do a TV broadcast in 1970, it was the first problem the TV exec's encountered.

The freex knew how to fix it, but weren't allowed to touch the gear because they were not a member of the right union (and they were barred from joining the union because they didn't use the right kind of equipment.)

So it took three or four years before any television network successfully broadcast any video shot in a home video format.

:oof: the encoder died between clips. There's no good reason for that.

I don't even know how to research this one.

Their broadcast engineer said

"When the content just changed, the transcode on our transcoder stalled. This happened several times. I have to go in and re-submit it. We will need to try and figure out what is causing it. "

which is a phrase that comes with *several* red flags, but...

I mean, even discounting the things he said that I would have preferred him to say differently, and the fact that the decoder can't automatically re-start when the stream fails (which is a huge problem!) I just have no idea how to research this one.

I did run in to a similar issue when I was using remote runners to transcode the live stream from ffplayout in peertube.

So It's not a complete shock.

But I thought ffplayout was just spewing UDP packets, so I can't see why swapping between clips on the back end should make a difference!

Now, I suspect that I could fix this by enabling twopass encoding.

But that's Twice as Expensive on CPU.

And I don't actually know if it would solve the problem.

And I don't know what language to even use to describe the problem.

Adrian Cochrane reshared this.

Regardless, we'll get this sorted like we got the last issue sorted, as soon as I figure out what the issue actually *is*
I kinda want details about the codecs used. Is it doing SIP/SDP negotiation? Do you have packet captures of the stall?
This is my former life as a VoIP network engineer coming out.
If I had to guess, throwing a heavy-handed re-encode between your source and their receiver will fix the issue, but I've seen a decent number of cases where for whatever reason just switching between streams... doesn't always work. (I can speculate about codec-related reasons, but I've never dug into them, just found a reader that won't explode and hooked it up to re-encode and called it a day.)

Alright, I got a little more info out of the cable company, but not much.

And they've gone home for the evening, so I will not be able to continue troubleshooting until tomorrow.

But I was able to identify an error message in the ffmpeg debug logs that seems to correspond with the timing of their issue, and I was able to make that error message go away.

I was never able to reproduce the issue, which makes troubleshooting exceptionally difficult.

Adrian Cochrane reshared this.

what's the return window on another 300D I wonder...lol

Alright, my changes resulted in "fewer but not no" errors.

So I added a second output buffer stage that ingests our first SRT stream and just remuxes it.

I don't expect this to make a difference, but it might.

... no complaints from their team so far today. Gonna leave it running over the weekend.
(The impulse decoder is my mortal enemy.)
@Andrew (Television Executive) I just want to say - this is actively the coolest thing. Free software cable TV is so good. I... am so happy this exists.

@silverwizard it's not just free software. It's open media. It's community media.

I think this is absolutely the future, and I want five dozen more.

@silverwizard you'll have my full support and access to our syndication library.
the tyranny of house sync
About 25 years ago, in grad school, I ran a media lab for foreign language education. As part of that, we had a channel on campus cable on which we broadcast the satellite SCOLA service of foreign language news broadcasts. The service was run by the local cable monopoly and we were relegated to channel 3, which also was the highest power VHF TV channel in the region, assigned a different channel due to what was effectively multi-path interference from the OTA signal bleeding through.
I love all this so much. I was a sportscaster/master control operator/field producer/camera man/director/"guy they hung from a cherry picker with a parabolic mic" for a local public access station for years, and I never EVER wanted to quit that... but my job basically vanished out from underneath me and I've been doing tech support instead for 20 years now.

@DrakkenZero We didn't have a local public access station, so I decided to DIY.

If you ever decide you want to moonlight in production, we've always got room for help.

That will probably depend on the future of Cinematic For The People, it's a movie riffing tv show that I started in the 1990s and then resurrected on YouTube, but we've kind of been running on life support for a while now between youtube not believing in the concept of "public domain" anymore and personal life stuff - one of our core members in need of a new kidney and me currently taking care of two elderly 78 year old parents with extensive medical needs.

That said, here's a couple of episodes from the show that show of my editing and production skills, because why not do a little promotion:

One of our regular episodes, I made all the music and did all the editing too - https://www.youtube.com/watch?v=BVRqSzjgMzo

Halloween special with custom opening and graphics - https://www.youtube.com/watch?v=obj5fBp7mV8

An anniversary series where we went back and re-riffed a few movies from our early days on youtube - https://www.youtube.com/watch?v=mUJYZDxuHPY

@DrakkenZero Not to stick my nose where it's not wanted, but maaaaaybe this could get some distribution on a new broadcast channel too? :D
I still have this guy on my desk, right now.
A small, mostly-blue molded-plastic sasquatch being held in an open hand.  He has a little bit of a derpy look on his face and definitely looks more friendly than abominable.
This entry was edited (1 day ago)
Congratulations, a hard-won landmark!