Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: Le_Ze 05. 05. 2016, 17:14:21

Název: Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 05. 05. 2016, 17:14:21
Zdravím.
Potřebují s me IP kamery ukladat video na HD.
Jak na to?
Název: Re:Videostream s IP kamery na raspi
Přispěvatel: Ondrej 05. 05. 2016, 17:20:10
ffmpeg + stream z kamery...
Název: Re:Videostream s IP kamery na raspi
Přispěvatel: JardaP . 05. 05. 2016, 17:24:16
Mozna vlc-nox.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 06. 05. 2016, 10:06:15
Zkoušel jsem strčit link na stream kamery do VLC ve windows a je to uplně dokokocene.
Asi to použiva nějaky kodek co VLC nezvladne.

Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 06. 05. 2016, 11:07:05
Nema ta kamera nejakou konfiguraci, kde se da nastavit kodek? A nesel by ten stream stahovat wget? Kdyz to umi stahovat streamy z Youtube a jinych, tak treba by sel i z kamery.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 06. 05. 2016, 11:25:29
Žadný kodek se nastavit neda.
Mi se spiš zamlouva řešení od Ondřeje.
Chci aby se to stahovalo furt a ukladalo třeba do 1 GB souboru
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 06. 05. 2016, 12:35:01
Chci aby se to stahovalo furt a ukladalo třeba do 1 GB souboru

Coz by s wget slo. Staci skriptem spoustet wget na pozadi, sledovat velikost souboru a pri dosazeni 1 GB wget sestrelit a pustit novy. Eventuelne rourovat vystup wget do split, ktery to nakraji na 1 GB. To pak sestrelit o pulnoci a pustit znovu s novym jmenem vystupnich souboru odvozenym napriklad od data.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Taky Ondrej 06. 05. 2016, 12:37:32
Žadný kodek se nastavit neda.
Mi se spiš zamlouva řešení od Ondřeje.
Chci aby se to stahovalo furt a ukladalo třeba do 1 GB souboru
Co máš za IP kameru?
ffmpeg na tohle určitě doporučuji, než nějaké VLC... Několik let již takhle nahrávám streamy ze sony ipela kamer.
Jedinou neduhu co sem zjistil, že čas od času mě ffmpeg přestal nahrávat, je otázka jestli to bylo ffmpegem, nebo kamerou. Proto doporučuji to hlídat, nejlépe si na to něco naprogramovat.
(U ffmpegu můžeš i nastavit dělení streamu po určitém časovém intervalu, čili lze nastavit nahrávej den a pak začni nahrávat jinam...)
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 06. 05. 2016, 12:42:49
http://zoneway.cz/index.php/CZ/produkty/ip-kamery/venkovn%C3%AD-ip-kamery/zoneway-nc851mw-p-detail
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Taky Ondrej 06. 05. 2016, 12:55:37
http://zoneway.cz/index.php/CZ/produkty/ip-kamery/venkovn%C3%AD-ip-kamery/zoneway-nc851mw-p-detail
Jj rtsp protokol umí, zjisti si na google, nebo v kameře, odkaz na něj a koukni na ten ffmpeg.
Pak ti bude stačit něco jako
ffmpeg -rtsp_transport tcp -i rtsp://... -codec:v copy -codec:a copy /mnt/data/semukladej.mkv
případně to kouskování podle času umí ffmpeg nějak takhle:  -f segment -segment_time XXX -reset_timestamps 1

(Btw doporučuji stream ukládat do mkv kontejneru, když se ti stream rozbije, lze i tak přehrát a následně pak opravit...)
A rozhodně na to nedoporučuji používat wget atp, minimálně už jen kvůli tomu že si těžko zvolíš do jakého kontejneru t budeš ukládat.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 06. 05. 2016, 13:10:59
A rozhodně na to nedoporučuji používat wget atp, minimálně už jen kvůli tomu že si těžko zvolíš do jakého kontejneru t budeš ukládat.

Coz mu mozna muze byt uplne jedno. Zalezi na tom, jaky defaultni kontajner je pouzit a jestli je odolny proti rozbiti. Ostatne i blbe .avi se muze dat poskozene prehrat, akorat prehravac treba muze rvat, ze neni k dispozici index, protoze chybi konec souboru. Zalezi na tom, o jakem typu poskozeni je rec.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Taky Ondrej 06. 05. 2016, 14:10:34
A rozhodně na to nedoporučuji používat wget atp, minimálně už jen kvůli tomu že si těžko zvolíš do jakého kontejneru t budeš ukládat.

