Ich habe ein bash-Skript, das ich erstellt habe, um Videos in einem Ordner und seinen Unterordnern zu verarbeiten:
%Vor%Das Problem: Anstelle der while-Schleife, die auf ffmpeg wartet, wird die Iteration durch die Schleife fortgesetzt. Das Endergebnis ist, Dateien werden nicht verarbeitet. Ich brauche einen Weg, um die aktuelle while-Schleife Iteration zu warten, bis ffmpeg abgeschlossen ist, bevor Sie mit der nächsten fortfahren. Oder alternativ eine Möglichkeit, diese Elemente in die Warteschlange zu stellen.
Bearbeiten: Also Die Lösung beim Iterieren über eine Reihe von Dateien besteht darin, den Parameter -nostdin an ffmpeg zu übergeben. Ich hoffe, dies hilft jedem anderen, der ein ähnliches Problem haben könnte.
Auch Datei - & gt; $ file war ein Tipp zum Kopieren / Einfügen.
Ich weiß, dass ich das schon vor einiger Zeit gepostet habe, aber ich habe die Lösung gefunden. Danke für alle Antworten. Die Bereitstellung des -nostdin-Parameters für ffmpeg wird ausreichen. Es wird nur die aktuelle Datei verarbeitet, bevor die nächste Datei zur Verarbeitung verwendet wird.
Die Option -nostdin vonffmpeg vermeidet den Versuch, Benutzereingaben von stdin zu lesen, andernfalls wird die Videodatei selbst interpretiert.
%Vor%Der beste Teil bei der Verwendung des obigen ist, dass Sie die Ausführlichkeit weiterhin verwenden können, falls ein Fehler in der Ausgabe ausgegeben wird:
%Vor%ODER wenn Sie die Ausgabe lieber in einer Datei melden möchten, gehen Sie so vor:
%Vor%Sie können auch eine Kombination der beiden verwenden. Auch danke @Barmar für die Lösung!
Ich bin ein bösartiger Antwort-Snatcher. Ich habe eins gefunden:
%Vor%Danke an puchu, hier: fffmpeg auf viele Dateien anwenden
Tags und Links bash ffmpeg while-loop