VLC als doorgeefluik (Debian)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Pieter155
  • Registratie: Januari 2006
  • Laatst online: 27-09 11:17
Ik heb een videobron welke volgens het MMS protocol een stream opzet (windows media encoder).
De output van deze stream vang ik op mijn Debian Lenny systeem op met VLC player en stream deze vervolgens door. Dit zonder iets aan de het formaat en of codec te wijzigen.
Dit kan dus infeite gezien worden als een doorgeefluik.

Dit werkt perfect zolang alles up blijft.
Zodra echter de videobron voor een bepaalde tijd word uitgezet pakt VLC de stream niet meer op. Met als resultaat dat de kijker een zwart beeld krijgt en ik handmatig VLC moet afbreken (crtl+c) en moet herstarten.

De laatste vier regels van het programma nadat de source is uitgezet zijn als volgt:

[00000296] access_output_http private debug: Close
[00000296] main private debug: removing module "access_output_http"
[00000294] main private debug: removing module "stream_out_standard"
[00000294] main private debug: destroying chain done
status change: ( stop state: 0 )


VLC stop dus met 'stop state :0' en blijft hierop staan.

Ik start het programma met de volgende syntax:
vlc -vvv mmsh://SOURCEIP:PORTNR --sout-keep --sout '#standard{access=mmsh,mux=asfh,dst=TARGETIP:PORTNR}'

Met het commando '--sout-keep' zou het mogelijk moeten zijn VLC de stream up te houden, maar ik denk dat dat in mijn situatie niet afdoende is.
Haal ik deze optie weg stopt VLC onmiddelijk als de source wegvalt.
Met deze optie kan ik gerust de source even stoppen maar na een dag moet ik alsnog de boel handmatig herstarten.

Mijn bedoeling is eigenlijk dat VLC player constant blijft 'pollen' of de source beschikbaar is, zoja ga streamen en zoniet wacht net zolang de source (weer) beschikbaar is.
Of het moet mogelijk zijn de time-out van 'sout-keep' te vergroten tot een week of langer.

VLC draait overigens op de achtergrond in een 'screen' en is dus niet afhankelijk van een terminalvenster.


Ik ben benieuwd of iemand hier ervaringen mee heeft en zo mogelijk ook een oplossing :)

Acties:
  • 0 Henk 'm!

  • analog_
  • Registratie: Januari 2004
  • Niet online
stop state 0 is positief, als een programma crasht eindigt het met een niet-nul commando, wat je het beste kan doen is het commando in een while forever loopje, maak er een init script van ofzo.

Acties:
  • 0 Henk 'm!

  • Pieter155
  • Registratie: Januari 2006
  • Laatst online: 27-09 11:17
Dank voor je reactie analog_!

Ik heb diezelfde dag nog een whileloop aangemaakt:

"
while ((1))
do

"VLC riedel"

done
"

Dit script draait in een aparte screensessie.
Ik heb het de afgelopen week flink getest en het blijkt prima te werken!
Dat bespaart dus een hoop werk, en nu kan dus iedereen de videoserver aanzetten zonder in de linuxprompt te moeten spitten :)

Nogmaals mijn dank!