controleren of server online is

Voor vragen over Playlist Automation Language.
Plaats reactie
Gebruikersavatar
martijnpc
*
Berichten: 20
Lid geworden op: 26 dec 2008, 12:02
SAM-versie: 3.5.0.
Database: MariaDB

controleren of server online is

Ongelezen bericht door martijnpc »

Hoi lezer,

Ik ben bezig met het maken van een non-stop server. Waarbij we gebruikmaken van 2 shoutcast servers.

Server1 is de server die de muziek naar de luisteraar stuurt.
Server2 is de server waarmee de dj verbinding maakt.

Nu is het idee dat Sam (mits er een dj verbonden is) het geluid van server 2 naar server 1 stuurt. En als er geen dj verbonden is gewoon muziek speelt, zodat er geen stiltes ontstaan.

Nu heb ik het hele forum afgezocht, maar niks gevonden. Dus toen ben ik zelf maar aan de slag gegaan en heb het volgende gemaakt:

Code: Selecteer alles

PAL.Loop:=True;
Queue.AddURL('http://localhost:8000/',ipBottom);
PAL.WaitForPlayCount(1);
Dit werkt wel, maar niet perfect. Aan gezien het afspeelen van server2 ook als 1 nummer telt.
Wat ik eigenlijk wil is dat:
Sam (iedere 5 sec) controleert of server2 iets verstuurt, en dan pas de url in de queue zet.

Alvast bedankt
groetjes Martijnpc
Gebruikersavatar
Wout
Moderator
Berichten: 3311
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: controleren of server online is

Ongelezen bericht door Wout »

Ik denk dat je kicken op server bedoeld.
search.php?st=0&sk=t&sd=d&sr=posts&keywords=kick+server
Afbeelding
Gebruikersavatar
martijnpc
*
Berichten: 20
Lid geworden op: 26 dec 2008, 12:02
SAM-versie: 3.5.0.
Database: MariaDB

Re: controleren of server online is

Ongelezen bericht door martijnpc »

Wout schreef:Ik denk dat je kicken op server bedoeld.
search.php?st=0&sk=t&sd=d&sr=posts&keywords=kick+server
Nee ik wil kijken of er een dj naar server 2 streamt, als dat zo is moet server2 door gestuurt worden naar server 1.

toch bedankt ;)
Gebruikersavatar
martijnpc
*
Berichten: 20
Lid geworden op: 26 dec 2008, 12:02
SAM-versie: 3.5.0.
Database: MariaDB

Re: controleren of server online is

Ongelezen bericht door martijnpc »

Weet iemand meschien hoe ik dit kan doen?

Danku
Gebruikersavatar
skeleton
******
Berichten: 212
Lid geworden op: 15 aug 2008, 20:25
SAM-versie: SAM 2017.9
Database: MySQL 5.5
Windows: Windows 10
Locatie: Belgie
Contacteer:

Re: controleren of server online is

Ongelezen bericht door skeleton »

Ik zoek dit ook.

Een dj heeft een eigen shoutcast stream. Wanneer de dj programma wil doen, maakt hij zijn stream actief. SAM zou aan de hand van een PAL script , elke X-aantal minuten moeten kijken of deze shoutcast stream (van deze dj) actief is. Is hij niet actief, dan moet sam gewoon verder gaan met de Non-stop. Is de stream van de dj actief, dan moet sam deze url in de queue plaatsen.

Als de DJ stopt met zijn stream dan moet sam uiteraard weer de non-stop verder laten gaan, tot wanneer de dj weer zijn stream actief maakt.

Voor alle duidelijkheid : VERGEET het kicken van stream en dergelijke ! Daar gaat het hier niet over !
Radio NOVA
Eigenzinnig, Anders!
Luister via deze pagina : Radio Nova Stream
Gebruikersavatar
ojee66
******
Berichten: 224
Lid geworden op: 20 jul 2006, 22:42
SAM-versie: 4.2.2.*
Database: MySQL 4.1
Windows: 2000
Locatie: Waddinxveen
Contacteer:

Re: controleren of server online is

Ongelezen bericht door ojee66 »

plaatje
url
plaatje
url
plaatje
url

enz...

zo kijkt hij toch steeds of er een stream is na elk plaatje???
Gebruikersavatar
martijnpc
*
Berichten: 20
Lid geworden op: 26 dec 2008, 12:02
SAM-versie: 3.5.0.
Database: MariaDB

Re: controleren of server online is

