Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Rtsp stream přes web

Zdravím Vás.
Chtěl bych poprosit o pomoc
Mam doma IP kamery a už umím přehrat rtsp stream třeba ve VLC.
Zkoušel jsem ten rtsp stream přes VLC v prací a funguje to, takže v routru to mám ok.
Bych chtěl ty kamery na moji www na raspi.
Jak nejlepe na to?

https://stackoverflow.com/questions/2245040/how-can-i-display-an-rtsp-video-stream-in-a-web-page
Skoro dole.
<!--- BEGIN PLAYER --->
Player se mi vykresli ale žadný rtsp stream se nezobrazi.

A kousek výše je.

For the one I use, The following URL works:

rtmp://<IP_address>/flash/11:<username>:<password>
for example:

rtmp://192.168.1.10:1935/flash/11:admin:admin

Já když to přehravám ve VLC tak zadavam první jmeno a heslo.
rtsp://admin:admin@xxx.xxx.xxx.xxx

Tu je něco podobneho.
https://www.svethardware.cz/forum/showthread.php/56654-Jak-na-stream-videa-z-IP-kamery-na-webovou-stranku

Předmět Autor Datum
Co toto: <video width="640" height="480" controls> <source src="rtmp://192.168.1.10:1935/flash/11:a…
Flash_Gordon 14.01.2020 10:53
Flash_Gordon
To jsem zkoušel dat ten login dozadu. <body> <!--- BEGIN PLAYER ---> <!-- webbot bot="HTMLMarkup"…
Boris.K 14.01.2020 11:36
Boris.K
Proč pořád zkoušíš to tvoje? Embedit player je zastaralý a teď si nejsem jistý jestli nefunguje jen…
Flash_Gordon 14.01.2020 11:39
Flash_Gordon
Aha, tak promin, jen lama s kmerou ;-) <body> <video width="640" height="480" controls> <source src…
Boris.K 14.01.2020 12:04
Boris.K
Protokol rtmp:// jak radil Flash_Gordon jsi zkusil a nefunguje?
host 14.01.2020 12:07
host
ano nový
Boris.K 14.01.2020 12:17
Boris.K
To je zvláštní. Protože jak upozorňuje host máš tam mít protokol rtmp:// nikoliv rtps nový
Flash_Gordon 14.01.2020 12:24
Flash_Gordon
A googlils? https://github.com/Streamedian/html5_rtsp_player demo https://streamedian.com/demo/free/ nový
kacikac 14.01.2020 12:24
kacikac
Nějak se nedaři :.( Toto normalně funguje. <body> <video width="640" height="480" controls> <sour… nový
Boris.K 14.01.2020 14:42
Boris.K
Toto ti normálně funguje proto, protože přehrávat soubor mp4 s AVC/h264 je naprostá trivialita. RTSP… nový
kacikac 14.01.2020 15:54
kacikac
Nejde a nejedna se mi jen o jednu kameru. Třeba mam 3 kousky Hikvision a take vim jak přehrat rtsp s… nový
Boris.K 14.01.2020 17:27
Boris.K
Protahnout se to ffmpegem dá, však tu máš jednu z možných variant (přes HLS): https://stackoverflow.… nový
kacikac 14.01.2020 19:58
kacikac
Pokud to muzete protahnout pres ffmpeg a chcete to mit na webu, tak nejlip tim ffmpegem generovat HL… nový
lucifer 14.01.2020 20:05
lucifer
Googlim až se mi z klavesnice praši a nic. :.( Převest ten stream z kamery na disk přes ffmpeg do m… nový
Boris.K 15.01.2020 11:37
Boris.K
Ukladat musite - playlist a .ts chunky toho playlistu (playlist je dynamicky, obnovuje se s kazdym d… nový
lucifer 15.01.2020 11:58
lucifer
Jsem uplna lama, ale při googleni jsem se dočet, že PHP běží na servru a html, na ktere je ten HTML5… nový
Boris.K 15.01.2020 12:18
Boris.K
PHP nepotrebujete, michate hrusky s jablky. Na stroji ktery bude serverem HLS streamu (kde bude ffm… nový
lucifer 15.01.2020 14:05
lucifer
Ten Tvuj zpusob dava pěkně zahulit procesoru a to jsem testoval jen jednu kameru. Tady je to, čeho… nový
Boris.K 15.01.2020 15:16
Boris.K
Ten Tvuj zpusob dava pěkně zahulit procesoru Dyť ten video stream nemusíš enkodovat .-) Tady je to,… nový
kacikac 15.01.2020 15:34
kacikac
Toto jsi mi tu dal. https://stackoverflow.com/questions/1735933/streaming-via-rtsp-or-rtp-in-html5… nový
Boris.K 15.01.2020 16:06
Boris.K
Jo dal, a taky tam je i další příspěvek a pokud jsi aspoň trošku rozumný, tak pak z toho sesmolíš tř… nový
kacikac 15.01.2020 16:09
kacikac
Tak zatím jsem to vyřešil jen s ukládáním na disk ale funguje to :-D Děkuji moc. Jsem zjistil, že t… poslední
Boris.K 15.01.2020 18:57
Boris.K

To jsem zkoušel dat ten login dozadu.

<body>
<!--- BEGIN PLAYER --->
<!-- webbot bot="HTMLMarkup" startspan ---->
<object ID="MediaPlayer" WIDTH="320" HEIGHT="270" CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject" CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112">
<param name="autoStart" value="True">
<param name="filename" value="rtsp://xxx.xxx.xxx:xxxx">
<param NAME="ShowControls" VALUE="False">
<param NAME="ShowStatusBar" VALUE="False">
<embed TYPE="application/x-mplayer2" SRC="rtmp://192.168.1.10:250/flash/11:admin:admin" type="video/mp4" NAME="MediaPlayer" WIDTH="320" HEIGHT="270" autostart="1" showcontrols="0"></embed></object>
<!-- webbot bot="HTMLMarkup" endspan ---->
<!--- end PLAYER ---></body>
</body>

Aha, tak promin, jen lama s kmerou ;-)

<body>
<video width="640" height="480" controls>
<source src="rtps://192.168.1.250/flash/11:admin:admin" type="video/mp4">
Your browser does not support the video tag.
</video>
</body>

Nebylo nalezeno zadné video s podporovanÿm formatem a typem MIME.

Jsem uplna lama, ale při googleni jsem se dočet, že PHP běží na servru a html, na ktere je ten HTML5 video playeru v počitači uživatele.

Takže když v php spustim ffmpeg a budu to streamovat do sitě, třeba tcp://192.168.1.41:5000
Tak když v tom HTML5 video playeru nastavim to same, mělo by to fungovat,ne?

PHP nepotrebujete, michate hrusky s jablky.

Na stroji ktery bude serverem HLS streamu (kde bude ffmpeg generovat potrebne) musi bezet nejaky webovy server, treba Apache nebo Lighttpd. Ffmpeg na serveru generuje playlist a chunky, takze to pak vypada treba nejak takhle: https://pc.poradna.net/files/88913-scrshit-pc2-01-15-20-at-01-42-pm-png
- v playlistu (tady mystream.m3u8) jsou pak odkazy na ty vytvorene chunky: https://pc.poradna.net/files/88914-image1-png

Na strane klienta - ve webovem prohlizeci pak otevrete jenstranku kterou mate vytvorenou na serveru. Na te strance si vlozite nejaky player s adresou playlistu - ja pouzivam Viblast (https://viblast.com/player/) - neni podminkou, moznosti je spousta.
Vysledek je pak takovyhle: http://zoo.peklo.biz/?page=cam6

Zdrojak pro webovou stranku - jen cast s prehravacem:
(po registraci na Viblastu, je i spousta jinych playeru, je na vas jaky popuzijete):



<script type="text/javascript" src="https://cdn.viblast.com/vb/stable/viblast.js"></script>

<video
  controls
  width="864"
  height="660"
  src="http:/adresa.kde.to.mam/stream.m3u8"
  data-viblast-key="sem vlozit klic z viblastu"
  data-viblast-audio="false"
  data-viblast-abr="false"
  data-viblast-enable-realtime-logger="true"
  data-viblast-abr-consider-dimensions="false"
  data-viblast-long-pause-timeout="600"
  autoplay
  muted
>


Snad je to takhle aspon trochu srozumitelne.

Ten Tvuj zpusob dava pěkně zahulit procesoru a to jsem testoval jen jednu kameru.

Tady je to, čeho chci dosahnout a take mu tam radi ten Tvuj zpusob.
https://video.stackexchange.com/questions/25390/ffmpeg-live-stream-into-a-browser-video-tag-localhost-only

Takto vubec nepoznan na procaku, že to běži.
ffmpeg -rtsp_transport tcp -i rtsp://admin:admin@192.168.1.250/11 -an -f mp4 -codec copy streamkamery.mp4

Jen nevim jak to poslat do sitě.

ffmpeg -rtsp_transport tcp -i rtsp://admin:admin@192.168.1.250/11 -an -f mp4 -codec http://192.168.1.222:8090

piše to At least one output file must be specified

Ten Tvuj zpusob dava pěkně zahulit procesoru
Dyť ten video stream nemusíš enkodovat .-)
Tady je to, čeho chci dosahnout
Máš tam napsané "The video tag does not support live streaming directly" furt nechápeš? Tak proč furt řešíš streamování? Jak se řeší streamování máš třeba tu:
https://flashphoner.com/7-ways-to-stream-rtsp-on-the-page/
Prvně jsem ti dal odkaz na metodu s využitím rtsp, tu jsi nedal.
Pak jsem ti dal odkaz na HLS, je tam jasně uvedené, že výstup je m3u8, tak proč neděláš m3u8?
Když prostě spustíš ffmpeg s vhodnými parametry a výstup je m3u8, tak ti to bude dělat aktualizovaný m3u8 playlist s ts soubory, ty staré se myslím i mažou, pokud to nastavíš, no a to m3u8 pak použiješ na webu v nějakém přehravači. Co na tom nechápeš?
Mimochodem máš tam "-codec" a neuvedený parametr kodeku... tak se nediv, že ti to háže chybu.

Toto jsi mi tu dal.
https://stackoverflow.com/questions/1735933/streaming-via-rtsp-or-rtp-in-html5

ffmpeg -rtsp_transport tcp -i rtsp://admin:admin@192.168.1.250/11 -an -c:v copy -c:a copy -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 /dev/shm/test.m3u8

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:13
#EXTINF:10.080000,
test3.ts
#EXTINF:10.000000,
test4.ts
#EXTINF:10.000000,
test5.ts
#EXTINF:10.000000,
test6.ts
#EXTINF:10.000000,
test7.ts
#EXTINF:10.000000,
test8.ts

Jo dal, a taky tam je i další příspěvek a pokud jsi aspoň trošku rozumný, tak pak z toho sesmolíš třeba toto, jednoduchý příklad pro jednu volně dostupnou webku na rtsp:

ffmpeg -i rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa -codec copy -hls_time 10 -hls_list_size 6 -hls_flags delete_segments test.m3u8

A tedy, vytváří to m3u8 s 6 posledními ts po 10 sekundách a staré to maže. A stream to nepřevádí (neenkoduje), pouze remuxuje.

Tak zatím jsem to vyřešil jen s ukládáním na disk ale funguje to :-D
Děkuji moc.

Jsem zjistil, že to vytížení procaku děla asi terminál na deskopu.
Když se připojím přes putty a spustím, tak mi raspi vrči na krásných 6% a to mi na něm ještě jede program, co mi řídi celý barák.
PS: nevíš náhodou jak spustit v terminalu příkaz tak, aby zůstal aktivní, i když ho vypnu.
Jsem to věděl ale roky jsou už tu a skleroza zezahali ;-)

Zpět do poradny Odpovědět na původní otázku Nahoru