kaltura / nginx-vod-module

NGINX-based MP4 Repackager
GNU Affero General Public License v3.0
2k stars 439 forks source link

CDN Cache, Limiting Concurrency & Dynamic Watermark #1127

Open ithiru opened 4 years ago

ithiru commented 4 years ago

I know it may not be directly related to this module, but thought of asking. The module is really awesome!

I understand that I can Encrypt, DRM, Secure (Hashing) but wanted to see if I can do the below

erankor commented 4 years ago
  1. CDN cache - if the question is whether a CDN can be placed in front of it, the answer is - yes, this is how it's supposed to be set up in large scale deployments.
  2. Restrict Concurrency by User - this contradicts the first one... so no - if there is a CDN, the module doesn't know which/how many users are playing. If you use DRM, you can probably enforce it on the DRM server (=return licenses with a short expiration time, forcing the player to frequently ask for a new one).
  3. Dynamic Watermark - if the question is about forensic watermarking, we have a solution built on top of this module, but it's not open-source.
ithiru commented 4 years ago
  1. CDN cache - if the question is whether a CDN can be placed in front of it, the answer is - yes, this is how it's supposed to be set up in large scale deployments.

Yes, thanks.

  1. Restrict Concurrency by User - this contradicts the first one... so no - if there is a CDN, the module doesn't know which/how many users are playing. If you use DRM, you can probably enforce it on the DRM server (=return licenses with a short expiration time, forcing the player to frequently ask for a new one).

The plan is to generate the multiple bit rate videos, encrypt with master key, so CDN cache can be used. Can you provide some pointer on how to generate unique key for each key requests at the same time the key can be used to decrypt? I think the Key API can be throttled by checking the IP, device, last key requests, etc.,.

  1. Dynamic Watermark - if the question is about forensic watermarking, we have a solution built on top of this module, but it's not open-source.

Got it. Thought of adding a user's email/name/mobile number as watermark to identify the piracy if it happens. I know we can really protect to an extent.

Thanks for the response.

seanwong1127 commented 2 years ago

Hey, where can I find the solution about dynamic watermarking? thanks.

Bessonov commented 1 year ago

@erankor

3. Dynamic Watermark - if the question is about forensic watermarking, we have a solution built on top of this module, but it's not open-source.

Probably, the question isn't about forensic watermarking, but about adding a dynamic and visible label (email, username, etc.) to the video.

(And if someone can answer about forensic watermarking - it would be nice too).

erankor commented 1 year ago

I don't think it's possible to add an overlay on the server side without retranscoding the video, and normally retranscoding is too heavy to perform per end-user.

Bessonov commented 1 year ago

I don't think it's possible to add an overlay on the server side without retranscoding the video, and normally retranscoding is too heavy to perform per end-user.

Fortunately, it is feasible. As far as I know, most webinar stream providers support that. Depending on the use case, it could be acceptable to exert some pressure on the CPU or even the (server) GPU.