# Digital rights management (DRM) plugin This plugin enables digital rights management (DRM) for HLS and MPEG-DASH streams. The current state of DRM on web is complicated due to the lack of cross-platform support. Different browsers and streaming technologies support different standards. With Wowza Flowplayer, we gathered different technologies under a single DRM plugin, making it simple to protect content when using the player. ## Compatibility table The following table lists the DRM technologies the DRM plugin supports. If you use a DRM solution with one of the streaming protocols listed, you can deliver protected content in each of these supported browsers. embed info The **hls.js** library only supports FairPlay when the source uses fragmented MP4 encrypted segments. If the stream is fragmented into TS segments, it will only play if implemented natively. For this, you must configure the player with the [native property](/docs/wowza-flowplayer/plugins/hls/#configure-the-plugin). ## Installation To install the plugin, include it next to the core player: ```html ``` Info Certain technologies only work on SSL secured web pages so make sure to use `https` when outside of localhost. ## Configuration DRM is always configured per source. This is why the configuration also lives under the `drm` key in [source configuration](/docs/wowza-flowplayer/player/configure#video-source). Configuration should be completed using the [configuration constants](/docs/wowza-flowplayer/plugins/drm/#drm-protocol-constants) under the `flowplayer.drm` namespace. All configuration options have to be set under the respective DRM protocol. See the [configuration example](/docs/wowza-flowplayer/plugins/drm/#configuration-example). embed ### DRM protocol constants You can use the following configuration constants under the `flowplayer.drm` namespace to define your DRM protocol and enable content protection. embed ### Configuration example The following example shows how to set up each DRM protocol and define configuration options for your media sources. embed ### Vendor configuration You can configure what vendor to use with the `VENDOR` configuration. For built-in implementations, use one of the strings in the following table. embed ### Media key system access If you end up with a `no keys` error displaying, it may mean that the player needs your help accessing the key system. To do this, pass the retrieval function in the DRM provider configuration: embed