Coz mu mozna muze byt uplne jedno. Zalezi na tom, jaky defaultni kontajner je pouzit a jestli je odolny proti rozbiti. Ostatne i blbe .avi se muze dat poskozene prehrat, akorat prehravac treba muze rvat, ze neni k dispozici index, protoze chybi konec souboru. Zalezi na tom, o jakem typu poskozeni je rec.
Tak minimálně mu to nebude jedno protože pokud vím, wget rtsp nepodporuje.
Pokud z nějakého důvodu nechce použít ffmpeg, i když opravdu nevím proč by ho někdo na prácí s videem/streamem nepoužil, může použít curl...
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 06. 05. 2016, 14:31:34
Už instalují ffmpeg.
Trva to  >:(
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 06. 05. 2016, 16:07:35
No nevím ale už se to instaluje vic jak 3 hodiny  :-\
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Taky Ondrej 06. 05. 2016, 19:34:37
No nevím ale už se to instaluje vic jak 3 hodiny  :-\
njn malina, tam to trvá, ale 3 hodiny? To máš uplně tu první verzi ne?
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 09:31:01
Je to Raspberry Pi Model B+ 512MB.
Už mam Raspberry Pi 2 Model B 1GB a toto mi zůstalo, tak leží na stole a používám na testy   
Trvalo to ale 4 hodiny, tak nevím. :-\

Nainstaloval jsem si ve win VLC a zkoušel ten stream rozchodit.
Nakonec pomohl iSpy a stream mi jede přes VLC.
Tak jsem zkoušel nainstalovat VLC na raspi.
vlc rtsp://admin:heslo@192.168.1.250/11 --sout=file/ps:/home/pi//streamkamery.mkv

Netuším, zda to zvládá VLC samo a nebo na to potřebuje to ffmpeg ale pokud to zvládne bez něho a použive sve kodeky, zůstanu u toho VLC

Video má rozlišení 1920x1080 , což je zbytečné to ukládat v tomto rozlišení.
Da se to nějak nastavit?
Půjde nějak nastavit aby to ukládalo po hodinách?
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 09:53:55
Instalace 4 hodiny je ale a hlavu. To trvala sama instalace nebo se to tak dlouho stahovalo? Pokud to druhe, uvazoval bych o jinych zrcadlech, z toho vaseho asi neustale vsichni instaluji ffmpeg.

Jestli VLC umi zasejvovat v mensim rozliseni tedy netusim, ale rekl bych, ze vam to muze byt jedno. Mensi rozliseni by znamenalo nutnost rekodovani a to bych tedy na RPi chtel videt, zejmena pak v realnem case. Jedinou sanci by bylo, kdyby se to dalo nastavit na kamere.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 10:19:12
Stažene to bylo za chvilku.
Instalace trvala 4 hodiny  :-\

A nějak aby to rozdělovalo po těch hodinach?
Nebo alespon třeba po 2 GB.

Když takto přes terminal to spustím.
vlc rtsp://admin:heslo@192.168.1.250/11 --sout=file/ps:/home/pi//streamkamery.mkv
Jak to ukončit přes terminal?

Asi jejlepší by bylo nazev souboru dete + time.
Přkaz dat do  /rc.local aby se nahravaní spustilo při startu raspi.
A pak přes crontab spouštět skript, ktery nahravaní ukončí a znovu spustí

Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 11:37:19
Proc to chcete poustet pres terminal? Ja bych to pustil pri bootu z rc.local a pak mel skript, ktery z cronu kontroluje, jestli to bezi, coz by se asi poznalo podle toho, ze pribyvaji soubory nebo se zvetsuji.

Jinak krajeni na urcitou velikost by melo jit udelat pres split - viz man split. Zadate zakladni jmeno a split to kraji do neceho ve stylu zakladni jmeno+cislo, pricemz pocet cislic se da nastavit tak, aby vam nepreteklo pocitadlo. Zakladni jmeno by mohlo byt odvozeno od datumu. Pak z cronu muzete o pulnoci poslat VLC sigterm a spustit to znovu s novym jmenem.

Ted je otazka, jak dotlacit vystup do splitu. Dokumentace k VLC je dost k posrani, ale:

Podle nekterych lidi by --sout file/ps:- melo poslat vystup na standardni vystup, muzete tedy pridat | split ...blabla. Otazka je, jestli se do toho nebudou plest nejake hlasky VLC, ktere by rozbily video. To musete vyzkouset tim, ze to misto do split narourujete zpet do VLC: vlc blabla... | vlc - a uvidete to v realnem case.

Jinde jsem nasel priklad s pouzitim pojmenovane roury:

mkpipe /tmp/vpipe
vlc -vvv rtsp://CAMERA-IP-ADDRESS:554/mpeg4/media.amp --no-drop-late-frames --no-sout-audio --sout "#std{mux=ts,access=file,dst=/tmp/vpipe}"

Vystup jde do /tmp/vpipe, vy pak udelate cat /tmp/vpipe|split. Vyse uvedeny priklad samozrejme nebude chodit pro vas pripad, pouzijete ho jen pro vykuchani casti s presmerovanim do roury.

Pokud pouzijete vhodny kontajner, nemelo by krajeni byt prekazkou toho, aby se daly jednotlive soubory prehrat nezavisle a bez toho, abyste to napred musel poslepovat zpet.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Ondrej 07. 05. 2016, 12:06:27
ffmpeg umí krájení sám o sobě a pojmenování třeba číslem taky., psal sem příklad ze svého scriptu kde sekám nahrávky po 15 minutách.
Proč to dělat jednoduše když to půjde složitě přez VLC co. Očividně si ten ffmpeg kompiloval, jinak by to 4 hodiny netrvalo...
Radím prostuduj ten ffmpeg a na VLC se vykašli, je to stejná pitomost jako používat na tohle curl... Půjde to, ale budeš muset pak třeba opravovat rozbitej stream po krájení, aby bylo video všude pustitelné.

A jinak kontrola jestli ffmpeg nahrává pomocí sledování velikosti souboru je dobrej nápad, sám to takto mám a je to rozhodně snadnější než parsovat výstup z ffmpegu a výsledek stejnej...
Jestli chceš hodím ti sem i konkrétní příklad jak to kontrolovat a krájet tím ffmpegem...
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Ondrej 07. 05. 2016, 12:08:40
A co se týče kvality videa, určitě to půjde nastavit na kameře, malina tohle v reálném čase určitě nedá :)
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 12:16:53
Očividně si ten ffmpeg kompiloval, jinak by to 4 hodiny netrvalo...
cd /usr/src
sudo mkdir ffmpeg
sudo chown pi:users ffmpeg
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
 ./configure
 make
