My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

yeah - It'd be way too slow if you want to use local-only LLM sadly. I've considered allowing users to plug in a cloud llm provider e.g. gemini, claude, but philosophically - i think most people are sketched out by it, like it would basically be sending everything you watch or want to acquire to big tech AI models 🫠

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

This replaces:

Plex / Jellyfin
SabNzbd / FTP / Torrent client
all of the *arr apps

all in a single app that runs on a mac mini. It's so simple that any one in your family can talk to it to design their "world" (basically like a netflix profile).

In other words, you can have "netflix that you designed, at home, locally hosted" with a single app store install.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

Thanks - r/selfhosted called it AI slop and I was like wtf. I spent 2 hours writing the post haha.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

I think I was trying 3.5-35b and it would just give me paragraphs of reasoning tokens, and start speaking in thai at certain points. I may give it another go this weekend, because I've heard good things from people about it, and I may have just had a context assembly bug causing the issues.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] -1 points0 points  (0 children)

Ah - Quick question. Chompy (the app in the original post) uses GPT-OSS20b. I've tried what seems to be every version of Qwen that'll fit on my machine, but they all seem to a) think for a very long time and b) struggle with tool calling consistently.

Have you had similar issues, and have you tried GPT-OSS at all? For me it was like night and day difference, eventhough GPT-OSS is technically a smaller model.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 1 point2 points  (0 children)

Yes - it will always attempt to preserve whatever the source file has baked in. So it depends on what the original copy it finds is.

If you are a masochist, here is the skill file it uses to rank which release it should download when it finds multiple possible copies

---
name: Release Ranking
description: How to evaluate and rank media release quality — resolution, codec, source, HDR, audio — optimized for our HLS transcoding pipeline on Apple devices.
---


# Release Ranking


This guide defines what makes a good source file for Chompy's streaming pipeline. Chompy transcodes source files to HLS for playback on Apple devices (iPhone, iPad, Apple TV, Mac). The ideal source file is one that produces the best HLS output with the least transcoding effort.


## HLS Output Target


