Rtsp-hack for the security camera
Posto je tata kupio onu kameru that is as good as a pair of broken twigs, trebalo se malo hakirati da ono radi kao sto bog zahtjeva.
- Posto je tata kupio onu kameru that is as good as a pair of broken twigs, trebalo se malo hakirati da ono radi kao sto bog zahtjeva. Ruter mora da se nakaci na tailscale jer imamo double NAT situaciju koja uopste nije dobra.
- m:tel ne da sa svoje strane da se otvaraju portovi, tako da zaboravi na to.
- Posto je kamera (blago receno) retardirana ona salje pogresan RTSP stream string indentifier, pa samim tim ffmpeg i ostali “viewer”-i se spajaju preko UDP protokola koji doslovno potpuno sjebe signal.
Pod 1 i 2 se rjesava pomocu tailscale-a. Instaliraj tailscale preko opkg-a, ali pripazi na opcije. OBAVEZNO prati instrukcije sa OpenWRT wiki-ja. NEMOJ ZABORAVITI DA SE UKLJUCI TAILSCALE SERVIS JER BEZ NJEGA GUBIS PRISTUP!!
service tailscale enable
Pod 3 treba malo crne magije:
Posto je sjeban RTSP stream indentifier moramo ga popraviti in mid-air i prevesti pakete u TCP format. To postizemo alatom nazvanim `netsed` koji u svakom slucaju je nuklearna opcija ali posto nas boli kurac za moralne stvari koristimo ga ipak. Trebamo ga kompajlirati (radi olaksanja ima vec staticna verzija netsed programa za xrx200 procesore):
- Napravi folder /bin sa user dozvolama (UID=1000, GID=1000)
- Skini toolchain preko docker-a:
sudo docker run --name router-dev -v "$(pwd)"/bin/:/builder/bin -it openwrt/sdk:lantiq-xrx200-openwrt-22.03
(lanti-xrx200 je CPU platforma, a openwrt-22.03 je verzija OpenWRT-a, mjenjaj “as necerssary”)
- Posto smo montirali folder bin, u njega cemo uci prvo.
git clone https://github.com/xlab/netsed; cd nested
make CC=/builder/staging_dir/toolchain-mips_24kc_gcc-11.2.0_musl/bin/mips-openwrt-linux-gcc
(mjenjaj argumente po potrebi, ali samo znaci treba da ti izlazni binary bude mips tipa)
Instaliranje i podesavanje servisa:
- Taj netsed binary mozes prebaciti na ruter preko scp-a (ali se mora prvo sftp-server instalirati). Nek bude unutar /usr/bin radi lakseg cuvanja.
- Podesi novu uslugu unutar /etc/init.d/camera-rtsp-hack sa sledecim tekstom (ne zaboravi chmod +x na kraju). Mjenjas IP adresu i port po potrebi.
- Enable the service and you're done
Potrebne datoteke