sudo make install
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Ondrej 07. 05. 2016, 12:20:09
Očividně si ten ffmpeg kompiloval, jinak by to 4 hodiny netrvalo...
cd /usr/src
sudo mkdir ffmpeg
sudo chown pi:users ffmpeg
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
 ./configure
 make
sudo make install
no kompiloval, tak se nediv :) neříkej mě že není ffmpeg v repu raspbianu, ale jestli ho máš nainstalovanej tak už je to jedno...
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 13:11:55
No jo  :-\
Linux není zrovna mou silnou strankou.
Google poradil.
Raspi si žije svýn životem ve slepě a občas mně napadne nějaka kravina.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 13:31:28
A začinají problemy.
Nove raspi a přes rc.local spouští me skripty

Raspi na stole - stejna verze raspbiana a nefunguje to.
Ani v logech nevídím že by měl system snahu skript spustit.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Ondrej 07. 05. 2016, 13:54:21
A začinají problemy.
Nove raspi a přes rc.local spouští me skripty

Raspi na stole - stejna verze raspbiana a nefunguje to.
Ani v logech nevídím že by měl system snahu skript spustit.
je script spustitelný? Koukni koukni do googlu, je to častej prolém tj vyřešíš ho :)

(Každej nějak začínal...)
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 14:03:07
A začinají problemy.
Nove raspi a přes rc.local spouští me skripty

Raspi na stole - stejna verze raspbiana a nefunguje to.
Ani v logech nevídím že by měl system snahu skript spustit.

Jestli v tom skriptu nemate chybu - to by pak skoncil pri prvni chybe. Zkousel jste na zacatek dat neco jako echo "blabla" > /tmp/nejake-jmeno ? Muzete na zacatek take zkusi pridat set +e .
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 14:20:52
Tak pokud ho spustím přes terminal by neměl byt problem ve skriptu.
I kdyby byla ve skriptu chyba, viděl bych v syslog alespon nějake info, že to měl system snahu spustit.

