"Quick & dirty"-Sendeautomation für vorproduzierte Sendungen

Status
Für weitere Antworten geschlossen.

AFu

Benutzer
Hallole,

im Freien Radio für Stuttgart suchen wir die Möglichkeit vorproduzierte Sendungen und Wiederholungen automatisiert zu senden.
Das Projekt bei uns ist nicht neu. Es wurde viel gemacht und programmiert, mit mAirList. - Das Ganze Ding ist zu einer Eierlegenden Wollmilchsau geworden, aber bis heute nicht fertig und einsatzbereit.

Nach dem das Thema nun wiederholt und vor allem mit mehr Druck nun endlich angegengen werden soll, möchte ich mich etwas dahinter klemmen.

Meine Programmierkenntnisse sind nicht wirklich vorhanden. Ich kann bissele mit DOS-Batchdateien was machen, aber das wars schon.

Was brauchen wir, was wollen wir:
- Es sollen vorproduzierte Sendungen, wie auch Sendungen zur Wiederholung automatisch zum richtigen Zeitpunkt abgespielt werden.
- Wenn nix vor liegt, soll unsere "Endlosdisk" laufen.

Da ich mich, wie gesagt, jetzt erst mit in die Thematik einschalte sind mir ein paar Einfache Ideen gekommen.
Und zwar einfach nur mit Winamp und DOS-Batch-Dateien und dem Windows Task Scheduler.
Grundlage soll eine Verzeichnissstruktur sein, die Verzeichnisse nach Tag in Verzeichnissen nach Monat hat.
Stündlich soll der Taskmanager eine Batch-Datei starten, die das Datum auswertet, guckt, ob eine Datei zu dieser Uhrzeit vorhanden ist. - Wenn ja, spiele sie, wenn nein, spiele die Dateien der Endlosdisk.
Anfangs könnte die Bestückung nur durch das Büro oder die Technik sein.

Hier mal mein Script, das Stündlich ausgeführt werden soll:

Code:
@echo off
rem Test für Sendeautomation
rem

e:
cd \Automation

set monat=%date:~-7,2%
set tag=%date:~-10,2%
set stunden=%TIME:~0,2%
if "%stunden:~0,1%"==" " set stunden=0%stunden:~1,1%

cd \Automation\%monat%\%tag%
if exist %stunden%00.mp3 (
    start "C:\Program Files (x86)\Winamp\winamp.exe" %stunden%00.mp3
       echo Datei läuft.
) else (
    echo keine Datei.
    start "C:\Program Files (x86)\Winamp\winamp.exe" E:\Automation\endlos.m3u
)

:ende

Für automatische Wiederholungen habe ich mir überlegt, dass eine Stunde nach Ende der Sendung ein Task die betreffende Sendung zur Seite in eine betreffendes Verzeichnis kopiert, und ein anderer Task am Tage der Weiderholung zwei Stunden vorher die Sendung automatisch ins System einfügt.

So nach meinem Verständniss könnte ich dieses binnen kürzester Zeit zur Verfügung stellen. - Unser Audiotechniker muss dann nur noch sehen, wie er diesen PC in den vorhandenen Sendeweg einbindet.

Als weiteres, aber erst später, könnte man mittels einer I/O-Karte Lampen im Studio schalten, die anzeigen, ob eine Automation vorliegt/läuft, und sogar dann ggf. noch das Sendepult während einer Automation abschalten.

Was haltet Ihr davon, was ist noch als Quick&Dirty-Sendeautomation für Stundendateien möglich?

Danke und Grüßle
AFu
 
Moin @AFu,

ich habe da einen ganz heißen Tipp für Dich: Der Kollege @shorty.xs macht bei seiner Station so ziemlich genau das, was ihr vor habt.
Da ich leider nicht weiß, wie regelmäßig er hier reinschaut - vielleicht wurde er ja durch die @-Erwähnung angetriggert :cool: - kannst Du ihn entweder direkt hier anschrieben oder Dein Glück im mAirList-Forum versuchen. Er benutzt dort den gleichen Nick und ist für gewöhnlich mindestens einmal pro Werktag im Forum aktiv.

Vermutlich bekommt ihr beide das relativ schnell gebacken.

Viel Erfolg und beste Grüße nach Stuttgart
Uli
 
Moin Moin,
komplett automatisiert haben wir das leider noch nicht. Meine Programmierkenntnisse, so man sie überhaupt so nennen kann, beschränken sich ebenfalls auf Windows CMD/ Batch.

Aktuell läuft das so, dass die Moderatoren, die aufgezeichnete Sendung auf unseren (zur Zeit noch) ftp Server hochladen, in einem spezifischen Dateinamensvormat.
Auf dem Server gibt es eine Verzeichnisstruktur nach Kalenderwochen und den namentlichen Wochentagen. Darin für jede Stunde einen Ordner.

