Parameter für Batch-Convertierung des Audiostreams (vcodec=???)

  • Hallo liebe VLC-Gemeinde,

    ich möchte ein Script erstellen, dass alle aktuellen Videodateien innerhalb eines Ordners aufruft und nur den Audiostream in das MP3 Format bringt. Der Videostream soll dabei genau so bleiben wie er ist. Das Problem ist, dass ich dafür den passenden Parameter nicht finden kann. Ich könnte sagen vcodec=none, allerdings gibt er ja dann überhaupt kein Video mehr aus. Hat jemand eine Idee, wie ich an den gewünschten Parameter komme?


    Außerdem: Hat jemand eine Idee, wie ich mit dem Script auch gleich mehrere Formate aufrufen kann? *.mkv, *.avi usw? Soll möglichst Narrensicher sein, damit mein Kollege für den ich das erstelle keine Probleme beim konvertieren hat und die Datei immer nur in den entsprechenden Ordner geben muss damit das konvertiert wird :)

    Viele Grüße
    DDoge

  • Hallo DDoge,


    man könnte im Kommandozeilen-Script möglicherweise eine Lösung umsetzen, wo immer das Eingangssignal in ein Audio-Ausgangssignal konvertiert wird.

    Damit wird unabhängig vom Eingangssignal immer ein Audio-Ausgangssignal erstellt.


    Eine gute Hilfe für die Komandozeile hat Kodela erstellt.

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


    Ein weiteres Beispiel von Kodela sehe ich als Ausgangspunkt für dein Vorhaben.

    Mehrere Dateien in gleicher Weise konvertieren


    Im Script würde ich das Eingangs-Medien-Format (*.mp4) durch *.* ersetzen.


    Soweit meine ersten Ideen.


    MfG

    Thomas

  • Moin Thomas,


    der zweite Link sieht schon ziemlich so aus wie ich es brauche, nur eben nicht mit vcodec=none, sondern vcodec=LassMeineVideodateiInRuheUndKümmereDichNurUmDenACodec wenn du verstehst was ich meine. Ich denke dafür wird es auch einen Parameter geben den ich an die Kommandozeile übergeben kann, schließlich gibt es ja auch einen Button dafür, nur finde ich einfach den Parameter nicht:



    vcodec=none bewirkt dagegen folgendes:



    Was wie erwähnt zufolge hat, dass er überhaupt kein Video mehr in die Datei packt.


    Klar, ich könnte natürlich auch irgendeinen beliebigen Codec eingeben bei vcodec, das hätte aber zufolge, dass jede Datei deutlich länger konvertiert, als sie es eigentlich müsste, da ich ja nur den Audiocodec ändern möchte und das entsprechende Gerät meines Kollegen keine Probleme mit dem Videocodec hat.

    Viele Grüße
    DDoge

  • Hi

    Ich weiß nicht ob das bei Transcode auch geht , vcodec=copy


    Wenn Du es schon selber schreiben möchtest , nimm ffmpeg (gibts auch für Windows) , da geht vcodec=copy auf jeden Fall .

    Dann brauchst du dich nur um den acodec=mp3 kümmern .

    MfG soyo

  • Hallo zusammen,


    ich habe bei meinen Experimenten mit dem VLC-Player 3.0.6 (32-Bit) unter Windows 10 und dem folgenden Kommandozeilen-Script positive Ergebnisse erhalten. Im Script habe ich Hinweise vom Forum-Mitglied Pit Zyclade aus dem Beitrag Mehrere Dateien in gleicher Weise konvertieren berücksichtigt.

    Code
    1. @echo off
    2. for %%a in (*.*) do "C:\Program Files (x86)\VideoLan\VLC\vlc.exe" -I dummy -v "%%a" ^
    3. --sout-transcode-venc=edummy --sout=#transcode{acodec=mpga,ab=196,channels=2,samplerate=48000}^
    4. :file{mux=ts,dst=D:\\Video\\%%~na.ts} --sout-all --sout-keep vlc://quit


    Allerdings wurden die Dateiendungen *.ts in den gespeicherten Videos nicht angefügt. Für das mp3-Audiosignal habe ich 48kHz Abtastrate ausgewählt. Das Kommandozeilen-Script (*.bat) speichert man im gleichen Verzeichnis, obiges Beispiel: D:\Video, im Computer, wie die zu bearbeitenden Videos.


    Möglicherweise kann man das Script noch mit Hilfe der Kommandozeilen-Optionen verfeinern.

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


    MfG

    Thomas