# 6.8301 Project ## Installation ```sh pip install -r requirements.txt ``` If you get an error about importing `creedsolo`, try running: ```sh pip install --upgrade reedsolo --no-binary "reedsolo" --no-cache --config-setting="--build-option=--cythonize" --use-pep517 --isolated --pre --verbose --force-reinstall ``` If you're using your phone as a webcam, install scrcpy with `pacman -S v4l2loopback-dkms scrcpy linux-headers` on Arch Linux or the equivalent command for your distro. Also, remember to install the correct headers for your kernel. Then, run `sudo modprobe v4l2loopback`. ## Usage Encode: `python encoder.py -i in` Play video (SEIZURE WARNING): `mpv --scale=nearest --fullscreen --loop --no-keepaspect vid.mkv` Copy the flags printed by the encoder and pass them to the decoder: `python decoder.py FLAGS` Formatting: `black -l 120 *.py` Use phone as webcam for higher quality video: `scrcpy --no-audio --v4l2-sink=/dev/video4 --video-source=camera --no-video-playback --camera-size 1920x1080 --camera-fps 60` ## Results | Height | Width | ECC level | Bandwidth (bps) | | --- | --- | --- | --- | | 150 | 240 | 0.2 | 2088632 | | 160 | 256 | 0.2 | 2242199 |