I’ve got a few irons in the fire right now and I’d like to talk through them.
Idea phase: determining effective video resolution
I’ve run into a problem with some vides on my Plex server. I only have a certain amount of disk space available to store the videos on, and I try and keep them at a minimum quality level - 1080p, ideally. Some of them are 1080p files, but are over-compressed and so don’t really look 1080p. Some are cartoons and don’t need to be 1080p. I am interested to see if you can determine effective resolution of a nominally 1080p file in order to reduce disk space usage in the short term. In the long term this would also be used to evaluate the quality of prospective library members since, as mentioned, I do want to maintain a minimum quality level.
I think a simple approach to this would be to downscale the video to a smaller resolution, and then upscale it back to the nominal 1080p resolution. Comparing the two videos for what pixels have changed color and by how much would be a rough indicator of whether or not the downscale reduced the real resolution of the video. This seems like it’d be computationally intensive. I’ve also heard about perceptual hashing, which is a method of determining if two similar visual data files are actually the same video. These techniques may or may not be applicable to this problem.
Spec phase: virtualized gaming computer
I have a linux-based home server which is pretty darn beefy and a laptop which can’t keep up with modern games (and may be dying anyways). The server runs an AMD Ryzen 7 1700 processor and 64GB of DDR4. It hosts the ZFS volume that backs my Plex server (on a set of 4 mirrored pairs of disks of differing sizes) and it boots off of a 500GB NVMe drive. Right now, it’s underused. On my previous server, I proved that you could passthrough a consumer-grade Nvidia card to a KVM virtual machine (not sure which one of these resources helped, but it was at least one of: this StackOverflow question, this mailing list archive, or this Reddit thread - I bet it’s the StackOverflow one, that seems right). I had intended to use this with Steam’s In-Home Streaming, but found the performance to be sub-par. While directly connected to the card, however, the performance was quite good. I originally built this with a cheap Nvidia GT710 card (the kind of low-performance card people put in servers) and found Colin McRae Rally to be quite playable.
For this build I did pick a motherboard with only two full-size PCIe slots - the rest are PCIe x1 slots - so I’ve purchased another GT710 on an x1 card to become the new graphics card for the server itself. After that, I’ll pick & purchase a reasonably good, reasonably cheap card to use for the VM passthrough. I’ll let you know how it goes.
Build phase: motorcycle modifications
I ride a 2008 Yamaha V Star 1100, and I love it. For a big cruiser it’s pretty darn easy to ride. As of now, I’ve installed a highway bar, highway pegs, and an oil filter relocation kit. That last one was put in place because the stock oil filter location requires you to remove the lower exhaust pipe and right floorboard in order to replace it. This is a no-go if you’re intending to install a performance 2-into-1 exhaust like the Cobra Power Pro HP, which I’m intending to do - it just doesn’t come off & go on that easily. The relocation kit puts the filter in the front of the bike. I also intend to install a Chubby pod kit. With the pods, exhaust, and rejet I expect to see a reasonable power increase over the stock 54hp (not that I’ll be taking this thing to a dyno before or after). I have the intake kit and I’m waiting on SS Custom Cycle to ship the exhaust (it’s been backordered). For all these modifications I do quite a bit of reading on the V Star 1100 Wiki - quite a few people have owned these bikes and so I have a pretty good idea of what will & won’t work, and what I’ll need to do to get the job done.
In conclusion - let me know if you have any suggestions or resources on these!