Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS: VLC Remote Control

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS: VLC Remote Control

    Da ich plane mein Multiroomsystem von mpd auf VLC umzustellen, habe ich eine LBS erstellt, mit dem die Grundfunktionen von VLC gesteuert werden können.

    Der Baustein ist im Downloadbereich zu finden (Nummer 19000123).



    Der LBS nutzt das HTTP-Interface von VLC, dieses muss vorher aktiviert werden.

    Im Anhang ist ein ZIP-Archiv zu finden, welches die wichtigsten Dateien und Infos enthält (kurze Installationsanleitung, Beispielkonfigurationsdatei und ein Startskript), um VLC ohne X-Server (cVLC) auf einem Raspberry Pi (als Basis dient Minibian) zu installieren.

    Der Anhang enthält noch eine Gesamtübersicht der benötigten Logik, um ein Radio mit 10 Radiostationen und "Talk over"-Ausgaben zu realisieren.
    Angehängte Dateien
    You do not have permission to view this gallery.
    This gallery has 2 photos.
    Zuletzt geändert von panzaeron; 31.03.2016, 18:51. Grund: Anpassungen an die aktuelle Version vorgenommen.

    #2
    Als Ergänzung zum VLC Remote Control LBS habe ich ein weiteres LBS (19000124) )erstellt in dem zentral Radiostreams hinterlegt werden, also so eine Art Radiostationstasten. Hintergrund ist, wenn sich eine Stream-Adresse ändert genügt es diese an einer Stelle auszutauschen statt für jede Player Instanz einzeln.

    Der LBS bedient zehn Player und hat maximal zehn Streams zur Auswahl. Aber der LBS kann auch für andere Dinge verwendet werden, es müssen nicht Streams sein die ausgewählt und zurück gegeben werden.

    Die Funktion ist wie folgt, die einzelnen Stationen werden mit einem Namen und Wert (URI) im Eingangsbereich definiert. Die Ausgänge A bis J werden entweder durch direkte Anwahl oder über ein Bit-KOs rauf bzw. runter durchgeschaltet. Im Ausgangsbereich kann für jeden Ausgang (A - J), die aktuelle Stationsnummer, der Name und natürlich der Wert (URI) abgegriffen werden. Wenn das VLC LBS verwendet wird, dann ist der Wert-Ausgang mit dem "URI wiedergeben"-Eingang zu verbinden.

    Sollten die zehn Speicherplätze nicht ausreichen, dann können mehrere LBS "kaskadiert" werden, wie in der Hilfe beschrieben. Bei jedem weiteren LBS muss dann der Eingang E41 (Zehnerstelle) um eins erhöht werden.
    You do not have permission to view this gallery.
    This gallery has 1 photos.
    Zuletzt geändert von panzaeron; 08.03.2016, 19:54. Grund: Baustein erweitert

    Kommentar


      #3
      Deine 2 Bausteine finde ich recht interressant....kannst Du vielleicht noch mehr bildliche Infos bezüglich der "Beschaltung" der Bausteine im Logikeditor posten.
      Wie sieht denn bei Dir deine "Audio" Hardware aus? Geht das dann auch mit mehreren Hifiberrys?

      Kommentar


        #4
        Robby
        Ich nutze als Audio-Hardware ein altes Atom-Mainboard mit einer 8fach Soundkarte ESI Gigaport HD+, dann noch zwei vier Kanal Verstärker und alles zentral auf dem Dachboden. Auf einem RPi hatte ich vor einiger Zeit VLC ohne grafische Oberfläche installiert (Paket vlc-nox) und das funktionierte problemlos mit einem zusätzlichen DAC (allerdings nicht der Hifiberry).
        Im Prinzip kannst du beliebig viele Raspberrys im Haus verteilen und dann pro Raspberry einmal den LBS einbinden.

        Bei mir soll pro Raum eine VLC Instanz auf dem ATOM-Server laufen, jeweils mit einem anderen Port. Jede Instanz hat eine eigene Konfigurationsdatei (siehe Beispiel im Anhang), die müsste bei Dir auf den RPi so ähnlich sein.

        Die Einbindung des LBS ist unspektakulär, E7-E14 gehen auf KOs (GAs) um den VLC zu steuern und die Ausgänge die du benötigst (z. B. für eine Visu) gehen auf eine Ausgangsbox. Das LBS Speicherplätze bekommt extra KOs zur Steuerung (bei mir Tasten auf dem Tastsensor 3 um Radio-Kanäle weiter oder zurückzuschalten). Der jeweilige Ausgang "Wert" von Speicherplätze wird mit dem zugehörigen LBS VLC (Eingang E15 "URI wiedergeben") verbunden.

        Wie ich schon geschrieben habe, VLC hatte ich mal im Einsatz allerdings war die KNX integration nicht optimal, daher bin ich auf mpd umgestiegen, das läuft auch gut allerdings fehlen mir die Sat-Radio-Streams. Jetzt passt die KNX-Integration und wenn EDOMI mein smarthome.py ersetzt, dann werde ich auch wieder VLC einsetzen.
        Das VLC Plugin war eher sowas wie ein Test für mich, um zu sehen wie leistungsfähig EDOMI ist, Test mit Bravour bestanden, danke Christian
        (Auch wenn du es vermutlich schon bereust, aufgrund der vielen Arbeit die jetzt auf dich zugekommen ist...)

        Allerdings habe ich beim LBS Speicherplätze noch das Problem mit der Darstellung der Eingangsseite...

        Kommentar


          #5
          Ich habe den VLC LBS (19000123) umfangreich umgearbeitet. Es verwendet jetzt die neuen Möglichkeiten von EDOMI zur Verminderung der Systembelastung und außerdem sind die folgenden Funktionen hinzugekommen:
          • Bereitstellung eines Album-Covers
            Das Cover, welches von VLC bereitgestellt wird, wird vom LBS in ein tmp-Verzeichnis unterhalb des LiveProjekts gespeichert und anschließend wird die URL über den Ausgang "Cover URI" einer Visu bekannt gegeben, damit es dort angezeigt werden kann.
          • Talk over
            Talk over ist eine Funktion zur Ausgabe von Statusmeldungen. Die Meldungen liegen z. B. als mp3 vor und können auf EDOMI selbst unter /usr/local/edomi/www/data/tts gespeichert werden. Die URL, die das Plugin dann benötigt, lautet für den vorher angegeben Ort und einer Datei "Haustuerklingel.mp3": http://EDOMI-IP-Adresse/data/tts/Haustuerklingel.mp3.
            Meine erste Idee war die Realisierung von Talk over über eine weitere VLC Instanz, welche dann auf allen Ausgängen die benötigten Meldungen erzeugt. Der große Nachteil ist, dass dies nur für einen zentralen Server geeignet ist. Bei mir sind mittlerweile aber auch zwei Räume über kleine Raspberry Pi mit Aktivlautsprecher versorgt, so dass dies nicht funktioniert. Die jetzige Lösung funktioniert daher wie folgt:
            Wenn am Eingang 21 (Talk over URI) ein neue Adresse anliegt (im Screenshot über den Speicherplatz LBS) wird der aktuelle Zustand von VLC gespeichert (Titel, Position im Titel, Repeat, Shuffel und Lautstärke), die URI bei VLC in die aktuelle Playlist am Ende eingereiht und abgespielt. Wenn VLC wieder stoppt, dann wird die hinzugefügte URI entfernt und der ursprüngliche Zustand hergestellt. Die Position im zuletzt abgespielten Titel kann hierbei um ein paar Sekunden abweichen. Durch die Verwendung einer "Warteschlange" gehen keine Meldungen verloren.
          • Debug
            Zusätzliche Informationen werden im Tracelog ausgegeben, um die Fehlersuche zu erleichtern.
          • Default Lautstärke setzen
            Damit wird die Lautstärke wieder auf den Default-Wert gesetzt. Dies ist nützlich, um eine vorher laute Musik nach einer bestimmten Zeit der nicht Benutzung leise zu stellen. Normalerweise starte VLC immer mit der die zuletzt eingestellte Lautstärke.
          • Mute
            Eine Mute-Funktion ist jetzt ebenfalls integriert.
          Der Screenshot zeigt das VLC LBS zusammen mit zwei Speicherplatz LBS, einer zum Auswählen von Radiostationen und der Zweite um die Statusmeldungen zu erzeugen. Die URIs können z. B. auch mit einem Wertauslöser (13000022) an EDOMI übergeben werden, wenn die vielen Ein- und Ausgänge der Speicherplätze nicht benötigt werden. Screenshot.png

          Kommentar


            #6
            Den VLC LBS habe ich weiter optimiert (nun Version 1.5) und ein Beispiel für die Installation von VLC auf einem Raspberry Pi als ZIP-Archiv hinzugefügt.
            Angehängte Dateien
            Zuletzt geändert von panzaeron; 31.03.2016, 08:17. Grund: ZIP-Datei auch hier angehängt

            Kommentar


              #7
              Zitat von panzaeron Beitrag anzeigen
              Den VLC LBS habe ich weiter optimiert (nun Version 1.5) und ein Beispiel für die Installation von VLC auf einem Raspberry Pi als ZIP-Archiv hinzugefügt.

              Kommentar


                #8
                Nur mal so als Anregung/Idee (auch für ähnliche LBS):

                Statt viiiiiele "redundante" Eingänge zu verwenden (hier z.B. Station 1..10) wäre es m.E. in den meisten Fällen sinnvoller, wenn nur 1 Eingang mit einer entsprechenden CSV-Liste (oder so ähnlich) benötigt werden würde:

                Station1;Name1|Station2;Name2|...

                Dadurch wird der LBS optisch kompakter und u.U. wird das "Befüllen" einfacher (weniger Klicks). Natürlich macht dies nur dann Sinn, wenn die Werte quasi für immer fix sind - also nicht ständig per KO geändert werden müssen.
                EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                Kommentar


                  #9
                  gaert
                  Du hast schon recht, wäre auch einfach umzusetzen. Der Gedanke weswegen ich es so gelöst habe ist, dass man auf der Visu einer Konfigurationsseite erstellt, wo ggf. die Werte geändert werden können. Aber vielleicht erstelle ich nochmal eine kompakte Version, weil so oft ändern sich die Stream-URLs heutzutage nicht mehr...

                  Kommentar


                    #10
                    Guten Abend Alex,
                    ich spiele seit gestern an Deinen VLC- Baustein rum.
                    Leider nicht soo ganz erfolgreich.
                    Folgende Infos dazu:
                    1) Habe den VLC- Playern auf zwei WIN Systemen eingerichtet. Laufen auch.
                    2) Dein Baustein entsprechend verschaltet (siehe Logik)
                    3) Erste, ganz einfache VISU Steuerung/ Anzeige erstellt (siehe VISU Seite)
                    4) Was geht: Wenn ich auf den entsprechenden WIN PC z.B. ein Musikstück
                    Starte und wieder stoppe. Dann kann ich über Deinen Baustein wieder das Lied
                    starten. Aber leider dann nix weiteres!!!
                    Also denke ich muss zumindest die Verbindung stehen!?!?!?
                    Hast Du eine Idee was ich noch testen kann???
                    Leider werden auch keine Infos zum Stück (z.B. Album oder so) angezeigt….
                    DANKE DIR vorab!!
                    Gruß Marcus
                    Logik_1.jpg
                    VISU.jpg

                    Kommentar


                      #11
                      @tunneltruppe
                      danke für den Test und deine Rückmeldung. Entschuldige, ich habe versehentlich eine fehlerhafte (ältere) Version hochgeladen, die Version 1.6 sollte jetzt funktionieren.
                      Es wäre nett, wenn du diese Version nochmal testen würdest, bei mir funktioniert die auch mit VLC unter Windows.

                      Viele Grüße Axel

                      P.S.: Es ist sinnvoller wenn du die Ausgänge des VLC LBS mit den E2-Eingängen des Ausgabe-Bausteins und nicht mit E1 verbindest.
                      Zuletzt geändert von panzaeron; 02.04.2016, 00:59.

                      Kommentar


                        #12
                        Guten Morgen Axel (entschuldige wegen den "dreher"),
                        ES GEHT!! WIE GEIL IST DAAS DENNE!!!
                        Jetzt noch mit den 14 Byte Anzeigetexten spielen (geht noch nicht, aber denke
                        liegt an mir!!).
                        P.S. Zu den EIN- und AUSGÄNGEN.
                        Ansich lege ich gleich immer alle Eingänge (die Sinn machen) und Ausgängen an.
                        Dann habe ich alle schön zusammen. Durch den Gira HS (und der Sortierung der KO's)
                        habe ich mir eine kleine Anlegeregel überlegt.
                        Also werden wohl eh alle nicht gebraucht!!!
                        DANKE DIR!!!!
                        Gruß Marcus

                        Kommentar


                          #13
                          Schön das es jetzt funktioniert
                          Wenn du die internen KOs nimmst, sollte eigentlich der ganze Text angezeigt werden (ungetestet), über den Bus wird er nach 14 Zeichen abgeschnitten.

                          Kommentar


                            #14
                            Vielen Dank für diese LBS, genau das was ich brauche. Hat nach kurzen Anlaufschwierigkeiten super funktioniert (musste die php-Datei erst von ANSI nach UTF-8 konvertieren, damit auch andere Dinge außer start/stop funktionierten, eventuell auch mein Fehler bin sehr neu hier...).

                            Habe sowieso ein Windows 24/7 mit DVB-Link laufen. Jetzt noch zusätzlich 3 mal VLC portable. Über "Virtual Audio Cable" teile ich die 3 Player auf eine 5.1 Soundkarte in 3 Stereo Zonen. Somit habe ich drei unabhängige Stereo Ausgänge bei einer Soundkarte. Bei Interesse kann ich das Setup genauer erklären, man findet hierzu leider sehr wenig Infos speziell bei Windows. Auf Linux ist so etwas ja öfters via PULSEAUDIO öfter beschrieben (hatte ich vorher laufen).

                            Kommentar


                              #15
                              So, auf speziellen Wunsch nochmal die genaue Beschreibung von meinem Setup. Ich habe erst angefangen, denke aber das wird so in Zukunft funktionieren.

                              1. Soundkarte

                              - installieren und testen (ich habe eine Sound Blaster Audigy RX)

                              - Systemsteuerung - Sound - Lautsprecher - Konfigurieren: Auf 7.1 oder 5.1 einstellen
                              (wichtig hier, hat mich viel Zeit gekostet, man muss hier das Maximum auswählen, wenn die Soundkarte 7.1 kann, auch 7.1 einstellen, sonst funktioniert anschließend das Mapping nicht, zudem bräuchte ich für meine Karte 4-polige Klinker auf Cinch um Silde Left/Right abzugreifen)

                              2. Virtual Audio Cable (VAC) (Vollversion kostet 27,00 € in der günstigsten Ausführung)

                              - (Demo) herunterladen (http://software.muzychenko.net/eng/vac.htm)

                              - installieren (reicht zunächst die Demo)

                              - 3 Cable konfigurieren (theoretisch könnte eine 7.1 4*Stereo, Demo ist aber neben der zyklischen Demoansage auf 3 limitiert)

                              - Audio Repeater (MME) welches mit VAC installiert wird starten (KS ging bei mir nicht)
                              Wave In: Line 1 (Virtual Audio Kable)
                              Wave Out: Lautsprecher
                              Channels: 2
                              Channel Config: Custom
                              2 Kanäle die an einem Klinkenstecker an der Soundkarte ausgehen (Front Links/Rechts <> Rear Links/Rechts <> Center/Sub <> Side Links/Rechts)
                              - Audio Repeater 2 und 3 analog konfigurieren und halt andere Kanäle auswählen.

                              - nach dem Testen lässt sich das per batch direkt starten:
                              Code:
                              start "" "C:\Program Files\Virtual Audio Cable\audiorepeater.exe" /Input:"Line 1 (Virtual Audio Cable)" /Output:"Lautsprecher (Sound Blaster Aud" /SamplingRate:48000 /BitsPerSample:16 /Channels:2 /AutoStart /WindowName:"audiorepeater.exe Line 1" /ChanCfg:custom=3
                              start "" "C:\Program Files\Virtual Audio Cable\audiorepeater.exe" /Input:"Line 2 (Virtual Audio Cable)" /Output:"Lautsprecher (Sound Blaster Aud" /SamplingRate:48000 /BitsPerSample:16 /Channels:2 /AutoStart /WindowName:"audiorepeater.exe Line 2" /ChanCfg:custom=C
                              start "" "C:\Program Files\Virtual Audio Cable\audiorepeater.exe" /Input:"Line 3 (Virtual Audio Cable)" /Output:"Lautsprecher (Sound Blaster Aud" /SamplingRate:48000 /BitsPerSample:16 /Channels:2 /AutoStart /WindowName:"audiorepeater.exe Line 3" /ChanCfg:custom=30
                              - so sieht das dann in ca. aus:

                              3. VLC portable installieren

                              - möglicherweise ginge auch ein Standard-VLC mit undokumentierten Startoptionen, man muss halt 3 oder 4 Instanzen starten können die jeweils eine eigene Konfig haben, mit VLC portable ist alles im Verzeichnis und kann beliebig kopiert bzw. verschoben werden http://portableapps.com/apps/music_video/vlc_portable

                              - VLC starten und Audio out auf Wave Out stellen, bzw. Device auf Line 1 (2, 3 oder 3) einstellen
                              - jetzt noch http Steuerung von VLC erlauben, passwort setzen... (https://wiki.videolan.org/documentat...les/http_intf/)

                              - nun in die config eingreifen und den http Port der 3 oder 4 Instanzen jeweils auf einen anderen stellen (File: C:\VLC\vlc1\Data\settings\vlcrc)
                              Code:
                              # HTTP server port (integer)
                              http-port=58081

                              - VLC lässt sich nun via Web oder diverse Apps fernsteuern und natürlich auch durch diesen edomi LBS

                              - 3 mal VLC via batch starten
                              Code:
                              start "" "C:\VLC\vlc1\VLCPortable.exe"
                              timeout 3
                              start "" "C:\VLC\vlc2\VLCPortable.exe"
                              timeout 3
                              start "" "C:\VLC\vlc3\VLCPortable.exe"

                              - Die 3 Stereoausgänge gehen bei mir in eine Russound CAV 6.6 (gebraucht günstig gekauft, steuere ich über russconncetd via KNX), sicherlich reichen auch billige Verstärker, 3 bis 4 Player/Zonen hätten wir ja schon mal pro Soundkarte (man könnte ja eine zweite installieren). Was bei billigen Verstärkern allerdings nicht geht ist absolut synchrone Wiedergabe in allen Räumen gleichzeitig, dafür braucht es eine Matrix wie im Russound... aber das ist eine andere Geschichte. Möglicherweise lassen sich VLCs auch annähernd synchronisieren, das hab ich mir noch nicht angeschaut, brauch ich auch nicht.

                              4. edomi konfiguration

                              - noch recht spartanisch, bin noch am Anfang, bei dieser Gelegenheit, danke @geart für diese geile Stück Software!

                              Kommentar

                              Lädt...
                              X