Mehrere Instanzen in Unterschiedlichen Sprachen

  • Guten Morgen,


    Ich suche eine Lösung um einen Film im VLC-Player in mehreren Instanzen und jede in einer anderen Sprache gleichzeitig zu starten.

    Ich benutze die 3.0.10.0 Version x64 vom VLC-Player auf Windows 10.

    Ich habe für das gleichzeitige starten die .bat Datei von diesem Forum welches auch schon mal angesprochen wurde genommen und diese für mich angepasst.


    Danach habe ich die vlcrc-Datei im %appdata% kopiert und dort nach Kommandozeilen gesucht die mit Sprache zu tun haben. Bin auch fündig geworden aber wenn ich die .bat-Datei starte sind alle Instanzen auf ein und die selbe Sprache eingestellt.


    Meine frage ist nun habe ich die falsche Kommandozeilen editiert oder habe ich es falsch rein geschrieben in der Kommandozeile?



    Ich habe ewig gesucht aber aber das waren die einzigen Kommandozeilen die ich gefunden habe und die irgendwie Sinn machen.


    Und hier noch meine .bat-Datei die ich ja übernommen habe:


    Da ich ja die Instanzen in unterschiedlichen Sprachen starten will habe ich für jede Sprache eine eigne vlcrc-Datei. *das SCHITSeng ist Falsch müsst SCHITSde sein*


    Ich hoffe jemand kann mich auf einen Fehler hinweisen und mir helfen.

    Vielen Dank schon mal für ansehen des Posts.:thumbup:


    LG loginbildton

    • Official Post

    Hallo loginbildton,


    probiere mal folgendes Kommandozeilen-Script aus.

    Code
    @echo off
    start "" "C:\Program Files\VideoLAN\VLC\vlc.exe" --config="C:\Users\Adrian Eberle\AppData\Roaming\vlc\vlcrc-en" --loop "C:\Temp\Video-ML.mp4" :no-sout-all :audio-track=2
    start "" "C:\Program Files\VideoLAN\VLC\vlc.exe" --config="C:\Users\Weiss\Adrian Eberle\Roaming\vlc\vlcrc-es" --loop "C:\Temp\Video-ML.mp4" :no-sout-all :audio-track=1

    In meinem Kommandozeilen-Beispiel ist die vlcrc-Datei als Kopie mit vlcrc-en (englisch) und vlcrc-es (spanisch) bezeichnet.

    Die Audio-Tracks werden bezeichnet von 0 bis n.

    Ausgewählt werden die Tonspueren über die beiden Optionen :no-sout-all :audio-track=0...n


    Im Menü / Audio / Audiospur sollten die diversen Audio-Traks (Tonspuren) im Video angezeigt und ausgewählt werden können.

    Im Menü / Werkzeuge / Codec-Informationen sind die einzelnen Tracks als Stream bezeichnet.


    Mir ist an einem Video-Beispiel mit mehreren Tonspuren unterschiedlicher Sprache aufgefallen, dass der VLC-Player beim konvertieren alle Tonspuren mit identischer Sprache bezeichnet hat.


    MfG

    Thomas

  • Hall thweiss,


    Vielen dank für die schnelle Antwort werde ich gleich ausprobieren und Rückmeldung geben. Ich habe gestern noch einbisschen herum probiert und meine Kommandozeile V2 sieht momentan so aus :



    So habe ich es hin bekommen eine Instanz zu starten die Sprache und Audiogerät zuordnet.

    Was mir aufgefallen ist ich müsste eben Zwei Instanzen gleichzeitig starten mit dieser Eigenschaft und dann muss ich wohl eine Separate Batch-Datei erstellen weil ich will zwischen durch beide Instanzen pausieren und wieder starten können. Das versuch ich aber erst nach dem ich mal die anderen Sachen reibungslos hinbekommen habe.


    LG

    loginbildton

  • So hab mal das Ausprobiert was du mir geschickt hast.


    Habs so geändert wie ich es brauche und läuft recht gut. Leider habe ich gemerkt das Windows mit der Batch-File die Instanzen ca. 300-400ms nacheinander startet was man dann im video merkt. Gibt es da eine Möglichkeit das ich dem Windows sagen soll "starte die Programme 100ms auseinander" ?


    Und ich dachte mir für das Problem vom Pausieren und starten von denn Instanzen kann ich vielleicht ein AHK-Skript benutzen aber da muss ich mich auch erst mal einlesen und verstehen wie ich so einen Hotkey erstelle der beide Instanzen gleichzeitig steuern kann.


    Hier noch meine geänderte Batch-Datei die ich mit deiner Hilfe erstellen konnte :


    Code
    @echo off
    start "" "C:\Program Files\VideoLAN\VLC\vlc.exe" --config="C:\Users\Adrian Eberle\AppData\Roaming\vlc\vlcrcExmachinade" --loop "C:\Users\Adrian Eberle\Desktop\Ex_Machina.mkv" :no-sout-all :audio-track=4 --mmdevice-audio-device={0.0.0.00000000}.{7a2d3d5c-2b76-4adb-a67d-505c61003f31}
    start "" "C:\Program Files\VideoLAN\VLC\vlc.exe" --config="C:\Users\Adrian Eberle\AppData\Roaming\vlc\vlcrcExmachinaeng" --loop "C:\Users\Adrian Eberle\Desktop\Ex_Machina.mkv" :no-sout-all :audio-track=1 --mmdevice-audio-device={0.0.0.00000000}.{077d7393-dd4c-428a-b94d-881c83655653}


    Ich habe versucht die anderen Befehle zu benutzten für die Audiogeräte aber "mmdevice" ist das einzige was funktioniert hat.


    LG

    loginbildton

  • Tut mir leid falls ich hier gleich so viel schreibe aber eine Frage ist mir noch eingefallen.


    Im VLC player gibt es ja Tastenkürzel und da sind ja auch die "Global Hotkeys", steuern diese Tasten dann alle Instanzen auf einmal wenn ich jetzt z.B (Leertaste) auf Abspielen/Pause lege? Dann wäre mein Problem natürlich super einfach gelöst.


    Was auch noch wäre ich bin schon richtig in der anmahne das VLC es nicht ermöglicht eine Instanz zu starten mit sagen wir Audio-Track ENG,GER und FR gleichzeitig am spielen so das ich alle drei sprachen auf einmal hören würde? Wenn ich dann nämlich diese Audio-Tracks vorher in einem Video Editor auf verschiedene Kanäle lege und so "ENG" auf FR,FL "GER" auf SR,SL und "FR" auf RL,RR dann könnte ich mit mehreren Audio Ausgängen die Sprachen je einzeln hören.


    Natürlich ist das das optimale Szenario aber eben ich glaube das ist von VLC her gar nicht möglich oder?


    Danke nochmals für alle die sich hier denn Kopf wund denken.



    LG

    loginbildton

    • Official Post

    Hallo loginbildton,


    1) Wenn es darum geht, zwei Videos synchron abzuspielen und zu steuern, bieten sich die Lösungsvorschläge aus dem folgenden Beitrag an.

    - zwei Videos synchron wiedergeben


    2) Sollte die zweite VLC-Instanz immer mit der gleichen Verzögerung gestarten werden, könnte man in der ersten einen zusätzlichen Cache-Wert im Script hinzufügen.

    --file-caching=300 oder vielleicht auch --sout-mux-caching=300 (Zeitangabe in Millisekunden)

    - https://wiki.videolan.org/VLC_command-line_help/


    3) Mir gefällt die Lösung der Audio-Geräte-Zuordnung.

    Kannst du die Lösung etwas genauer beschreiben?


    4) Habe noch nicht ausprobiert, zwei VLC-Instanzen über "Global Hotkeys" bzw. Tastenkürzel zu steuern.

    - https://wiki.videolan.org/VLC_HowTo/Global_hotkeys/

    Menü / Werkzeuge / Einstellungen / register Tastenkürzel mit Doppelklick in die Spalte Global die Aktion (linke Spalte) einer Tast zuordnen.

    Die Änderungen [Speichern] und den VLC-Player neu starten.

    Meine ersten Ergebnisse mit der Version 3.0.10 waren negativ.


    5) Die gleichzeitige Wiedergabe von mehreren Sprachen in einer VLC-Instanz habe ich noch nicht ausprobiert.


    6) Füge mal noch eine andere Lösung für eine manuelle Sprachauswahl in einer lokalen Webseite mit Schaltflächen hinzu.

    - Videos in drei Sprachen


    MfG

    Thomas

  • Hallo Thomas,


    1)

    Danke für denn Link. Das habe ich jetzt so hin bekommen das ich zwei Instanzen habe die gleichzeitig starten.


    2)

    Das mit der verzögerung habe ich jetzt mit beiden befehlen getestet aber nach denn ersten tests kein positives Ergebnis erzielt. Habe dann die Zeit mehrmals geändert bei der einen Instanz bis ich auf 400ms war ab da konnte ich von auge her keine verzögerung der einzelnen Szenen feststellen.

    [Screenshot]

    vlc-forum.de/wcf/attachment/2237/


    3)

    Also um die Audiogräte die man angeschlossen hat zu ordnen zu können habe ich erst mal mehrere Befehle ausprobiert.

    Wie sie im https://wiki.videolan.org/VLC_command-line_help/ zu finden sind.

    Die genauen Befehle lauten wie folgt (es gab 3 die ich gefunden habe in der aktuellen Version) :

    Code
     --waveout-audio-device={wavemapper,LG HDR WFHD-4 (NVIDIA High Defi ($1,$64),Speakers (Realtek High Definiti ($1,$64)}
    Audiogerät auswählen
    
    --mmdevice-audio-device={,{0.0.0.00000000}.{077d7393-dd4c-428a-b94d-881c83655653},{0.0.0.00000000}.{7a2d3d5c-2b76-4adb-a67d-505c61003f31}} 
    Ausgabegerät
    
    --directx-audio-device={,{077D7393-DD4C-428A-B94D-881C83655653},{7A2D3D5C-2B76-4ADB-A67D-505C61003F31}} 
    Ausgabegerät

    Die Codes für die Audiogeräte habe ich erhalten als ich per Anleitung denn "vlc-help.text" erstellt habe da hat er mir gleich alle aufgelistet wie sie sein müssen. Hier der link dazu : F30 Kommandozeile - Aufruf und Parameterübergabe mann muss zu Teil 4 Scrollen!!

    Leider hat bei mir nur der mmdevice-audio-device= was genützt bei denn anderen wurde der Sound nicht zum jeweiligen gerät zugeordnet.


    4)

    Ja das mit denn Globalhotkeys hat aufanhieb nicht funktioniert. Ich beiden Instanzen nicht denn selben kürzel geben da nur eine dann daruf anspringt. Danach habe ich versucht beiden einen seperaten kürzel zu geben das ging auch gut aber da stellt sich wieder das Problem diese tasten dann gleichzeitig zu drücken.

    (Vielleicht muss ich hier mit AHK Skript ansetzten was wahrscheinlich viel einfacher wäre als mein vorheriges unterfangen)


    5)

    Dazu habe ich nur dieses Kommando gefunden was aber bewirkt das nicht nur alle Audiospuren sonder auch alle Untertitel gleichzeitig abgespielt und eingeblendet werden was bei mir zu einem Absturz des PC's geführt hat dank 100% CPU auslastung von VLC.


    Code
    --sout-all --sout #display %1%

    Also nicht empfehlenswert. Ausser jemand will seinen PC als Lagerfeuer verwenden.:/


    6)

    Diese Lösung wird für mein vorhaben leider nicht funktionieren.

    Vielleichte hätte ich mal meinen ganzen Plan mitteilen sollen damit du dir nicht zu viel Arbeit machst. Entschuldigung.


    Also ich will ja einen Film über VLC abspielen und diesen dann über Projektoren auf eine Leinwand geben. (ist für ein Autokino im freien gedacht)

    Da ich mehrere Sprachen gleichzeitig anbieten möchte bekommen die Zuschauer Kopfhörer die per Funk zwischen Kanälen wechseln können.(also CH. 1 wäre Deutsch und CH. 2 wäre Englisch)

    Darum bräuchte ich ja eine Möglichkeit von einem Film alle Audio spuren zu einem jeweiligen Ausgang zu routen wo ich dann denn Funktransmitter dran stecke.

    Das mit denn mehreren Instanzen ist inordnung da ich ja nur eine in Fullscreen zeigen muss aber halt das Audio von jeder Sprache brauche.


    Ich glaube wenn ich es jetzt noch schaffe die Instanzen gleichzeitig zu steuern (für Pausen im Kino) dann ist es möglich dieses Event zu realisieren.



    LG

    loginbildton

    • Official Post

    Danke für die umfangreiche Antwort.

    Habe also auch noch etwas dazu gelernt, da ich noch nie die erweiterte Hilfe abgefragt hatte.


    Bezüglich der Verzögerung könnte man folgende Optionen ausprobieren:

    --sout-delay-delay=400 bzw. besser :sout-delay-delay=400

    --delay-time=400 bzw. besser :delay-time=400


    Habe beide Optionen noch nicht getestet.


    Mit der Option --scodec=none sollten keine Untertitel angezeigt werden.


    MfG

    Thomas

  • Guten Morgen


    Ich habe jetzt mal die Delay kommandos ausprobiert und es sieht gut aus ich glaube es ist sogar besser als das was ich zuerst gemacht habe.


    Die Sache mit dem AHK ist leider noch nicht weiter da ich mich immer noch am einlesen bin und noch nicht so viel verstehe.


    Aber jetzt habe ich auch ein neues Problem festgestellt beim VLC player, wenn ich meine .bat Datei ausführe öffenen sich zusätzlich zu denn zwei Instanzen jetzt auch noch Zwei Kommadofenster für jede Instanz. Hat das was mit meiner .bat Datei zu tun oder wieso passiert das jetzt? Ich habe nur änderungen in den .bat Datei vorgenommen und dort finde ich kein Kommando welches diese Funktion aktivieren würde.

    Hier noch mein aktueller Code:

    Code
    @echo off
    start "" "C:\Program Files\VideoLAN\VLC\vlc.exe" --config="C:\Users\Adrian Eberle\AppData\Roaming\vlc\vlcrcExmachinade" --loop "C:\Users\Adrian Eberle\Desktop\Ex_Machina.mkv" :no-sout-all :delay-time=400 :audio-track=4 --mmdevice-audio-device={0.0.0.00000000}.{7a2d3d5c-2b76-4adb-a67d-505c61003f31}
    start "" "C:\Program Files\VideoLAN\VLC\vlc.exe" --config="C:\Users\Adrian Eberle\AppData\Roaming\vlc\vlcrcExmachinaeng" --loop "C:\Users\Adrian Eberle\Desktop\Ex_Machina.mkv" :no-sout-all :audio-track=1 --mmdevice-audio-device={0.0.0.00000000}.{077d7393-dd4c-428a-b94d-881c83655653}


    thweiss wegen denn Untertiteln danke ich für das Kommando. Aber ich muss mich entschuldigen ich brauche es nämlich gar nicht wenn ich mehrere Instanzen öffne.


    LG

    loginbildton

    • Official Post

    Schön, dass die Integration der delay-Option in der Kommandozeile gelungen ist.


    Normalerweise sollte in der Kommandozeile der Programmaufruf über Start die Anzeige des Kommandozeilen-Fensters unterdrücken, bzw. sofort wieder geschlossen werden.

    - https://docs.microsoft.com/de-…on/windows-commands/start


    Man könnte noch folgende Änderung im Kommandozeilenscript ausprobieren.

    Code
    @echo off
    start /d "C:\Program Files\VideoLAN\VLC\" /MIN vlc.exe --config=...


    MfG

    Thomas

  • Hallo nochmals Thomas


    Ich verstehe das mit der Eingabeaufforderungsfenster nicht wirklich. Also wenn ich jetzt bei mir das hier so verändert habe wie du es mir gezeigt hast:



    Leider öffnet sich bei mir immer noch ein Fenster:


    Und wenn ich diese Fenster schliesse schliesst sich auch der Player mit dem Film. In diesem kommen auch diverse "Error" Mittelteilungen so wie es aussieht. Was mich stutzig macht da ja der Player alles trotzdem so abspielt wie ich es will und keine Probleme aufweisst.

    Noch zu meinem Fortschritt mit dem AHK Skript. Ich habe eines im AHK Forum gefunden aber wie ich festellen musste funktioniert dieses nur für eine Instanz und nicht für beide gleichzeitig. Da muss ich wohl wieder eine andere Lösung für das gleichzeitige steuren von beiden Instanzen suchen.


    Falls jemand doch das AHK Skript will lade ich es hier hoch.

    Aber das kann man ja auch mit denn Tastenkürzeln lösen.


    Naja das ist momentan mein Stand der Dinge.


    LG

    loginbildton

    • Official Post

    Lass die ersten beiden Hochkomma in deinem Script nach Start weg.


    In meinem Scriptbeispiel wird Start mit dem Schalter /d aufgerufen.

    /d = gibt das Startverzeichnis an "C:\Program Files\VideoLAN\VLC\".


    Nach dem Startverzeichnis "C:\Program Files\VideoLAN\VLC\" folgt der Schalter /MIN vlc.exe (Gibt an, dass das neue Kommandozeilenfenster minimiert wird.)


    Schau dir mal an, was Kodela zum Start-Parameter in der Kommandozeile geschrieben hat.

    - https://www.vlc-forum.de/thread/1867-f30-kommandozeile-aufruf-und-parameterübergabe/


    MfG

    Thomas

  • Hallo nochmal, thweiss


    Ich melde mich hier wohl heute fürs erste zum letzten mal. Ich habe mit der Hilfe von dir und dem was ich auf anderen Foren gefunden habe meine Ziel soweit fertiggestellt.
    Leider muss ich sagen das mit dem Steuern von zwei oder mehr Instanzen ist noch nicht ermöglicht worden aber der Rest ist abgeschlossen darum kann dieser Thread als Erledigt abgehackt werden aus meiner Sicht.
    Falls sich jemand doch nochmal mit diesem Thema beschäftigen will/wird darf diese Person mir gerne eine PN schreiben an die Pinnwand.


    LG

    loginbildton