Ich möchte einen Ordner erstellen, in den ich alle Videodateien einfügen kann und in dem ffmpeg sie abfängt und als mp4 ausspuckt und die Nicht-mp4-Datei entfernt.
Ich habe folgendes:
for f in *.*;
do ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a libfdk_aac -vbr 4
-movflags +faststart -vf scale=-2:720,format=yuv420p "${f%.*}.mp4"; done
Ich plane, einen Cron-Job einzurichten, um Folgendes für einen bestimmten Ordner jede Stunde auszuführen. Ich bin jedoch neugierig, ob es einen besseren Weg gibt, dies zu tun. Ich gehe davon aus, dass ffmpeg Duplikate anfertigt, wenn ein Auftrag nicht innerhalb einer Stunde abgeschlossen ist.
1
Wenn Sie einen Cronjob verwenden, verschieben Sie zuerst ein neues Video in ein anderes Verzeichnis, bevor Sie ffmpeg starten, um zu vermeiden, dass Jobs mit demselben Video doppelt ausgeführt werden.
Cyrus
Das würde funktionieren oder nach einer .mp4-Datei mit dem gleichen Namen suchen und abbrechen, wenn es eine gibt. Bauen Sie eine Logik in das Shellscript ein. Abhängig von den Ressourcen möchten Sie die Verarbeitung möglicherweise auf eine bestimmte Zeit beschränken. Und wenn Sie das in das Skript einbauen, können Sie das Skript häufiger ohne Abzüge aufrufen. Wenn ffmpeg ausgeführt wird, wird das Skript abgebrochen, ohne etwas anderes zu tun, als zu prüfen, ob es ausgeführt wird. Sie können ein solches Skript jede Minute aufrufen, ohne viel Verarbeitungsaufwand zu verursachen.
Ecnerwal
Ich habe auch an einer Logik gearbeitet, aber ich bin auf eine App namens "iwatch" gestoßen (für Google mit einem bestimmten Apple-Produkt auf dem Markt äußerst schwierig), die das gleiche Problem zu lösen scheint, das ich lösen möchte: iwatch.sourceforge.net/index.html und 5minutenpause.com/blog/2012/11/14/…
dddddddddd
Haben Sie eine Lösung gefunden?
Winterflags
Ich habe iwatch mit einer smb-Freigabe in Xubuntu zum Laufen gebracht, dies sollte für ungefähr 3 Benutzer ausreichen. Ich hatte keine Chance, die Stellengesuche zu optimieren.
Dddddddddd