You can stuff all the info into an object and use it this way, no problem. I just wanted to point out that this doesn’t have zero performance impact compared to what you currently have.
So (depending on how your OS caches files) you might not want to do this like twice in a lambda that you pass to an iterator over a huge slice or something.
Second this. What you need for high quality media is space, not speed. For any single stream, network and drive will be fast enough anyway. Your typical HDD offers like 4-6 times the bandwidth that a regular Blu-ray can provide. You can get 8TB HDDs for the price of 2TB SSDs. Random access doesn’t matter for that application.
You might want to invest in redundancy and use a RAID 1 or RAID 10 array, depends on how valuable that media is to you or how long it would take to recover in case it’s lost. A simple solution would be a btrfs software RAID, in case your are after something like a Linux home media server with Jellyfin.