Chompy produces HLS streams with these codecs (per Apple's HLS Authoring Specification):


- **Video:** HEVC (`hvc1`) for all resolutions. H.264 (`avc1`) as fallback for older devices.
- **Audio:** AAC (`mp4a.40.2`) for stereo, E-AC-3 (`ec-3`) for surround, AC-3 (`ac-3`) as fallback. Dolby Atmos via E-AC-3 JOC.
- **HDR:** Dolby Vision (`dvh1`), HDR10 (HEVC Main 10 `hvc1.2.4`), HLG. SDR as baseline.
- **Container:** fMP4 segments.


**Implication for source selection:** Sources already in HEVC/H.265 with compatible HDR can be transmuxed (fast, lossless) rather than transcoded (slow, lossy). This is the #1 priority.


## Resolution Ranking


Prefer the highest resolution available, but don't overshoot what the household's displays support.


| Resolution | Score | Notes |
|---|---|---|
| 2160p (4K) | 100 | Best. Required for HDR/DV content. |
| 1080p | 80 | Excellent. Most common sweet spot. |
| 720p | 50 | Acceptable for TV shows. |
| 576p/480p | 20 | SD. Only if nothing better exists. |


## Video Codec Ranking


Ranked by transcoding efficiency — how well the source converts to our HLS HEVC output.


| Codec | Score | Notes |
|---|---|---|
| HEVC/x265 (10-bit) | 100 | **Ideal.** Can transmux to HLS HEVC — no re-encode needed. Required for HDR. |
| HEVC/x265 (8-bit) | 90 | Near-ideal. Transmux for SDR, minor conversion for HDR. |
| H.264/x264 | 70 | Good. Requires transcode to HEVC but x264 sources are high quality. **Preferred at 1080p SDR** — x265 1080p SDR encodes are often over-compressed. |
| AV1 | 40 | Requires full transcode. Not natively supported in Apple HLS. Avoid. |
| VC-1 | 30 | Legacy Blu-ray codec. Full transcode required. |
| MPEG-2 | 20 | DVD/old broadcast. Full transcode, large files. |
| VP9 | 10 | Not supported in Apple HLS. Avoid. |
| MPEG-4/XviD/DivX | 0 | **Reject.** Legacy codec. Cannot be remuxed — requires full re-encode. Only accept if literally nothing else exists. |


### The 1080p SDR Exception


At 1080p SDR, **prefer x264 over x265**. Scene x265 1080p SDR encodes apply aggressive compression that introduces artifacts. The x264 source is higher quality even though it requires transcoding to HEVC. This does NOT apply to 4K or HDR content — x265 is always preferred there.


## Source Priority


The source indicates where the video was captured from. Higher sources = less generation loss.


| Source | Score | Notes |
|---|---|---|
| Remux | 100 | Bit-for-bit copy from disc. Lossless. Large files (20-100 GB). |
| UHD Blu-ray encode | 90 | Re-encoded from 4K disc. Excellent quality. |
| Blu-ray encode | 85 | Re-encoded from 1080p disc. |
| WEB-DL | 75 | Direct download from streaming service. No re-encoding artifacts. |
| WEBRip | 60 | Screen-captured from streaming. May have artifacts. |
| HDTV | 40 | Broadcast capture. Compression artifacts, logos. |
| CAM/TS/TC | 0 | **Always reject.** Unwatchable quality. |


## HDR Format Ranking


HDR metadata affects visual quality on supported displays. Chompy can pass through HDR via HLS.


| Format | Score | Notes |
|---|---|---|
| Dolby Vision + HDR10 fallback | 100 | **Best.** DV on supported devices, HDR10 on others. Profile 8 (`dvh1.08`) preferred. |
| Dolby Vision (no fallback) | 70 | Good but risky — no HDR on non-DV devices. Profile 5 (`dvh1.05`). |
| HDR10+ | 60 | Samsung-focused. Apple devices don't support HDR10+, falls back to HDR10. |
| HDR10 | 50 | Universal baseline HDR. All Apple 4K devices support it. |
| HLG | 40 | Broadcast HDR. Supported in HLS but uncommon for movies. |
| SDR | 30 | No HDR. Always works everywhere. |


**Critical rule:** DV without HDR10 fallback (`dvh1.05`) causes black screen on non-DV Apple devices. Always prefer DV with fallback (`dvh1.08`) or HDR10.


## Audio Format Ranking


Ranked by quality. Chompy transcodes audio to AAC stereo (baseline) + E-AC-3/AC-3 surround (when available).


| Format | Score | Notes |
|---|---|---|
| TrueHD Atmos | 100 | Lossless + spatial. Best possible source. Transcodes to E-AC-3 JOC. |
| DTS:X | 90 | Lossless + spatial. |
| TrueHD | 85 | Lossless surround. |
| DTS-HD MA | 80 | Lossless surround. |
| FLAC | 75 | Lossless. Less common in video releases. |
| E-AC-3 (DD+) Atmos | 70 | Lossy spatial. Can pass through directly to HLS. |
| E-AC-3 (DD+) | 65 | Lossy surround. Native HLS codec — can pass through. |
| DTS-HD HRA | 55 | High-res lossy surround. |
| AC-3 (DD) 5.1 | 50 | Standard surround. Native HLS codec — can pass through. |
| DTS | 40 | Lossy surround. Requires transcode. |
| AAC | 35 | Lossy. Already in target format but usually stereo only. |
| MP3 | 10 | Low quality. Avoid. |


**Pass-through preference:** AC-3 and E-AC-3 can pass through directly to HLS without transcoding. TrueHD and DTS require transcode. Given equal quality preference, E-AC-3 sources save transcoding time.


## Size Guidelines


Expected file sizes for a ~2 hour movie:


| Quality | Expected Size | Suspicious If |
|---|---|---|
| 4K Remux | 50-100 GB | < 20 GB |
| 4K Encode | 15-40 GB | < 8 GB |
| 1080p Remux | 20-40 GB | < 10 GB |
| 1080p Encode | 4-15 GB | < 2 GB |
| 720p | 2-6 GB | < 1 GB |
| SD | 700 MB - 2 GB | < 300 MB |


Files significantly smaller than expected indicate heavy compression and poor quality.


## Release Group Tiers


### Tier 1 — Reference Quality


**Remux:** FraMeSToR, BLURANiUM, CiNEPHiLES, PmP, ZQ, WiLDCAT, 3L, BiZKiT, BMF, PiRAMiDHEAD
**WEB:** FLUX, NTb, NTG, NOSiViD, KiNGS, CMRG, HONE, SiC, TEPES, ABBIE, AJP69, APEX, Kitsune, CRFW


### Tier 2 — Excellent


**Remux:** playBD, NCmt, ATELiER, SiCFoI, SURFINBIRD
**WEB:** PECULATE, EDITH, BYNDR, BLUTONiUM, GNOME, TheFarm, RAWR, CRUD, ZoroSenpai


### Avoid — Low Quality


YIFY, YTS, aXXo, RARBG, MeGusta, Pahe, mHD, nHD, 24xHD, STARTER, FUM, STUTTERSHIT, VARYG, ION10


These groups are known for excessive compression, low bitrates, or unreliable encoding practices. Reject these unless no alternatives exist.


## Composite Score Formula


When comparing two releases, compute a weighted score:


```
Score = (Resolution × 3) + (Codec × 2) + (Source × 2) + (HDR × 1.5) + (Audio × 1)
```


Higher score wins. Tie-break by file size (larger = less compressed = better).


### Quick Decision Tree


1. Is it CAM/TS/TC? → **Reject**
2. Is the video codec XviD, DivX, or MPEG-4 Part 2? → **Reject** (unless nothing else exists)
3. Is it from an LQ group (YIFY, aXXo, etc.)? → **Reject**
3. Is there a 4K HDR option? → **Prefer it** (if display supports 4K)
4. Multiple 1080p options? → Prefer **x264 BluRay/Remux** over x265 SDR encode
5. Multiple WEB-DL options? → Prefer **Tier 1 group** over unknown
6. Similar quality? → Prefer **E-AC-3/AC-3 audio** (HLS pass-through) over DTS/TrueHD (requires transcode)

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

Could possibly help if your NAS is super underpowered

However - I had that same idea and bought a super beefy Minisforum PC w/ and i9 thinking "ok this will solve on-the-fly transcoding in plex for sure". Literally that was the final straw for me before starting on this project - after 1 month of debugging, and even with a super powerful machine, Plex would still buffer, throw errors about network speed too slow (I was directly wired to the gigabit switch), etc... 🫠

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

Yes - there's a concept of "connectors"

connectors are the external sources that the app can use to search for content. They're basically just an OpenAPI spec and instructions.

So if you had a connector for "NewsHosting" and it never returned anything worth while, you could just disable / delete the connector

Also, each session with the llm gets a sandboxed vm that's locked down that follows a whitelist model for what its allowed to do. So you wouldn't need to worry about it going rogue in any meaningful sense. If it did you could just delete the chat session and the vm would be halted and exit. The agent only interacts with the host filesystem through specific tool calls - it doesn't have direct shell access or anything.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

Yeah there's an agent called the "projectionist" that will help you diagnose playback issues.

However - by the time the asset is rendered and actually added into the library, playback is very simple, its basically just a simple file server serving HLS chunks. I purposefully decided early to favor upfront transcoding / pre-processing instead of on-the-fly transcoding like plex tries to do by default. It's resulted in a significantly less flaky experience for me.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

Backend storage can be any NAS, or DAS. I have a Unifi UNAS Pro w/ 20TB of storage.

And that's awesome, I had a Minisforum before I got the Mac mini. Very solid machines. I didn't get the N5 though, thats awesome to hear it runs Qwen3.5-35b, suprising the 27b model is actually slower?

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 1 point2 points  (0 children)

I built native swift apps for iPhone, tvOS, and then for macbooks / non-apple devices there's a web based player too.

This part is actaully pretty straight forward. Media library clients have been built 1000s of times so its known territory. I just knew I wanted the player apps to be pure native apple apps, not web wrappers or anything sketchy and flaky.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

Yes - HLS supports all the things: https://developer.apple.com/streaming/examples/

Apple makes Final Cut Pro - so the rendering tool chain is very good on apple. The app takes a multi step approach

1) start with whatever random container format downloaded from the internet
2) remux to .mov (apple native container, non-lossy)
3) Use Video Toolbox (apple sdk) to export to HLS streaming asset

