# compLIB

# Dependencies

## Building documentation
```
pip install sphinx-rtd-theme
```

* [Sphinx](https://www.sphinx-doc.org/en/master/usage/installation.html)

# Writing docs

[Inline documentation example](https://pythonhosted.org/an_example_pypi_project/sphinx.html#full-code-example)
[reStructured Text](https://pythonhosted.org/an_example_pypi_project/sphinx.html#restructured-text-rest-resources)

# ENV Variables

+ `DEBUG`, default="0", If set to != "0" (default), debug prints will be enabled
+ `API_URL`, default="http://localhost:5000/"
+ `API_FORCE`, default="", if set to !="" (default), it will replace the API_URL env variable

# Stream Video

```
sudo raspivid -t 0 -b 10000000 -w 1920 -h 1080 -fps 30 -n -o - | gst-launch-1.0 fdsrc ! video/x-h264,width=1280,height=720,framerate=30/1,noise-reduction=1,profile=high,stream-format=byte-stream  ! h264parse ! queue ! flvmux streamable=true ! rtmpsink location=\"rtmp://10.1.1.68/live/stream\"```
```

## Stream video from generic USB camera

with gst, very cpu heavy
```
gst-launch-1.0 v4l2src ! image/jpeg,width=640,height=480,framerate=30/1  ! jpegdec ! x264enc ! flvmux streamable=true ! rtmpsink location="rtmp://10.20.86.88/live/stream"
```

with ffmpeg, cpu friendly
```
ffmpeg -f v4l2  -framerate 30 -video_size 640x480 -i /dev/video0 -b:v 2M -f flv rtmp://10.20.86.88/live/stream
```

# Bullseye now only supports libcamera

https://www.raspberrypi.com/news/bullseye-camera-system/
