With the news that fox is buying Roku, I'm more determined than ever that we need a Community Entertainment System #CES But not that CES

I've tried lots of different configurations over the last few years and been deeply disappointed with all of them.

I've rolled my own software, and been pretty disappointed with it too.

But things are more pressing now than they were before, and that makes me more willing to overlook some papercuts and instead focus on getting the 80% product.

I'm still in a car and still more than 3 hours from home, driving through rural Alabama, so I may not update this thread as quickly as I otherwise would.

But this is a thread.

Alright, lets start with the problems:

People want to watch television.

Modern televisions spy on you, screenshot what you're watching and phone home with it, and use your home internet connection to proxy other people's traffic.

The modern settop box ecosystem is dominated by google, apple, amazon, and roku.

Roku is being acquired by Fox.

Google, Apple, and Amazon are owned by billionaires who are perfectly happy to bend their knee to fascists, and their products also spy on you.

This is prime time for a good, open source, community focused set top box alternative.

There are several pieces of set top box software out there already, and they all "work" for varrying definitions of work, and I kind of hate them all.

If you're looking for suggestions, I run jellyfin as my server and interact with it from either the jellyfin google TV app or kodi via openelec.

This is fine. It does the job. There are some papercuts, and it means I have to supply my own media.

It's a nerd solution, and probably the best we can hope for.

I say "probably the best we can hope for" despondently.

Jellyfin's server works pretty well. The mobile apps, with some nerd-shit tinkering, work pretty well. The kodi UI is tolerable.

But using this setup means 1) running a server 2) supplying my own media 3) setting up some kind of solution for remote access (I went with zerotier + a reverse proxy from one of my already overloaded VPSs) 4) figuring out the plugin ecosystem if you wanna access any media you don't have locally.

It's janky. I want to say it's also fragile, but surprisingly it hasn't been fragile. It's just janky.

But from this setup, I can't access any major streaming platforms (I don't think! I haven't really tried) because they all mandate playback DRM. I can kinda work around this for youtube and things that are yt-dlp compatible, for as long as they continue to win that war, but it's still far less cohesive than a native application.

(this is not a problem for me! I suspect it is a problem for other people.)

Additionally, as far as I can tell/the last time I looked, there's no peertube support available for current builds of kodi or available for jellyfin at all.

My biggest complaint about the Kodi/Jellyfin situation is that I can't just honk a flash drive with a movie on it into the usb port of my set top box and watch it. I have to Import it into my media library, copying it into local storage.

I don't want to do that.