Ongelezen bericht door martijnpc »

ojee66 schreef:plaatje
url
plaatje
url
plaatje
url

enz...

zo kijkt hij toch steeds of er een stream is na elk plaatje???
Ik heb het probleem op ongeveer deze manier opgelost, het werkt als volgt:

Via een PAL wordt er ieder uur de reclame toegevoegt. Als er een live dj ingeplant staat, wordt er gedaan wat hierboven staat (url, plaatje url enz) en dat 5 keer.

Dit werkt voor mij prima, maar is minder als djs op onregelmatige tijden beginnen (hoewel het rimte van hierboven daarvoor wel voldoet)

Groejtes martijn
Gebruikersavatar
skeleton
******
Berichten: 212
Lid geworden op: 15 aug 2008, 20:25
SAM-versie: SAM 2017.9
Database: MySQL 5.5
Windows: Windows 10
Locatie: Belgie
Contacteer:

Re: controleren of server online is

Ongelezen bericht door skeleton »

martijnpc schreef:
ojee66 schreef:plaatje
url
plaatje
url
plaatje
url

enz...

zo kijkt hij toch steeds of er een stream is na elk plaatje???
Ik heb het probleem op ongeveer deze manier opgelost, het werkt als volgt:

Via een PAL wordt er ieder uur de reclame toegevoegt. Als er een live dj ingeplant staat, wordt er gedaan wat hierboven staat (url, plaatje url enz) en dat 5 keer.

Dit werkt voor mij prima, maar is minder als djs op onregelmatige tijden beginnen (hoewel het rimte van hierboven daarvoor wel voldoet)

Groejtes martijn
ik snap wat je bedoelt maar op deze manier is de crossfading helemaal om zeep ...
Radio NOVA
Eigenzinnig, Anders!
Luister via deze pagina : Radio Nova Stream
Gebruikersavatar
martijnpc
*
Berichten: 20
Lid geworden op: 26 dec 2008, 12:02
SAM-versie: 3.5.0.
Database: MariaDB

Re: controleren of server online is

Ongelezen bericht door martijnpc »

skeleton schreef:
martijnpc schreef:
ojee66 schreef:plaatje
url
plaatje
url
plaatje
url

enz...

zo kijkt hij toch steeds of er een stream is na elk plaatje???
Ik heb het probleem op ongeveer deze manier opgelost, het werkt als volgt:

Via een PAL wordt er ieder uur de reclame toegevoegt. Als er een live dj ingeplant staat, wordt er gedaan wat hierboven staat (url, plaatje url enz) en dat 5 keer.

Dit werkt voor mij prima, maar is minder als djs op onregelmatige tijden beginnen (hoewel het rimte van hierboven daarvoor wel voldoet)

Groejtes martijn
ik snap wat je bedoelt maar op deze manier is de crossfading helemaal om zeep ...
Nee hoor, sam zet de nummers een paar seconde van tevoren in de player, komt er dan achter dat de stream down is en zet dan het volgende nummer klaar.

Groetjes Martijn
Gebruikersavatar
skeleton
******
Berichten: 212
Lid geworden op: 15 aug 2008, 20:25
SAM-versie: SAM 2017.9
Database: MySQL 5.5
Windows: Windows 10
Locatie: Belgie
Contacteer:

Re: controleren of server online is

Ongelezen bericht door skeleton »


Nee hoor, sam zet de nummers een paar seconde van tevoren in de player, komt er dan achter dat de stream down is en zet dan het volgende nummer klaar.

Groetjes Martijn

ja maar de crossfading instellingen zijn om zeep op deze manier.
Radio NOVA
Eigenzinnig, Anders!
Luister via deze pagina : Radio Nova Stream
Gebruikersavatar
Wout
Moderator
Berichten: 3311
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: controleren of server online is

Ongelezen bericht door Wout »

