Interaktion mit OBS-Studio Visual Radio ein neuer Start

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.

1 Like

Das Thema muss ich auch noch mal wieder hoch holen, kann mir jemand was dazu sagen, ich würde sehr gerhe auf die obsremote.exe verzichten.

Ich würde gerne dieses Script nutzen nur finde ich niergends die OBSCommand.exe zum download

Und ich nutze Streamlabs OBS geht das auch?

Vielleicht das hier?

Moin Community.

Ich bin so frei und greife dieses Thema noch mal auf…

Bereits seit einigen Jahren übertrage ich meine Sendung nicht nur per Audio sondern auch per OBS als Videostream mit Studiocam.

Im Thema Visualradio möchte ich jetzt den nächsten Step machen und baue mein Setup weiter aus.

Kennt jemand eine Möglichkeit beim Einschalten des Mikrofons ein Signal/Script auszugeben, damit OBS die Szene wechselt? (z.B. über den Talktimer?)

Ich freue mich über alle Tipps und Antworten!

Wie sieht denn die Schnittstelle von OBS für den Szenenwechsel aus?

Wie schaltest du denn das Mikrofon an?

Bei mir ist in Planung, dass der Rotlicht-Trigger vom Pult, über einen Gamecontroller an mAirlist übermittelt wird. Ich möchte darüber einen recorder triggern aber im Prinzip kann man das Script oben abändern und auch eine Szene in OBS triggern.

Meiner Meinung nach für VisualRadio aber nur bedingt zu gebrauchen. Welche Person im Raum soll ich filmen, wenn alle Mikrofone offen sind?
Da würde ich tendenziell eher einen direct out nehmen und mit einem Schmitt trigger den tatsächlichen Audio Pegel abgreifen.
Braucht vielleicht eine gewisse Logik hinten dran, falls mehrer Gäste reden.
Das OBS command line Tool hat auch einen Nachteil. Wenn OBS nicht läuft bleibt es hängen, weil es den Befehl nicht los wird.
Ein direktes Rest Interface hat OBS leider nicht.

Das Mikrofon starte ich über die Faderstart Funktion meines Sonifex S0v2.
Theoretisch gibt es auch einen Remote-Ausgang auf der Rückseite.

Dank des passenden Fernsteuerung-Moduls kann ich mAirList direkt sagen, das er den Talktimer bei “Fader 1 open” starten soll.

Ich weiß immer noch nicht, was genau passieren muß, um in OBS eins Szene umzuschalten.

Hi,

da ich weiß, was @neubionair vorhat, klinke ich mich hier mal ein und versuche zu vermitteln.

Wenn er wüsste, wie die Schnittstelle im Detail aussieht, bräuchte er hier keinen Rat zu erbitten. Daher fragt er ja noch Erfahrungen und Lösungsansätzen damit.
Wenn ich dich richtig verstehe: Du kennst die Schnittstelle von OBS auch nicht, richtig? Nur zum Verständnis.

Tatsächlich irrelevant, da nur zwischen zwei Kameras gewechselt werden soll. Nennen wir der Einfachheit halber mal „Vollansicht“ und „Mikrofonansicht“ (in der alle beteiligten Moderatoren zu sehen sind).

Ich formuliere die Fragestellung stellvertretend nochmal knackig:
Kann man per Faderstart-Signal ein Signal an OBS senden, um eine Quelle ein- und auszublenden? Eventuell über einen Umweg (mit Skript, Zubehör, Drittanbieter-Anwendung dazwischen)?

Richtig. Ich weiß in etwa was mAirList kann, aber das hilft ja nichts, wenn ich nicht weiß, wo die Reise hingehen soll …

Mal in den Raum geworfen, könnte ich mir vorstellen, dass man mit diesem OBS Plugin, das Uli weiter oben bereits verlinkt hat, die Kommandos aus mAirList zu OBS selbst weiterleitet. Damit kann man sicher selbst noch friemeln.

Man braucht nur halt den Auslöser dafür, der die entsprechenden Kommandos dorthin leitet. Es wäre also schon mal ein erster großer Schritt für @neubionair zu wissen, ob und wie man den Talk Timer (oder vergleichbares, ist halt nur Faderstart) auslesen kann.

Es braucht also ein Skript, das diesen Wert ausliest, ein Kommando ausführt – und noch einen Befehl auslöst, wenn der Fader wieder unten ist.

Kann mAirlist MIDI-Kommandos nur empfangen oder auch senden, wenn eine bestimme Aktion ausgelöst wird? Denn im zweiten Fall könnte man damit und dem obs-websocket plugin Szenen, Audio etc offenbar wunderbar steuern…

Ich glaube, das ginge schon.

Siehe unter anderem Scriptreferenz, Steuerung und Status per MIDI - #2 by Torben sowie im Wiki:

(config:remotecontrol:midi [mAirList Wiki])

Es gibt sicher noch mehr, aber das war jetzt eine kurze Suche… hoffe, das hilft.

1 Like

Der Umweg über midi ist gar nicht notwendig.
Die Lösung steht oben im Script.
Das wird zwar durch on-air Bzw. Off air getriggert. Macht dann aber genau das was gewünscht ist.
Eine Szene in einen OBS Studio Profil aufzurufen.

Aha, danke! Für die von @neubionair gewünschte Funktion braucht man also lediglich die

procedure OnOnAir();

durch die hier beschriebene

procedure OnEncoderInputToggle(Input: TEncoderInput; NewState: boolean);

zu ersetzen.

Ich danke euch für eure Tipps!