Leerzeichen maksieren für FFmpeg ?

  • Allgemein

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Leerzeichen maksieren für FFmpeg ?

    Hallo Hallo,

    in FFmpeg dürfen keine Leerzeichen im Pfadstring, Dateinamen etc vorkommen.
    Wie kann man die Leerzeichen so maskieren, dass FFmpeg damit klarkommt ?
    Muss das eine DOS Marskierung sein ? Und/oder was macht VB daraus ?

    Denn zugegeben, vor der Konvertierung die Dateien zu kopieren wäre blöd wie ich finde...
    Was hast du vor? ffmpeg mit VisualBasic starten? Dann verwende die Process-Klasse (und poste gegebenenfalls bei Problemen deinen Code!).
    ffmpeg über eine Shell starten? Hier musst du in der Regel Pfadangaben in Anführungszeichen schreiben, damit Leerzeichen nicht als Trennung zwischen zwei verschiedenen Argumenten interpretiert werden.
    Der Pfad muss einfach nur in Quotes (Anführungszeichen) angegeben werden "C:\Dein Pfad\zur\deinem.video" .
    Wenn man sich am Beispiel von ner simplen Konsole anschaut wie Windows Befehle verarbeitet so kann man folgendes erkennen.
    Gibst du einen Befehl ein, so wird (simpel ausdrückt) die Eingabe (also der Befehl) nach Leerzeichen gesplittet. Das erste Element ist dabei das was gestartet werden soll. Die restlichen Elemente sind Parameter für das was gestartet werden soll.
    Also:
    ProgrammDasGestartetWerdenSoll Parameter1 Parameter2 Parameter3 Wenn du dir das anschaust, dann wird das Programm ProgrammDasGestartetWerdenSoll mit drei Parametern gestartet. Wenn man jetzt etwas einsetzt, dann kann z.B. so sein (der Einfachkeit halber nur mit einem Parameter):notepad C:\Temp\log.txt. Dieser Befehl öffnet eine Log-Datei mit Windows notepad.

    Wie du schon gesagt hast, tritt das Problem auf, wenn der Befehl z.B. so lautet:
    notepad C:\Temp\log vom 8.2.14.txt. Hier ist das Problem, dass aus einem Parameter (also dem Dateipfad) gleich drei werden:

    • C:\Temp\log
    • vom
    • 8.2.14.txt

    Das gleiche Prinzip gilt natürlich für notepad, etc.
    Um das zu verhindern, musst du es wie folgt abändern:
    notepad "C:\Temp\log vom 8.2.14.txt".

    Der Unterschied ist hier, dass du den Parameter in Anführungszeichen packst, was so für Windows heißt, dass das EIN Parameter ist.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.