Hacker News new | ask | show | jobs
by Daiz 3734 days ago
That'd require a lot more extra processing power than you might think, as video encoding is very demanding processing-wise. Say you have a 1h30min long movie. Without anything like this, you only need to encode that 1h30min once[1], after which you can serve the same encode to all your customers, whether there's hundreds, thousands or millions of them. But if you encoded even just say, 5 seconds of unique footage per customer, it takes only about 1080 customers to double your video encoding time for just this title.

There are also other issues with this, like how resilient the scheme would be. If your watermarking relies on things that the user would hardly spot when watching, then it's very likely that re-encoding the video would simply get rid of the watermarks, since quality video compression is generally based on the idea of throwing away as much information that the user wouldn't notice while keeping as much important bits as you can. At the same time, if you make the watermarking easy enough to spot while looking carefully, then you could just have two people compare their watermarks and consciously mess them up.

That being said, various kinds of watermarking technologies do exist, but unless they're dynamically added to the content on playback they should all very much have the same kind of scaling issues as far as video encoding is concerned.

[1] Once in all the varying quality and compatibility levels you offer, anyway.

2 comments

Well actually with modern segmented streaming (HLS or DASH), you only need 2 encodes to get 2^n (for video of n segments) unique streams. The trick is you generate the manifest per user, and they each get a unique permutation.

I actually spoke to a vendor in the last month that claims to have actually deployed this and actually prosecuted pirates. Obviously this is a sales engineer pitching a product, so take it with a grain of salt, but I have no reason to believe the technology is not reasonably robust and scalable.

So then we need captures from, say, 16 users and some software to scramble all of them together.
If implemented in the player, no re-encoding would be necessary. Naturally this wouldn't help if a pirate grabs the data before it reaches the player.