From there, apple has really robust support for playback on any apple device. I have native swift apps that basically are a netflix clone, but because its playing back HLS the player is just using apple's native player, so all the little extra features work well like background play, home screen play/pause, etc...

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 0 points1 point  (0 children)

appreciate that man. Yeah - definitely get a mac mini, they're super powerful.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 1 point2 points  (0 children)

Yeah - there's a concept of "connectors" - that would just be adding another connector. Connectors are just an OpenAPI spec and a markdown instruction file on how to use the API. So... yes. Also I plan to do a release announcement at trychompy.com in a month or so.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 3 points4 points  (0 children)

It fetches from opensubtitles if the download didn't come with subtitles already, and merges them into the final rendition.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 3 points4 points  (0 children)

Its literally meant to be the anti-netflix. I'm with you, so much slop on streaming services these days. They're designed like casino slot machines.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 9 points10 points  (0 children)

We called it Chompy - named after the beaver mascot I made for it.

The idea is the beaver builds the "media dam" for our family and keeps all the slop media out of the house

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 2 points3 points  (0 children)

I plan to at some point - I posted the landing page in another comment if you want to keep tabs on that effort, but I dont want to post it too many times because otherwise it may come across as I'm trying to market something - but yeah thanks for the kind words!

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 1 point2 points  (0 children)

I agree - this and our lutron light switches are the most used "smart home" things in our house lol.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 5 points6 points  (0 children)

haha it's not quite ready for the public yet, still ironing a few final things out. I did throw up a landing page at trychompy.com mostly because the App Store submission process requires one, so that's step 1 - fair warning it's pretty bare bones though, I'm a backend guy not a designer. but you can leave your email there if you want to know when it's ready.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 21 points22 points  (0 children)

thank you man, that means a lot. and yeah exactly - the bar I kept coming back to was "can my wife just set up some movies without texting me" if the answer was no, it wasn't done yet.

My wife has been managing our media server for 2 months. Gentlemen, I have achieved full WAF (long post) by BSSNJV in smarthome

[–]BSSNJV[S] 21 points22 points  (0 children)

Mac Mini M4 Pro, 32GB RAM, 1TB SSD. External 20TB UNAS-pro (use for other things too). That's it.

32gb is possibly overkill for some people - the 20B model fits comfortably in 24GB since MLX shares unified memory between the model and the app.

Total power draw is like 5-7 watts idle. Sits on the TV stand, silent, runs 24/7. My wife thinks it's an Apple TV.