Hi there I discovered, tested and built an Ersatz TV set up last night after hearing about it on reddit. It's a fantastically lean piece of software and really impressive achievement. I love large bits of it and I wanted to give some feedback as a fresh person.
In a few hours sprint of very focussed work I had 9 channels up and operational, playing different bits of video content, around different themes. I thought this was brilliant.
For reference: I used this on a Windows machine, with Jellyfin as the viewing client. I used and viewed locally on the same machine. I tested on other devices via Tailscale + Jellyfin but wasn't successful (but I think that was my issue rather than Ersatz)
==What I loved==
- Super clean UI and opensourcey (like Jellyfin)
- Ability to have random content selections
- Ability to have random adverts that feel like you're watching a live TV feed
- Rounding the content to the nears 5, 10 minutes, and filling the gaps with (your self selected) ads
- Ability to flick between channels and content themes
- The idea of a program guide.
==Places for improvement==
Major issue - the transcoding process seems excessive and creates a number of other issues which I'll lay out below
Long delays before play. It would take about 30 seconds before a stream would come up sometimes
If you flick between channels, it's still transcoding the previous stream which really bogs down the machine. Sometimes 3 or 4 ffmpeg instances will be simultaneously transcoding even though you're not using the other channels.
I don't need it to be transcoded if it's playing locally and not being transmitted over the internet
My Nsync GPU acceleration didn't get working many times. I had to update to the latest Nvidia drivers, but that didn't help. So there was huge load on the CPU, which made it struggle, even though it's a pretty powerful gaming laptop. (Lenovo Legion 5 - 10th Gen i5 CPU, 1660ti Graphics card)
Minor issues - The content organising process took a long time and seemed like it was duplicating itself. It felt like I had to go through 4 steps for each channel. Even though there was only really one or at most two folders playing for each channel. (First upload media, then sort into collections, then sort into schedules, then sort into a playout).
I feel like you could remove at least one step there. Or presort uploads into collections - which can then be batched into multi-selections. I'm only playing files off a local hard drive.
Thumbnails were not generated out of content. None of my videos are mainstream TV or movies. They were "other videos" in that category. It would be great if you could have the software generate the thumbnails then those can feed into the Live TV stream or program guide. Like Jellyfin does. So you know what you're getting into.
The clicking clock for adverts / filler is in hours:minutes, rather than minutes: seconds. So I ended up getting 3 hours of adverts around a 20 minute show, rather than 3 minutes. Would it be possible to change that?
==Overview==
Overall, I was happy and pleased with what was possible to generate with this. In future I'd like to have my own selection of broadcast. One can be a gameshow channel, one can be cartoons, one can be films, one can be xxx, one can be old movies, one can be a comedy channel.
The major issue I have is with the channel hopping experience which I want to have no, or zero latency on. I'd like to be able to like press a zapper and switch channels. I know there may be a gap because the system needs to load the file. But due to the transcoding process, it would be like 30 seconds plus before I got a stream.
The alternative to something like Ersatz is like a random playlist in VLC, but that doesn't give the whole "program guide" and random selections and menus type experience. Nor can ads be planned or programmed in the same randomish way.
I guess this tends to come down to how heavy the transcoding process is. When you scope this forward, could you have an option in the software that just plays the video as it is? When I've used jellyfin across devices for local media, it just tends to play the file straight from my external Hard drive rather than choke itself trying to compress and regenerate the file. This was a major pain point in using the software.
In any case I'd like to congratulate you and say thanks. I'll make a small donation as I appreciate the work you've put into this (although I am skint). And I hope this feedback and be helpful in you building and developing the software. Thank you!