diff --git a/README.md b/README.md
index fec49fe325049712b02652c057d57c1688b9e161..a5dcc65bc1f8f365ddb5e5e1cff1848820656fc5 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,31 @@
-# moodle-filter_opencastfilter
\ No newline at end of file
+# moodle-filter_opencastfilter
+
+The opencast filter can be used to embed opencast videos using opencast players such as Paella or Theodul.
+The filter takes in the html pasted by the opencast repository and replaces it by an iframe, which serves an opencast player with the respective opencast event.
+The filter itself has no influence on the embedded content, but simply takes the information created by the repository.
+Look into the documentation of [repository_opencast](https://github.com/unirz-tu-ilmenau/moodle-repository_opencast) for details on that.
+
+**Requirements**
+
+- [tool_opencast](https://github.com/unirz-tu-ilmenau/moodle-tool_opencast)
+- [repository_opencast](https://github.com/unirz-tu-ilmenau/moodle-repository_opencast)
+
+**Configuration**
+
+In order for the opencast players to work, they need to call multiple API endpoints, which requires an authenticated user.
+The authentication is done using LTI. 
+For this, the opencast installation has to be prepared for connecting an LMS via LTI.
+You can find a documentation on that [here](https://docs.opencast.org/develop/admin/modules/ltimodule/). 
+The Client ID and Client Secret of your opencast installation have to be set in the configuration of the filter.
+Additionally, an alternative engage url can be set.
+The engage url points to the server, against which the LTI authentication is performed.
+In basic settings, this server is equivalent with the administration server, which is set in [tool_opencast](https://github.com/unirz-tu-ilmenau/moodle-tool_opencast).
+For more advanced installations, you can separate engage and admin server and provide the engage server url here.
+
+**Authentication**
+
+In addition to the created iframe showing the opencast player,
+the filter also create an LTI form in the background, which is prefilled with the users data,
+and sends it. This way it creates a session for the user within the opencast system and enables the embedded video player to render properly.
+The LTI connection also guarantees that only users, which meet the requirements set by the ACL rules will be able to view the respective video.
+However, the links to the raw media files might still be extractable from the player code, which are unprotected and sharable among unauthorized users.
\ No newline at end of file