Přs terminal  /home/pi/test

Kód: [Vybrat]
fi
/home/pi/test start
exit 0
Na tom není co posrat  >:(
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 15:32:05
Na tom není co posrat  >:(

To nevim, to byste koukal, kolik veci, na kterych neni co posrat, se da posrat. Co je to /home/pi/test? Krome toho si nejsem jisty, ze pad rc.local se objevi v logu. Spis asi ne.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 15:59:41
1) I když jsem už postarší kousek, mohli by jsme si tykat,ne? ;)

Takže rc.local se už spouští  :D
/home/pi/test  test je nazev toho skriptu, který se take už spouští.

Takto se spustí nahravaní přes terminal.
vlc rtsp://admin:heslo@192.168.1.250/11 --sout=file/ps:/home/pi//streamkamery.mkv

Ve skriptu sh se to nespustí  >:(

Jdu se poprat s tým ffmpeg

Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 16:58:07
A ten skript spoustis odkud? Mas u vlc uvedenou celou cestu? Jestli to nahodou poustis z rc.local, tak asi nebude definovana. Krome toho tou dobou nebudes zalogovany, takze vlc nema kam hodit vystup. Proto jsem psal o vlc-nox,
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 17:25:57
Do terminalu dam toto a nahravam
vlc rtsp://admin:heslo@192.168.1.250/11 --sout=file/ps:/home/pi/streamkamery.mkv

Do terminalu dam toto a nahravam
ffmpeg -rtsp_transport tcp -i rtsp://admin:heslo@192.168.1.250/12 -codec:v copy -codec:a copy /home/pi/streamkamery.mkv

Co dělam špatně, že se to nespustí přes skript který se spouští přes rc.local?
Kód: [Vybrat]
#!/bin/bash
echo "spustilo se to" > /home/pi/test.txt
ffmpeg -rtsp_transport tcp -i rtsp://admin:heslo@192.168.1.250/12 -codec:v copy -codec:a copy /home/pi/streamkamery.mkv

Když skript spustím přes terminal /home/pi/test , tak se to rozjede

Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 17:31:19
Jsem rikal, ze nemas nastavenou cestu k ffmpeg. Z rc.local to nemuzes spustit stejne jako z terminalu. Pust si which ffmpeg a do toho skriptu to dej i s tou cestou, co to vyplivne.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 17:36:38
Trochu po lopatě by to nešlo?
Moc to nechapu.
Když ten skript pustím přes terminal tak to jede a když se ten skript spouští přes rc.local tak ne?

Přes terminal  /home/pi/test
Přes rc.local   /home/pi/test start

Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 18:11:12
Ten skript se z rc.local pusti. Ale nespusti se prikaz ffmpeg, ktery v nem mas, protoze tam mas mit ne ffmpeg, ale /usr/bin/ffmpeg nebo kde to v RPi je. A kde to je zjistis pomoci prikazu which.

Si do toho skriptu dej echo $PATH > /tmp/path.lst. Schvalne, co tam po bootu najdes, ale rekl bych, ze /usr/bin bude chybet.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 07. 05. 2016, 19:00:37
Kód: [Vybrat]
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binSem to změníl.
Kód: [Vybrat]
/usr/local/bin/ffmpeg -rtsp_transport tcp -i rtsp://admin:heslo@192.168.1.250/11 -codec:v copy -codec:a copy /home/pi/streamkamery.mkv
Vysledek stejný  :-\
Přes terminal se to spustí ale přes rc.local ne
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: JardaP . 07. 05. 2016, 19:16:09
Pouzij ffmpeg -loglevel -report blabla a nech si vygenerovat log v /tmp. Viz prislusne sekce man ffmpeg.
Název: Re:Videostream z IP kamery na Raspberry Pi
Přispěvatel: Le_Ze 08. 05. 2016, 06:02:10
Jak jsem psal, linux není zrovna mou silnou strankou.

Takto to však funguje.
Kód: [Vybrat]
while (($# !=0 ))
do
ffmpeg -rtsp_transport tcp -i rtsp://admin:heslo@192.168.1.250/11 -codec:v copy -codec:a copy /home/pi/streamkamery.mkv
done
http://www.unix.com/shell-programming-and-scripting/82890-help-need-make-shell-script-run-ffmpeg-vhook-watermaking-shell.html