diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 00000000..69fa449d --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1 @@ +_build/ diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 00000000..d4bb2cbb --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/doc/conf.py b/doc/conf.py new file mode 100644 index 00000000..4f909d26 --- /dev/null +++ b/doc/conf.py @@ -0,0 +1,28 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +project = 'voctomix' +copyright = '2024, c3voc' +author = 'fightling, MaZderMind, Florob, Kunsi, derpeter, sophieschi' +release = '2.0' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = [] + +templates_path = ['_templates'] +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'alabaster' +html_static_path = ['_static'] diff --git a/doc/definitions.rst b/doc/definitions.rst new file mode 100644 index 00000000..441f3e3a --- /dev/null +++ b/doc/definitions.rst @@ -0,0 +1,26 @@ +Namings and Definitions +======================= + +.. Please try to keep this file sorted alphabetically. + +sources +------- + +A source is an input connected to voctocore_. This can be a physical +cable (for example a camera or slide capture) or a file on your computer +(background image etc.). + +voctocore +--------- + +voctocore is the piece of software doing the actual video mixing. It is +usually being run on a somewhat powerful machine which has capture cards +installed. + +All the sources_ are connected to it. voctogui_ connects to it using +the network. + +voctogui +-------- + +voctogui is the user interface to control voctocore_. diff --git a/doc/index.rst b/doc/index.rst new file mode 100644 index 00000000..4de2ea99 --- /dev/null +++ b/doc/index.rst @@ -0,0 +1,32 @@ +.. voctomix documentation master file, created by + sphinx-quickstart on Sun May 19 15:59:36 2024. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to voctomix's documentation! +==================================== + +**voctomix** is a live video mixer, based on python and gstreamer. + +Depending on the capabilities of your hardware, you can use it to mix +up to 4k video. voctomix includes a so-called "stream blanker", which +can be used to show some animation on the livestream while still recording +the mixed video feed to disk. + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + installation + + definitions + + +Indices and tables +================== + +.. * :ref:`genindex` +.. * :ref:`modindex` + +* :ref:`search` + diff --git a/doc/installation.rst b/doc/installation.rst new file mode 100644 index 00000000..98e45941 --- /dev/null +++ b/doc/installation.rst @@ -0,0 +1,28 @@ +Installation +============ + +Installation of voctomix is easy. Install some dependencies, clone the +git repository, then just run the python file. + +Dependencies +------------ + +debian +`````` + +- `gir1.2-gst-plugins-base-1.0` +- `gir1.2-gstreamer-1.0` +- `gstreamer1.0-libav` +- `gstreamer1.0-plugins-bad` +- `gstreamer1.0-plugins-base` +- `gstreamer1.0-plugins-good` +- `gstreamer1.0-plugins-ugly` +- `gstreamer1.0-tools` +- `gstreamer1.0-vaapi` +- `gstreamer1.0-x` +- `libgstreamer1.0-0` +- `python3-gi` +- `python3-pyinotify` +- `python3-scipy` +- `python3-sdnotify` +- `rlwrap`