Dear VideoHelp Forum,
I have successfully encrypted a video using AES-128 Encryption using FFmpeg, and I got it playing in a browser. The problem is that the key pops up in the network XHR tab in developer settings as well as the encrypted HLS .ts files. I want to figure out how to protect users from getting the key. Big companies use a DRM, yet I have not seen any records online if FFmpeg uses any DRM solution such as Widevine, Playready, and Fairplay. I haven't found a tutorial on how to use a DRM with FFmpeg. I also don't have a DRM. If I was able to encrypt a video using AES-128 encryption and play it back in a web browser, why stop there and add extra security? The goal is to prevent piracy of the stuff I create. Given that, I'm astonished how hackers have been able to make a pirated version of Trolls: World Tour even though Universal uses a DRM instead of AES-128 encryption. Me and Variety were right on the money when we discovered that piracy was on the rise with everyone stuck at home. How do I get FFmpeg to encrypt video with a DRM? How do I even get a DRM? Closest I can come is Azure Media Services, but storing and protecting the files costs money, and I'm only in experiment mode and not startup mode.
+ Reply to Thread
Results 1 to 6 of 6
If it can be viewed onscreen, it can be captured. Or as a last resort, a video camera pointed at the screen.
To totally prevent piracy of the stuff you create, the only way to do it is to not share your stuff.
I'm only being partly sarcastic - as lingyi said, if it can be viewed (after legit decryption of whatever method), it can be copied. If people want it bad enough.
Oh yeah, the other way to prevent copying of your shared stuff is if your stuff is so bad nobody wants to copy it.
Seriously, though, the part those in that previous thread didn't get, nor do you seem to so far, is that the model only works when all the components are trusted to maintain the secret all the way from file source to your display screen. That's why they have things like AACS & HDCP, Macrovision, etc. - so that each component passes the info along in a way that is trusted, no matter what form of drm is used. This usually means the player is an integral part of the authentication & decryption chain, and one that must share your subscription identity to the mother ship in order for it to know whether it can/should revoke the trust (due to licensing, your actions, a times' up, etc), and it has to be licensed to include facility for passing along to the next secure link in the chain. Therefore, since there is a great deal of licensing (read $$$) going on here, it is almost oxymoronic for it to use a FOSS player app as its base. It takes major investment in development to achieve such a secure playback chain, and that is why the big producers have tried vehemently to protect & enforce it, and why the licensors continue to charge exorbitantly (because they can, and because they don't want just anybody to get their hands on the tools).
That's why pirates have to resort to screeners, or must use an HDMI splitter that has been hacked to no longer honor the secure sink model, or use a (usually compromised) player that has been hacked to put out an unsecure channel, etc.
Lastly, I would hope that you put more trust in your audience (to do the right thing) than the big corporations do.
With respect, OP, the members on here spend hours trying to find ways to solve download conundrums. So this may not be the best place to request the exact opposite.
streamlink can download and decrypt on-the-fly, AES-128 encrypted videos from < 2018.
[Attachment 53330 - Click to enlarge]
Last edited by codehound; 15th May 2020 at 04:32.
For consumer/private video, I would use PGP to encrypt it with the recipient's public key so only them can decrypt it.
If you don't have money to "protect" your video, the best you can do is put your website URL on the video and use DMCA whenever possible. Pirates shouldn't deter or delay you from releasing content.
Last edited by 4kblurayguru; 14th Nov 2020 at 11:48. Reason: re edit