Moin Moin,
basierend auf der Diskussion, dem Hörer einen visuellen Mehrwert (z.B. in Form eines Album Covers) zur Verfügung zu stellen. Habe ich mein brachliegendes Visual Radio Projekt mal wieder ausgegraben. Gut, ob es ein visueller Mehrwert ist, meine Hackfresse in einer Kamera zu sehen, lassen wir mal dahingestellt. Es gibt tatsächlich bei uns mehrere Hörer, die unabhängig bei verschiedenen Moderatoren, danach gefragt haben. “Kann man Dich auch sehen, bei der Sendung?”
Braucht man das? Warum machst Du das?
Nun auch die BBC und einige UKW Stationen in Deutschland experimentieren mit Visual Radio, schon ende der 90er hat N-Joy, die Morning Show parallel im Fernsehen ausgestrahlt. Das kostet die eine Menge Zeit und Geld, also irgendwas muss dran sein.
Ich mache das, einzig und alleine weil’s geht und außer meiner Zeit, nix extra kostet. Was ich hier defintiv nicht diskutieren möchte: Wie kommt das Bild zum Server oder wie man OBS zum laufen bring, da gibt es genug Zeug im OBS Forum, bis hin zum eigenen Videoserver.
Hat, oberflächlich betrachtet, erst mal nicht viel oder sogar gar nichts mit mAirlist zu tun.
Klares Jaein!
Das ist ein Zusatzangebot, während der Sendung, möchte ich mich also relativ wenig bzw. eigentlich gar nicht damit beschäftigen und mich auf meine eigentliche Aufgabe konzentrieren: Eine Sendung fahren.
Alles andere soll automatisch funktionieren und nicht nicht ablenken. An dieser Stelle kommt mAirlist als mächtiges Werkzeug ins spiel, was z.B. (dank der Hilfe von @Tondose) schon sehr zuverlässig meinen OnAirScreen steuert.
Auf dieser Basis kann ich nun weiter machen und damit auch OBS-Studio über das Websocket Plugin steuern.
const
IP = '127.0.0.1'; // <-- IP-Adresse
PORT = '4444'; // <-- Port
PATH = 'C:\ProgramData\mAirList\6.2\OBSCommand\OBSCommand.exe'; // <-- Pfad
procedure OBSCommand(Befehl: string);
begin
ShellExecuteHidden (PATH, '/server=' + IP + Chr(58) + PORT + Chr(32) + Befehl);
end;
procedure OnLoad;
begin
// Befehle an OBS, beim laden des Scriptes z.B. bestimmtes Sendeprofil oder Scene-Set laden
OBSCommand('/profile=myprofile /scene=myscene');
end;
procedure OnOnAir;
begin
OBSCommand('/scene="scene-onAIR"');
end;
procedure OnOffAir;
begin
OBSCommand('/scene="scene offAIR"');
end;
begin
end.
Nach dem ich das fertig hatte, viel mir auf: Moment, es gibt doch einen httpGET funktion in mAirlist Script, ich brauche also gar nicht das Commandline-Tool ansteuern. Das hat z.B. ein Problem damit, wenn OBS-Studio nicht antwortet. Dann bleibt das Fenster offen.
Aber daran scheitere ich gerade etwas. Brauche ich httpGet oder httpGetAsync? Ich verstehe gerade den Unterschied nicht. Einer wartet auf Rückmeldung, der anderen nicht?
Ich möchte hier erst einmal nur zum Beginn der Sendung und zum ende der Sendung eine Szene aufrufen. Da ich davon ausgehe, dass der Videostream schon etwas vor der eigentlichen Sendung startet und das laufende Prorgramm durchreicht.