YYYY-MM-DD_hhmm_Moderator Name_Sendungsname ggf. mit Zusatzinformationen_Marker

Diesen Dateinamen zerlege ich mit einem Batch Script, anhand der Unterstriche und generiere daraus einen ID3 Tag, den ich wieder zurück in die Datei schreibe. So habe ich eine einheitliche Benennung.
Datum un Uhrzeit sind hier Zeitpunkt der Aufzeichnung. Wobei die Datei in dem Ordner einsortiert wird, wo sie wiederholt werden soll.
Als Marker nutze ich im moment nur "VP" um Vorproduktionen zu erkennen, die noch nicht gelaufen sind und damit entsrpechend den Titel Tag nicht auf "Wiederholdung vom" zu setzen. In diesem Fall wird Datum und Uhrzeit auch auf den Tag und Zeit der ersten Ausstrahlung gesetzt und auch dort im Verzeichnis einsortiert.

Nach dem taggen geht die Datei noch durch den MP3gain. (könnte man inzwischen mit mAirlist wahrscheinlich schöner lösen)

Was mir noch fehlt, dass ich mit Variablen in der mAirlist Sendeplanung, die Dateien entsprechend ziehen kann und dann sicherheitshalber noch mal die automatische Cue-Erkennung drüber jage (falls da irgendwas in der DB gelandet ist, was da nicht hin gehört), so wie falls vorhanden, ein Cue-Sheet laden.

Das sind 2 Punkte die noch zur vollständigen Automation fehlen.
Wir arbeiten allerdings nicht mit m3u Dateien, sondern mit der mAirlist Datenbank und dem Minischeduler.
Die fehlenden 2 puzzlestücke habe ich schon mal angefangen aber ich komme da mit meinem know how, noch nicht zu einem Ergebnis.

Meine Batch Dateien stelle ich gleich mal online, ich muss da ggf. noch ein paar User Daten raus killen.
https://github.com/Radio-Zoom/script-collection

Die entsprechenden Threads im mAirlist Forum, kann ich hier gerne noch nachreichen. Ich weiß nicht ob das hier erlaubt/ geduldet ist?

Greetz
Malte

EDIT: Mehr Details zum Marker und Namenssplitting hinzugefügt.
 
Zuletzt bearbeitet:
Moin @AFu ,

schau dir mal ZaraRadio an. Ist so ne Art Raduga-Klon.
Damit spielen wir beim Freien Radio Göppingen die unmoderierten Strecken aus.
Unsere Vorproduktionen sind auch Stundenfiles. Gibt es keine Vorproduktion, spielt er eine im Hintergrund liegende Liste, die allerdings nicht aus festen Songs besteht, sondern aus Dateiverweisen auf Ordner. Aus den jeweiligen Ordnern schnappt er sich dann einen zufälligen Song. Letztendlich baut man sich so eine Art zufällige Rotation, da man mit den Ordnerverweisen in der Liste sozusagen Songtypen definieren kann. Eben die, die im jeweiligen Ordner liegen.
Die eingeplanten Vorproduktionen sind auch nur verweise auf die Vorproduktionsordner. Liegt da nur ein File drin, spielt er auch nur das. So können die Moderatoren ihre Vorproduktionen einfach in ihren entsprechenden Ordner auf dem Server legen und die Sendung ist somit eingeplant. Liegt in dem Ordner kein File, springt er zurück auf die Playlist. Jingles und Trailer können auch noch mit einer art soften Fixzeit zwischen die Playlist-Songs eingesetzt werden und die Übergänge klingen für ne Automation ohne speziell gesetzte Cue-Punkte relativ gut.
Es lässt so gut wie keine Wünsche offen und läuft bei uns äußerst stabil.
Die alte Version 1.6.2 gibts sogar for free.
Da Göppingen ja quasi ums Eck ist, könnt ihr gern auch mal vorbeischneien und euch das vor Ort anschauen.

Grüße
Alex
 
Zuletzt bearbeitet:
Hallole Alex,

vielen Dank für Deinen Beitrag. - Gerne komme ich oder wir mal bei Dir vorbei.

Ich hab mir die Seite und die Anleitungen angeguckt. Bat mei Englisch is not se jello from se Egg.
Also eine Einarbeitung in dieses System ist für mich somit recht aufwendig.

Und was mir aktuell wichtig war, unsere bestehende Endlosdisk, die von einem autarken mp3-SD-Card-Spieler kommt, von äußeren Einflüssen unbeinflust ihren Dienst verseht, beibehalten werden soll.

Dennoch steht nix im Wege in weiterer Zukunft ein anderes System aufzusetzen. Aber: Es muss sich in unseren Reihen jemand finden, der sich mit seinem Wissen drum kümmern kann, und das auch auf einfachste Weise dokumentiert an andere weiter gegeben werden kann.

