Search code examples
node.jsreactjsexpressvideo-streamingfs

How to stream video to front-end from backend(nodeJs) which is non-downloadable


Actually, I want to create a video screaming web-app for which I thought of using filesystem module to send a chunk of video from the backend.

The problem is, I want the video to be non-downloadable and can't be download by anyone. Just like netflix or amazon prime.

So, is there any way for this??


Solution

  • No. There is no way for this. Because streaming IS downloading. To "stream" a video, the bits must be sent form the server to the client. To "download" a video, the bits must be sent form the server to the client. The server has absolutely zero control over what the client does with the bits.

    "But Netflix doesn't let me download...", Yes it does! You can very easily download video from Netflix! But once it's downloaded it can not be played because it is protected by a DRM system. DRM works by using a preparatory piece of software called the "content decryption module" or "CDM" that is installed on your computer to play back the protected content. It will even work if you downland the video and are playing it back form your hard drive.

    So how to you use DRM? You own and operate DRM servers to distribute licenses keys to CDMs. Or you work with a third party company like ezdrm, buydrm or varimatrix and pay them to run the server for you,