(there are ways to fix this! They're just ugly.)

@ajroach42 this reminds how, a decade or so ago, it was very common for non-techy people to get given stuff on USB stick by their techy friends/relatives. This was back when most young people knew how to torrent though
You can kinda sorta fake peertube support in both via rss, by treating remote videos like podcast episodes, but the browsing experience leaves a lot to be desired and the discovery experience is downright nonexistent.
Of course, peertube videos have a download link on the page and also work with yt-dlp (as long as you're not watching a live stream) but that takes us solidly back into the world of Jank.

So, what's to be done?

I want a fully open source set top box application that will run on commodity hardware including SBCs like the radxa rock 2F (which, when it was cheap and in stock, was the ideal platform for this project, with onboard emmc, 2usb ports, wifi, Bluetooth, and a pricetag under thirty bucks.)

I want that application to support browsing multiple peertube servers (with a preconfigured list of good hosts and the ability to add your own), local media server discovery, support for persistent and ephemeral local storage, first-class support for podcasts and a decent video/audio podcast search interface (a youtube channel is not a podcast) and a "channel flipping" style interface for configured iptv streams.

I know many people would also like for it to work with youtube/vimeo/etc. I consider that a secondary goal, as I consider youtube a threat (but I still post there, so whatever)

I want it to work such that, if you have a local media server, you can use it and if you do not have a local media server, it is still viable as a video watching device.

I've gone through five or six iterations of building this myself and I've not been happy with any of them.

As much as I don't want it to be the case, I think Kodi is the best base upon which to build.

I've been mean to Kodi in this thread. Kodi is not bad! It is a remarkable software project and I'm super glad it exists.

But it's also an organically expanded open source project, legacy software with two decades of competing priorities all contributing to a very weird and inconsistent user experience. Kodi as a software project has also been abused by fly by night orgs trying to make some money on piracy, and as a byproduct the current iteration of the software is pretty aggressively resistant to "productizing".

Some of that could be skinned away. Some of it could be addressed with plugins. But some of that is just how Kodi is. Weird little papercuts and UI quirks that we'll have to work around or accept.

At this point, I'd like to open things up to the floor.

How might you go about implementing a system that meets the above goals?

In the short term, I think I'm going to dust off a prototype I canned a few years ago and tinker with it again. It was a custom skin and a series of homebrew plugins for Kodi.

I abandoned this line of development because I was worried about forced updates/breaking changes under the hood, and I found the process of setting up new devices to be tedious.

I have some new thoughts about that, and I want to experiment.

We'll see how far I make it this time.

@ajroach42 I always go to a greenfield place, which isn't what you're talking about. I haven't really used Kodi, so any suggestions or thoughts I have are going to be unformed on that end.

I'm using jellyfin with a web browser front end, mostly, and it's fine. I have in the past used vlc and mplayer for local video playback.

I wonder if plugins to kodi might provide both local video playback and peertube access? Does freetube have peertube compatibility?

I really like this idea, fwiw.

@ajroach42 Answering my own question, I see there is a notional peertube plugin, although I don't know how mature it is:

https://kodi.tv/addons/omega/plugin.video.pt/

Next Gen Peertube Addon | Omega | Addons

Next Gen Peertube Addon

@ajroach42 piggybacking on @wohali 's comments, I wonder if a project more like OpenWRT (where there is blessed hardware, but also it runs lots of places) is a good model. And/or thinking about this as a mini-distro instead of an application?

Or is there more than one project here?

* A "universal" media client
* A media/set-top-oriented OS (centered around the media client)
* Hardware running that client under that OS

@Unlikelylass @ajroach42 I think another question is: is the desire here to answer the set top box thing? or is it an earnest and honest wish to build a peer-to-peer "broadcast network" thing? because that is far more about getting people on board with the idea, encouraging content of the form(s) you desire, etc. beyond stumping for a given technical solution.

@wohali @Unlikelylass I mean, Ultimately it is both.

The set top box issue is a serious concern that keeps getting worse. As a media producer, having an alternative platform to target and encourage would be useful.

If doing so leads to a broader adoption of open Broadcasting tools, all the better.

@Unlikelylass @wohali the openWRT route is how I picture this in my head, but that is, so far, fantasy.
@Unlikelylass last time I checked, the peertube plugin was python 2.
@Unlikelylass oh, this one is new! I'll take a look.
@Unlikelylass greenfield is fine. How would you scratch build it?

@ajroach42 Well, I'm old, so I'd be writing a central "media" interface, and have a plugin architecture with "jellyfin", "peertube", "invidious", "local directory" and "local drive". Probably also some kind of ffmpeg/handbrake/makemkv wrappers/plugins for ripping content (there's something I stumbled across recently called ARM -- Automated Ripping Machine -- that might be a useful model).

One way to handle arbitrary streaming services _might_ be to embed some kind of browser plugin, too.

@ajroach42 But none of this is useful implementation details, my ideas on this are definitely not informed ones -- you've actually done effectively all this, building off kodi, yourself, multiple times, it sounds like.

I guess the other thing is I'd probably wrap this magical universal client in a stripped down linux distro running phosh as an interface.

@ajroach42 But you should probably ignore me -- it's super easy for me to say "write a plugin interface", but the devil is always in the details, here.

The Great LLM-pocalypse is hitting OS platforms. Rust would be something you could pick for implementation for a bunch of reasons, but they are also getting hit with slop in the core infrastructure. I think it's ecosystem is rich enough that there'd be useful libraries to leverage, though.

There's lots of reasons to pick something else, too.

@ajroach42 I want this thing to exist. I have some relevant skills around implementation, but I also am a dilettante who has no directly applicable implementation experience, while you actually run a cable network. :P

Hm.

I wonder if something like a Phosh interface is the "client", and the "plugins" are just "apps" you pick between -- ie, a browser link on the desktop that brings up a streaming site like a peertube, or a jellyfin client, or a vlc. The interface would be real inconsistent.

@ajroach42 That is, if you want consistency, you write the universal client, with all playback from different sources as plugins, so you have solid extensibility and consistency in the interface.

Or you go the AndroidTV/AppleTV/Roku model and have an OS with a simplified desktop, and each media source is a dedicated icon on that desktop with a self-contained app (which might just be a browser + url with a site-specific icon). The interface would vary from data source to data source.

@Unlikelylass I have considered this path more than the other path.
@ajroach42 it makes more sense probably -- the "write a new universal media client from scratch" has the XKCD "now there are 15 standards" problem.
@Unlikelylass absolutely

@ajroach42 I lost track of -- someone mentioned postmarket OS as a base -- iirc that's alpine based and recently added systemd, both of which are now AI tainted. Aside from that, it's probably a good option.

I need to check my BSD VMs repos and see what media and window manager stuff is available.

@Unlikelylass I appreciate your thoughts! It's always interesting to see how these ideas resonate with others.

@Unlikelylass I seriously considered phosh a while back.

One implementation I built a few years ago was 100% TUI, and shipped with a thumb keyboard. This was pre-peertube, and they were running local media, LAN media, and text adventure games.

Made three or four of them. Apparently at least one is still in operation.

@ajroach42 that is pretty amazing, tbh. I remember you tooting about a handheld platform with media cartridges for some kids a couple years back.
@Unlikelylass yeah! Had a lot of fun with the project. I miss working with them, they were good kids.

@ajroach42 As a hardware and embedded software designer, who makes a living doing these things for my own business as well as contract/consult for other companies and startups, and as a community leader in several popular open source projects over the last 30+ years:

you need to make a (business) decision as to whether or not you want to be the distributor for this thing or not.

the benefit is that you can ensure everyone has the same experience (you assemble the hardware, custom case, custom software load, guaranteed out of the box experience, etc.). this probably means in-house developing a custom kodi skin and plugins to achieve your goals.

the downside is that you probably will want to, up front, purchase significant quantity of your desired HW, and continuously evaluate new off-the-shelf components. so you need the capital, and you need a long-term business plan. one option here to avoid massive initial capital outlay is a custom board, which isn't impossible, but at least ensures that a single board computer going EOL won't force your hand to start from scratch again.

if you choose not to be the sole distributor, you really need to decide to support a variety of hardware solutions, and have a community help you construct and support the experience, even if that's largely just building skins and writing plugins for kodi or whatever, and porting to new hardware platforms. i know you want this to be turnkey, but if the effort exceeds what your team can do, it'll flounder for lack of support. you need that larger team (like kodi or jelly fin has) to do the work where you can't or don't have time to do.

the usual question i will ask when brought in to consult on this is: what do you want your core competency and business to be? is it producing content? is it making set top boxes? is it writing software?

the answer to that question will i think drive the answer to the "what" that you do, and the "how" will naturally be answered by that.

@wohali genuinely, I just want to make tv shows (and video games and toys!) but without a viable alternative set top box, I don't think I'll be able to continue to do that.

I have a reasonably sized team and a couple of devs. I've considered tackling this seriously over and over again for the last ten years.

But it's not so much that I want to build it as it is that I want it to exist.

@ajroach42 what you want doesn't exist, I think.

so the question is: will you build it yourself? or will you just keep wishing?

sorry if this sounds forward, i mean zero disrespect. i just don't think pinging social media for the state of the ecosystem every 3 months is going to suddenly turn up a project that has done exactly what you want.

that said: it does sound like you don't really want to build it. and it's not really your core competency, nor do you want to make it that.

i empathise!

@ajroach42 but to be clear: going down the road of building this ecosystem will transform what you do and what your business looks like significantly.

it would be a valuable exercise to at least envision that, and put together a 5-year plan towards it, then sit with it and see how it might feel to do that - potentially at the expense of what other things your team and resources can accomplish.

@wohali I have built many implementations, and will probably continue to tinker. I talk about it mostly to work through whats changed since the last time I tinkered with it.

It isn't my core competency, but it's not that far from the world I started in. I don't want to be the one to build it, but I'll keep muddling through, slowly, until I get to something I'm happy with.

@ajroach42 Would a non-Google Android not coast through for this use case?

My wrinkle down that line (as I try to solve my version of the problem) is DRM on the library apps (support tickets submitted). If they use the Widevine that requires Google-blessed hardware, then I might as well use a mouse and browser.

But for Jellyfin servers, local media, and PeerTube, Postmarket should work well, assuming nice apps and a remote control.

@ajroach42
Have y'all checked out how cytu.be works?
@HeliosPi that's the rabbit clone, right?
@ajroach42
I'm unsure. Its cool how people make their own channels and collaboratively link streaming content there.

@ajroach42
I guess the question comes down to a price point. Without a surveillance-capitalism business model, and thus no subsidy, the hardware is going to be $$$. But if that were okay, then this might fall into the niche of builders like System76 and the like(?) 🤔

I know you can get hardware on AliBaba and then install software. I presume it's possible to sell that. I'm intrigued, if the market would support it. But IDK.

@TerryHancock I dunno what it would look like right now, but the last time I priced this out (pre-trump tarrifs) the hardware could be had for thirty dollars, including case, storage, power, and remote.

I originally planned to include support for video games, and would still like to do this.

I dunno if there's an audience for "like a roku but for community media and whatever you've pirated" but I'd like to think there is.

@ajroach42
IDK. A few times I've thought of doing a side hustle buying hardware, installing FOSS platforms, and then reselling. Not sure what I'd have to charge to make it worthwhile. It would depend on volume, because most of the effort would be on the prototypes.

@TerryHancock I did this for (part of) a living from 2008 to 2014. I did game consoles, media servers, budget PCs, and a couple of other packages. Mostly used hardware, sometimes a raspberry pi. Usually made a decent scratch, rarely struggled to find a customer.

Market changed in the meantime, but I've seriously considered going back to it.

@ajroach42

This feels like what was promised by Plex before the freemium aspect of it got too unpleasantly in your face

@gbargoud I can't trust a company that profits specifically from facilitating an illegal activity. They're going to flip on their users one day.

@ajroach42

I went from XBMC to Plex like 13 years ago for my library of movies and TV shows. some were admittedly pirated but a lot were ripped from DVDs that I just didn't want to deal with plugging in.

When I rebuilt my desktop last year I was starting to set Plex up again and it had gotten extremely unpleasant so I pivoted to jellyfin. I had also been receiving almost weekly emails from Plex about streaming things I did not care about on services that seemed sketchy as hell.

@gbargoud @ajroach42 I find your ideas intriguing and want to subscribe to your newsletters.

It's been 15 years since I was messing around with Plex and XBMC. Part of the problem with them in my house (on top of what's been mentioned) was that they were wonky enough that my wife and kid didn't like using them so I effectively became their remote control for the home media server. Eventually it was just easier to get a Roku that they would actually use.

Now that I have less energy to put into being my own admin what I really want is simply a Roku that isn't owned by fuckheads who do shitty things with my data. But with all the streaming services also owned by fuckheads who do shitty things with my data I'm not sure what apps would be available for this fantasy Roku replacement.

@theotherbrook @gbargoud I'm specifically looking for local and LAN media playback, and support for peertube, podcasts, and IPTV streams.

Any other apps would be a bonus, certainly, but beyond the scope of what I could expect.

@theotherbrook @gbargoud (and I recognize the newsletter bit is a joke but https://joyfulrevolution.Ghost.Io next issue goes out next week and it'll be about homebrew video games, probably.)
Joyful Revolution

A creative community from Ellijay, Ga. that makes toys, TV, coffee, and culture. We’re an antidote to the corporate culture you’re used to.

Joyful Revolution
@ajroach42 @theotherbrook @gbargoud mastodon 4.6 did just add a newsletter feature though. (prob the best idea they had so far, imo.)

@ajroach42 @gbargoud Plex was a non-starter from day 1.

"Host your own pirated media, but give us backdoor access to see what you have and control your server for you. And pay us for that!"

WTF?? No.

@ajroach42

FWIW yt-dlp can pull from most non-DRM video platforms as well as youtube.

I've used it to pull things from vimeo and pbs passport.

(honestly I was pretty shocked I got a playable video out of passport)

@ajroach42

I was just looking when I started reading this thread and could not find a peertube plugin for jellyfish or even any website that mentions both that isn't one of those on demand extruded text garbage sites so that last paragraph is still accurate