T`is wel moeilijk.

Je wilt een PAL dat elke minuut of minder
steeds kijk of er een stream on-line is.
Als het niet online is, gaat SAM verder met zijn programmering.
Als het online is, dan de bestaande nummer afbreken/uitspelen en de stream via je player laten afpelen.

Kan kijken of AUX1 elke minuut de url kan aanspreken.
Weet op dit moment niet dat ik AddURL kan inladen in AUX1.
Bij AUX1 gaat het geluid eerst op mute (-24db) als hij verbinding krijgt dat dan niet gelijk over je zender gaat.

Bij connectie van URL dan bestaande nummer (deck A/B) uitspelen/faden,
het geluid van AUX1 weer naar 'normaal' niveau.

Als de URL is uitgespeeld zal SAM het automatisch (GAP-killer) door starten.
Afbeelding
Gebruikersavatar
skeleton
******
Berichten: 212
Lid geworden op: 15 aug 2008, 20:25
SAM-versie: SAM 2017.9
Database: MySQL 5.5
Windows: Windows 10
Locatie: Belgie
Contacteer:

Re: controleren of server online is

Ongelezen bericht door skeleton »

Ik heb dan zelf maar een PAL-scriptje geschreven om dit te doen ....
De bedoeling is da je in de statistic relay de server gegevens ingeeft van de stream die gecheck moet worden (in principe zal deze server enkel actief zijn als de dj erop inlogt). In het script hieronder komt dan uiteraard dezelfde URL + poort te staan van deze server.
Als de DJ op de server inlogt gaat SAM dit detecteren en de stream bovenaan in de Queue plaatsen. Mocht de verbinding om de één of andere manier verbroken worden van deze server, dan gaat sam gewoon verder met zijn playlist. Als de DJ opnieuw inlogt op deze server zal sam de stream weer in de queue zetten ... enz enz

Bij mij werkt het alleszins perfect !

Code: Selecteer alles

// *******************************************
// *** Doet een check op shoutcast server  ***
// *** en indien actief plaatst hij de url ***
// ***      bovenaan in de queue lijst     ***
// ***                                     ***
// ***   In PAL geschreven door SKeLeToN   ***
// ***      --- www.radionova.be ---       ***
// ***                                     ***
// *** Laatste Update : 22 September 2010  ***
// *** Versie : 0,4                        ***
// *******************************************

// te doen vooraf : 
// ================
// - Geef de stream bij 'song info' als type : 'C'  ( = Unknown Content)
// - Zorg dat de stream die gecheckt moet worden bij "statistic relay" ingevuld staat !


PAL.Loop:=True;
var I : Integer;
var SongA : TsongInfo;
SongA := Activeplayer.GetSonginfo();
PAL.LockExecution;
I := 1 ; //  Statistics Relay nummer (#) -1 (min één) !!!!
begin;
    WriteStr('Relay number '); WriteLn(I);
    WriteStr('--Active: '); WriteLn(Relays[I].Active);
//    WriteStr('--Status: '); WriteLn(Relays[I].Status);
  end;
PAL.UnlockExecution;
If Relays[I].Active = False or (SongA['songtype'] = 'C') then
//do nothing
Else
Queue.AddUrl('http://xx.xx.xx.xx:xxxx/',ipTop); // IP + poort van stream die gestart moet worden.
PAL.WaitForTime(T['+00:00:05']);  // PAL script was soms te snel waardoor stream soms 2x in queue stond. 5 sec pauze dus.
If Relays[I].Active = False or (SongA['songtype'] = 'C') then
//do nothing
Else
PAL.WaitForPlayCount(1);  // Stream is in de queue !!! Wacht 1 plaat
If Relays[I].Active = False or (SongA['songtype'] = 'C') then
//do nothing
Else
PAL.WaitForPlayCount(1);  // Stream is aan het spelen !!! Wacht tot stream stopt ...
SongA.Free;
PAL.WaitForTime(T['+00:00:25']); // 25 seconden pauze voor volgende stream check
PAL.LockExecution;

Laatst gewijzigd door skeleton op 23 sep 2010, 10:50, 2 keer totaal gewijzigd.
Radio NOVA
Eigenzinnig, Anders!
Luister via deze pagina : Radio Nova Stream
Gebruikersavatar
Wout
Moderator
Berichten: 3311
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: controleren of server online is

Ongelezen bericht door Wout »

Nog geen tijd gehad om te testen met een shoutcast-verbinding bij een plotselinge stop.

Code: Selecteer alles

PAL.Loop := True;

var StreamChecker : TsongInfo;
StreamChecker := Activeplayer.GetSonginfo();

If Relays[0].Active = True then //[0] is de 1-ste statistic relay, telling begin bij 0
    begin
        Queue.AddUrl('http://85.25.132.168:8022/',ipTop);
        PAL.WaitForPlayCount(1);
    end;

If Relays[0].Active = False or (StreamChecker['songtype'] = 'C') then
    begin
        PAL.WaitForTime(T['+00:00:30']);
    end;
    
StreamChecker.free;     
Edit: Werkt niet
Afbeelding
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht