FFMPEG crasht met RTSP stream

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • deamosreapos
  • Registratie: Oktober 2009
  • Laatst online: 09-09 23:06
Goede middag,

In mijn tuin heb ik voor de grap een Hikvision beveiliging camera hangen in mijn volière. Hiermee kan ik overdag mijn vogeltjes in de gaten houden. (of beter gezegd de vriendin ;))

Nu maak ik gebruik van de volgende oplossing, ik heb een mining pc die constant aanstaat en die draait een FFMPEG script. Deze stuurt de RTSP stream vervolgens door naar YouTube zodat ik de live weergave kan integreren op een website. (lang leve maar 1 maal uploaden er zitten soms belachelijk genoeg 15-20 man te kijken)

Mijn probleem; Het script crasht. Dit betekend dat ik stop met live uitzenden en ik hierdoor een nieuwe URL krijg van YouTube, nu ben ik niet de luiste maar het is onhandig om steeds de front pagina te moeten aanpassen om de juiste stream terug te plaatsen.

Mijn vraag:

Kan iemand naar mijn script kijken en zien waar het fout gaat. Mijn YouTube en Hikvision logins kloppen uiteraard niet, maar de rest is wel goed.

ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i rtsp://gebruikersnaam:wac...//Streaming/Channels/101/ -tune zerolatency -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/streamingcode

Misschien is het ook mogelijk om het script automatisch te herstarten bij een crash. Maar hier kom ik zelf niet uit.

Relevante software en hardware die ik gebruik

Een I7 met 16gb ram. En FFMPEG draaiend op een Windows 10 bak.


Dus als iemand hier ervaring mee heeft en me de juiste weg op kan helpen graag!

*disclaimer: geen onnodige discussies over minen etc, lang leve teveel zonnepanelen, ook de totale nutteloosheid van dit projectje ben ik me van bewust :D*

Alle reacties


Acties:
  • 0 Henk 'm!

  • Vaan Banaan
  • Registratie: Februari 2001
  • Niet online

Vaan Banaan

Heeft ook Apache ontdekt

Zonder logging of errormeldingen is hier niet zinnigs over te zeggen.
Het kan net zo goed iets heel anders zijn dan dat commando. Router die de hik krijgt, spontane camera reset, you name it.
Gebruik -v of -loglevel dan zie je misschien beter wat er wanneer fout gaat.

[glazen bol modus]
Voor zover ik het commando begrijp, converteer je de Hikvision video stream van H.264 naar x264 met gelijke YUV format (-pix_fmt +) met een aanvullende stille aac audio stream en dat gaat in een flv container naar youtube?
-f lavfi -i anullsrc: de camera heeft dus zelf GEEN audio? Anders moet je misschien nog iets met -map doen, om de cam audio stream te negeren.

Die aanvullende stiile audio stream kan denk ik korter, zonder codecs
code:
1
2
3
4
5
ffmpeg 
    -f lavfi -i anullsrc 
    -rtsp_transport tcp -i rtsp://gebruikersnaam:wac...//Streaming/Channels/101/ 
    -map 0:a -map 1:v -c:v copy -c:a aac 
    -f flv rtmp://a.rtmp.youtube.com/live2/streamingcode

[/[glazen bol modus]

[ Voor 29% gewijzigd door Vaan Banaan op 02-05-2018 15:42 ]

500 "The server made a boo boo"


Acties:
  • 0 Henk 'm!

  • deamosreapos
  • Registratie: Oktober 2009
  • Laatst online: 09-09 23:06
Dankjewel voor de reactie, ik heb mijn origionele script aangepast naar het begin:

ffmpeg -report -loglevel 16 -f lavfi -i anullsrc -rtsp_transport tcp. Zodat bij foutmeldingen er een report moet worden gemaakt.

Nu verlies je me wel een beetje. De RTSP stream heeft geen audio en er komt geen audio bij. Dus in principe hoeft het alleen een conversie naar Youtube te zijn. Ik denk dat nu de beste optie is de boel te laten draaien en te kijken of hij nogmaals crasht en waarom.

Acties:
  • 0 Henk 'm!

  • Vaan Banaan
  • Registratie: Februari 2001
  • Niet online

Vaan Banaan

Heeft ook Apache ontdekt

Ok, afwachten dan maar..
Ik kom berichten tegen dat de tijdsduur van een live broadcast 12 uur is, als een of andere backup optie bij youtube aangevinkt is. https://productforums.goo.../tnZmzGaSYJM/WQARP8R4BAAJ

Wat betreft de command-line options:

Ik zie 2x een inputfile (-i)
-f lavfi -i anullsrc input0 voor een stille audio stream
-rtsp_transport tcp -i rtsp://gebruikersnaam:wac...//Streaming/Channels/101/ input1 is je camera
Dan zie ik, dat je op de video geen conversie doet, en de stille audio naar aac omzet
-c:v copy -c:a aac
Je geeft aan dat de camera inderdaad zelf geen audio stream heeft, maar hierdoor heeft je media toch weer een (stille) audio stream en een video stream.
Als de camera ook audio zou hebben, zou je die audio alsnog kunnen strippen met -map options
-map 0:a -map 1:v Van input0 (de anullsrc) alleen audio en van input1 (de webcam) alleen video.
Zo houdt je media 1 video en 1 audio stream.

En die streams gaan dan in een flv container omdat dat blijkbaar geschikt is voor streamen over rtmp.

Als youtube live stream geen audio vereist (geen idee) hoeft het namelijk niet zo moeilijk:
code:
1
2
3
4
ffmpeg 
    -rtsp_transport tcp -i rtsp://gebruikersnaam:wac...//Streaming/Channels/101/ 
    -an
    -f flv rtmp://a.rtmp.youtube.com/live2/streamingcode

En dan is de -an in jouw geval niet nodig, want er was toch al geen audio

500 "The server made a boo boo"


Acties:
  • 0 Henk 'm!

  • deamosreapos
  • Registratie: Oktober 2009
  • Laatst online: 09-09 23:06
Oke eindelijk weer gecrasht:

code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
size=201669394kB time=28:34:20.56 bitrate=16061.3kbits/s speed=   1x    
frame=3085849 fps= 30 q=-1.0 size=201670291kB time=28:34:21.10 bitrate=16061.3kbits/s speed=   1x    
frame=3085863 fps= 30 q=-1.0 size=201671038kB time=28:34:21.56 bitrate=16061.3kbits/s speed=   1x    
frame=3085880 fps= 30 q=-1.0 size=201672440kB time=28:34:22.10 bitrate=16061.3kbits/s speed=   1x    
frame=3085895 fps= 30 q=-1.0 size=201673317kB time=28:34:22.63 bitrate=16061.3kbits/s speed=   1x    
frame=3085910 fps= 30 q=-1.0 size=201674096kB time=28:34:23.10 bitrate=16061.3kbits/s speed=   1x    
frame=3085925 fps= 30 q=-1.0 size=201675442kB time=28:34:23.60 bitrate=16061.3kbits/s speed=   1x    

Received windows signal 2
[flv @ 000001bda93d1440] Failed to update header with correct duration.
[flv @ 000001bda93d1440] Failed to update header with correct filesize.
frame=3085936 fps= 30 q=-1.0 Lsize=201676108kB time=28:34:24.05 bitrate=16061.3kbits/s speed=   1x    
video:201516046kB audio:26244kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.066397%
Input file #0 (anullsrc):
  Input stream #0:0 (audio): 4429985 packets read (9072609280 bytes); 4429985 frames decoded (4536304640 samples); 
  Total: 4429985 packets (9072609280 bytes) demuxed
Input file #1 (rtsp://@192.168.1.180:554//Streaming/Channels/101/):
  Input stream #1:0 (video): 3085936 packets read (206352431059 bytes); 
  Total: 3085936 packets (206352431059 bytes) demuxed
Output file #0 (rtmp://a.rtmp.youtube.com/live2/):
  Output stream #0:0 (video): 3085936 packets muxed (206352431059 bytes); 
  Output stream #0:1 (audio): 4429985 frames encoded (4536304640 samples); 4429986 packets muxed (26874101 bytes); 
  Total: 7515922 packets (206379305160 bytes) muxed
4429985 frames successfully decoded, 0 decoding errors
[AVIOContext @ 000001bdaa8b0c80] Statistics: 0 seeks, 12232166 writeouts
[rtmp @ 000001bda997bdc0] UnPublishing stream...
[rtmp @ 000001bda997bdc0] Deleting stream...
[aac @ 000001bda9395a80] Qavg: 65536.000
Exiting normally, received signal 15.


Kun jij hier wat mee?