This version comes with a small technical challenge that we're proud to have overcome! This new feature won't be as visible as a graphical change, but...
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.
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.
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
It’s a nice idea but it sounds easily to abuse.
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.
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.
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