Go to file
2024-02-17 17:21:22 +02:00
examples working v4l2 in rust, swapping bytes 2024-02-17 17:21:01 +02:00
src rust implementation, fast enough it looks 2024-02-15 23:24:22 +02:00
.env.example add .env.example 2024-02-17 17:21:22 +02:00
.gitignore move rust to root, make a separate main example, start using iterator 2023-12-31 00:19:24 +02:00
Cargo.lock v4l by rust process, still sudo, endianess reversed 2024-02-17 16:55:53 +02:00
Cargo.toml working v4l2 in rust, swapping bytes 2024-02-17 17:21:01 +02:00
cvview.py add c to temp value 2023-12-31 20:25:51 +02:00
decode.py rewrite to use scapy.all.sniff callback parameter, better, still sucks 2024-02-15 20:56:18 +02:00
in.pcap decoder 2023-12-25 23:55:12 +02:00
listen.py almost live, but horrible hack for stream capture, and not live ffmpeg, just live save of images 2024-02-15 00:26:10 +02:00
live_vid.sh rename and include comment in live playback utilty 2024-02-16 15:56:45 +02:00
README.md almost live, but horrible hack for stream capture, and not live ffmpeg, just live save of images 2024-02-15 00:26:10 +02:00
replay.py remove indicatif, add dotenv, write to stdout, gst to v4lsink, usable with ffplay, still some hiccups, not cpu related 2024-02-17 15:43:20 +02:00
requirements.txt requirements: add maturin 2023-12-29 17:03:54 +02:00
run_dhcp_server.sh try to run a dhcp server 2024-01-19 23:31:26 +02:00
run_live.sh working v4l2 in rust, swapping bytes 2024-02-17 17:21:01 +02:00
rustdecode.sh add rustdecode.sh 2023-12-31 14:18:30 +02:00
start.sh start.sh sets mtu and sends the start packet 2024-02-17 15:31:29 +02:00
test_rust.py almost live, but horrible hack for stream capture, and not live ffmpeg, just live save of images 2024-02-15 00:26:10 +02:00
test2.py add missing test2.py 2023-12-31 11:30:54 +02:00
thermal.mp4 almost live, but horrible hack for stream capture, and not live ffmpeg, just live save of images 2024-02-15 00:26:10 +02:00

Thermal decoder

https://telavivmakers.org/tamiwiki/projects/thermalcam

Starting the stream

Enable jumbo frames

sudo ip link set eth0 mtu 9000

Send start packet

You need to send a special packet.

Sending it via sudo because of raw sockets:

sudo ./venv/bin/python ./replay.py

To send it you need the capability to open sockets in raw mode, but that does not work well with scripts (see [1]

[1] setcap for executables, not helpful for python scripts:

setcap cap_net_raw,cap_net_admin=eip ./replay.py

Rust lib usage

if you don't already have a virtualenv. Linux specific, adjust to your OS.

virtualenv venv
. venv/bin/activate
pip install -r requirements.txt
(cd thermaldecoder; maturin develop -r)
python test_rust.py