Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Stream z IP kamery pro web

Místo, kde žádná otázka není hloupá.
Uživatelský avatar
lwq
Příspěvky: 1659
Registrován: 18 years ago
antispam: Ano
Bydliště: MistyMountain
Kontaktovat uživatele:

Re: Stream z IP kamery pro web

Příspěvekod lwq » 6 years ago

Teoreticky je to jedoduche - RTSP/MJPEG pomoci ffmpeg prelozit na RTMP; nacpat RTMP na youtube.com; na webu mit youtube-live prehravac. Kompatibilita ruznych rychlosti linek a zarizeni maximalni.

Ja aktualne skoncil a tom prekladu RTSP/RTMP a aktualne a to nemam vic casu. Jednoduse semi zatim nepodarilo kombinaci ffmpeg+Youtube uchodit. Ale bude to jen otazka vice investovane casu.

BTW: Alternative lze udelat to (mel jsem to tak nejakou dobu), ze kazdou sekundu skript cte nahled z kamery a uklada ho a webserver jako neco.temp a kdyz to ma hotove, tak toprejmenuje na neco.jpg na ktery kouka html5 a co vterinu nacita obrazek novy.

BTW2: Zaklad je NIKDY, ale opravdu NIKDY, nevystavovat IP kameru primo na net.
0 x
LWQ ... Vice na www.lwq.cz (treba GIOM 3000 atp.) ...

ok3js
Příspěvky: 1
Registrován: 4 years ago

Příspěvekod ok3js » 4 years ago

ověřeno a už cca více než rok v provozu na OrangePiOne (na OPi Zero to nejelo spolehlivě, jiný procesor H2 vs H2+)

nainstalovaný Rasbian pro Orange Pi, doinstalován ffmpeg a shellovým skriptem získávám ze streamu jpg, které posílám pmocí ftp na můj pronajatý webprostor, předtím ještě provádím ořez oblastí které nechci zveřejnit a doplňuji do obrazu text s teplotou vzduchu.


#!/bin/sh
# převod streamu na JPG
# na OrangePiOne

# výšení frekvence CPU
sudo cpufreq-set -d 960Mhz
sudo cpufreq-set -u 1010Mhz
sudo cpufreq-set -g ondemand
sleep 2

ffmpeg -i rtsp://10.0.0.51/user=jmeno_password=he ... ream=0.sdp -f image2 -vframes 1 -y /media/ramdisk/shot111.jpg

# rtsp://........ tvar se musím vložit podle konkrétní kamery, kamer může být i několik po sobě ukládaných do různých proměnných (aby to ARM v nastaveném cyklu postupně vše stíhal, zpracovat, já mám 4 IP kamery v cyklu 2 minuty a je tam ještě časová rezerva)


cd /media/ramdisk

#vložení textu do obrazu
ffmpeg -i /media/ramdisk/shot111jpg -y -vf "drawtext=textfile=t3.txt:fontcolor=white@1.0:fontsize=35:x=10:y=65:fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf:box=1:boxcolor=black@0.4:boxborderw=4" /media/ramdisk/shot112.jpg

#orezani obrazu - maska zakázených oblastí
convert /media/ramdisk/shot112.jpg -crop 1280x960-0-220 +repage /media/ramdisk/shot113.jpg

cd /home/doma

#odeslání souboru JPG na Jupitera
HOST='jupiter.abzone.cz'
USER=/user/
PASSWD=/heslo/

FILE1='shot111.jpg' #odeslani zachyceneho jpg
FILE2='shot112.jpg' #odeslani zachyceneho jpg + doplneny text
FILE3='shot113.jpg' #odeslani zachyceneho jpg + text + orezani oblasti
cd /media/ramdisk # prepnuti se adresar v Orange Pi kde jsou ulozeny v snimky ze streamu

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd /web/cam # prepnutí na adresar ve kterém budou na webserveru ulozeny obrazky
binary
put $FILE1
put $FILE2
put $FILE3
quit
END_SCRIPT

cd /home/doma
sudo cpufreq-set -d 240Mhz
sudo cpufreq-set -u 480Mhz
sudo cpufreq-set -g ondemand

exit 0


ffmpeg toho umí více, včetně ukládání streamu do videosouboru apod.
0 x