aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2019-11-01 12:53:16 +0100
committerAnton Khirnov <anton@khirnov.net>2019-11-01 12:53:26 +0100
commitc861cbb0c977a19d7c4c3017f1f80348bf80b6b3 (patch)
tree796b290e5272d727077b11dbf47c3fcfc7a78837
parent49b881c2f7fe7e04d101c77c5bfe7ad9d5cd1856 (diff)
Add a basic readme.
-rw-r--r--README21
1 files changed, 21 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..5da6d9a
--- /dev/null
+++ b/README
@@ -0,0 +1,21 @@
+A python3-based HTTP 1.1 server for ingesting and serving DASH media streams.
+
+Alpha quality, use at your own risk.
+
+To run, simply execute the shipped dash_server.py file with a Python 3
+interpreter. No dependencies beyond the standard library are neded. The
+executable takes on mandatory parameter, which is the path to the directory to
+which the DASH media files shall be written.
+
+The server processes incoming HTTP GET, PUT and POST requests. PUT and POST are
+treated identically - request body is written into a file inside the media
+directory, with the name equal to decoded request target. For requests using
+chunked transfer encoding, the body shall also be temporarily cached in memory
+and will be available to incoming GET requests while it is being received.
+To GET requests the server will serve either the accordingly-named file from the
+media directory or the aforementioned cache entry.
+
+The server is written to be as simple as possible and is intended to be deployed
+as a backend behind a gateway HTTP server such as nginx (sample config is
+provided in nginx_config). The gateway would typically handle client
+authentication, serving the non-DASH and finalized DASH media files.