this post was submitted on 21 Jun 2023
59 points (100.0% liked)
Technology
37724 readers
673 users here now
A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.
Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.
Subcommunities on Beehaw:
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Next step - should be a server that simply coordinates video transcoding, and users can run an application on their computer which will do the transcoding when it's idle and deliver the transcoded video back to the server. Like the rest of the Fediverse, make the community actually part of the community. I'm sure many of us would be happy to donate spare CPU time.
It's a nice idea but it sounds easily to abuse.
Not if you have a consensus algorithm and the machines all return a hash of the video they encoded. If they build IPFS support then the encoding machine could upload the file there, return the IPFS content address and the server can then pick an agreed upon address.
How? Can you explain
I'm not OP, but if transcoding is happening on user CPUs, it's theoretically possible to modify or inject stuff into the transcoded video. There'd need to be some way of validating a transcode matches the original, which is non-trivial.
A consensus algorithm could work, but that would massively increase the required compute. I'm not even sure things like NVENC vs CPU ffmpeg are deterministic in how tbey compress video. Different encoders could very likely end up with visually identical transcodes, but the hashes wouldn't always match.
Maybe someone else has a better idea for validating transcodes?
Sometime it's better to let it happen and let the user find out the person who mis-transcode video maliciously and get that malicious person banned from the instance. Many instances are invite-only, so it works out in a way that the benefit outweigh the risk.
The average YouTube user is not going to understand any of that. If they're watching a video and something unexpected comes up in the video, they're going to blame the person who uploaded the video.
I suppose although the documentation does point it out that the offender can modify such content with ease.
For live transcoding, I would suggest the broadcaster to purchase a good GPU and have it transcode the broadcast. While they are trying to suggest CPU-based solution, i would argue that they should explore the GPU based solution which can be much better optimized for this scenario.
Reference on Support Matrix for Encoding/Decoding support on GPU for Nvidia
Information for Transcoding on Nvidia GPU
Shouldn't fundamentally be much different to seti@home, boinc etc. Break a video into chunks, and let multiple computers encode a chunk each. If the chunks were small enough, most people probably wouldn't even realise their computer had just encoded a chunk of video