Mittlerweile ist unsere Lösung etwas fort geschritten. - Das Grundthema Dateien auf Grund von Datum und Stunde zu erkennen und sie zu spielen funktioniert tadellos. Wenn sie zu kurz ist, hörts halt auf, wenn sie zu lang ist, wird sie einfach zur nächsten vollen Stunde beendet.

Mir ist es aber noch gelungen eine Ampel zu bauen. - Dazu habe ich eine Relais-USB-Karte gefunden, die sich über Batch-Befehle ansteuern lässt. Da dran einfach LEDs dran gehängt, die dann mit dem Script einfach geschaltet werden. Grün für normalen Sendebetrieb, und rot für Sendeautomation.
Aufwendiger war es ein gelbes Licht zu steuern, aber auch das funktioniert recht gut. Dazu habe ich ein 5-Minuten-vor-der-Stunde Script, das überprüft, ob eine Datei läuft, und zur nächsten Stunde auch eine vor liegt.
Wenn eine läuft wird eine Variable mit 1 addiert. Wenn eine Datei für die nächste Stunde vor liegt, ebenfalls eine 1 addiert.
Heißt also, dass es die Werte 0, 1 oder 2 gibt. Nur wenn der Wert 1 in der Variablen liegt, also wenn eine Datei gerade läuft, und danach keine, oder wenn keine Datei läuft, aber dann zur nächsten Stunde eine vor liegt, wird ein gelbes Licht eingeschaltet.
Zusammen mit den anderen beiden LEDs habe ich eine Ampel, die dann auch grün-gelb für "es kommt gleich eine Sendung", oder rot-gelb für "eine Sendung hört gleich auf" signalisieren kann.

Danke an alle für die Unterstützung und Tipps.

Grüßle
AFu
 
Zuletzt bearbeitet:
Hallole,
Nun läuft unsere Sendeautomation doch schon einige Zeit, und vorallem in der jetzigen Zeit wird sie viel genutzt.
Es ist sogar möglich, m3u-Playlisten zu Streams zu starten, also Übernahmen von anderen NKLs oder auch per HomeStreaming.

Jetzt gibt es nur eine Macke: Der Winamp läuft nicht ganz so stabil, und kackt ab und an mal ab.

Was ich jetzt brauchen würde, währe ein Musikabspielprogramm, das mit Schaltern per DOS betrieben werden kann, z.b. afu-player.exe /play datei.mp3 oder auch afu-player.exe /close
Und natürlich mit weiteren Veriablen. Was gibt es da für Programme, die ich so ansteuern kann?

Danke und Grüßle
AFu
 
Hallole,

ich muss schon zugeben, dass ich solche Art der Antworten, einfach ein Wort mit einem Link nicht so wirklich prickelnd finde. Vollständige Sätze sind mir da schon lieber. Zumal die Antwort nicht wirklich qualifiziert ist, da der das Satzzeichen ja ein Fragezeichen ist.....

Somit würde ich mich weiter über Antworten freuen, gerne auch mit persönlichen Erfahrungen.

Grüßle
AFu
 
Ich muß schon zugeben, daß ich mit solcher Art der pampigen Antworten auf konstruktive (!) Beiträge nichts anfangen kann. Warum soll ich einen Roman drumherum schreiben? Hast Du den Link wenigstens mal angeklickt und gelesen? Hättest Du in der Zeit, in der Du das geschrieben hast, locker machen können. Und vielleicht interpretierst Du das Fragezeichen als einen freundlichen Vorschlag. Aber bitte, nochmal abgeschrieben und für Dich vorgekaut:

Code:
Usage: vlc [options] [stream] ...
You can specify multiple streams on the commandline.
They will be enqueued in the playlist.
The first item specified will be played first.

Options-styles:
  --option  A global option that is set for the duration of the program.
   -option  A single letter version of a global --option.
   :option  An option that only applies to the stream directly before it
            and that overrides previous settings.

Stream MRL syntax:
  [[access][/demux]://]URL[#[title][:chapter][-[title][:chapter]]]
  [:option=value ...]

  Many of the global --options can also be used as MRL specific :options.
  Multiple :option=value pairs can be specified.

URL syntax:
  file:///path/file              Plain media file
  http://host[:port]/file        HTTP URL
  ftp://host[:port]/file         FTP URL
  mms://host[:port]/file         MMS URL
  screen://                      Screen capture
  dvd://[device]                 DVD device
  vcd://[device]                 VCD device
  cdda://[device]                Audio CD device
  udp://[[<source address>]@[<bind address>][:<bind port>]]
          UDP stream sent by a streaming server
  vlc://pause:<seconds>          Pause the playlist for a certain time
  vlc://quit                     Special item to quit VLC

.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben