6.8301 Project
Installation
pip install -r requirements.txt
If you get an error about importing creedsolo
, try running:
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 |