FWIW, you can run an smb server from within a docker container (on the linux side). I forget which one I used but it makes the setup painless and you can configure different auth strategies as well. Network errors (little bit of packet loss) are generally handled by the underlying OS, and in case of windows, it can use multiple network paths simultaneously to give you the aggregate bandwidth.
If you're talking about how today's open source NAS software has a button for enabling NFS/SMB on a directory:
1. I built my NAS long before software like that was common. Some of my custom stuff (Eg tiered storage, storing the first few seconds of every video on flash, etc) would be a pain to migrate.
2. Some of my Windows machines are untrusted. Unlike the NAS, they have internet access. I can't give them read access to the entire NAS, but I still want to use their GPUs and CPUs to run ffmpeg on arbitrary files on the NAS.
3. I could spend a day writing more code to move files in and out of a shared directory every time I need to run ffmpeg on them. But I was hoping "FFmpeg-over-IP" would let me run a remote ffmpeg on a local file. Like calling an RPC
Did you build your NAS in the 90’s or early 2000’s?
This has been available in Synology and QNAP devices for that long…
I used to own the tape library that is the Disney Vault. A common pattern for transcoding is to have a watched folder. Drop files you need transcoded in, get files you want in a diff directory when finished.
More like you’re not familiar enough with the video encoding performance of a typical NAS that is not in the thousand dollar range. Or what’s a NAS — it can be anything really.
Why would you transcode on the NAS?
Not what I’m suggesting at all; perf on most NAS is awful for that…
There’s a pretty well understood concept of what a NAS is; this isn’t a complicated philosophical problem.
A very common workflow in motion picture production is to use NAS for storage on a fast network, mount the SMB share, have a script/tool/app that monitors the ingest directory and writes to an output dir.
FWIW the key differentiator between a NAS and other types of network storage is the protocols they use.
If files is the main primitive, it’s a NAS; it’s its blocks it’s considered a SAN.
Sometimes SANs have NAS “heads” for clients that want file access or a block level storage device.
My five-year-old Synology DS418play has support for hardware realtime transcoding via its integrated low-power GPU. I think I paid about $600 for it. You can get a new DS423+ for about the same price.
What's the point of transcoding to HEVC? If your playback device already supports it, and the file is already HEVC, then there's no need to transcode. And there's no benefit I'm aware of in transcoding from an older format like H.264 to HEVC. AFAIK, every device that supports HEVC media also supports H.264 as well.
It would be helpful to understand your specific use cases in more detail, particularly for batch transcoding (my understanding is that this solution is not about stream transcoding).
Aight have you tried transcoding a normal file (today that means 4K resolution) to H264? It usually won't play because the standard limits resolution to 2048 pixels.