Ich verwende also ein Skript, das ich erstellt habe, um Videos in das WebM-Format zu konvertieren. Ein bestimmtes Programm ruft das Skript auf und sendet %fden vollständigen, absoluten Dateinamen des Videos wie folgt:
converter.sh %f
wo %fhat zwei mögliche Erweiterungen, .avioder .mpg.
# /bin/bash
ffmpeg -i $1 `dirname $1``basename $1 avi`webm && rm $1
Es funktioniert derzeit einwandfrei, wenn es $1eine .aviDatei enthält , da basenamedie .aviErweiterung entfernt wird. Wenn stattdessen $1mit endet .mpg, ist das Ergebnis .mpgwebm.
Wie kann ich dieses Skript ändern, um diese beiden möglichen unterschiedlichen Formate empfangen zu können?
Fortsetzen: Wenn dies der Fall $1ist /somedir/video.avi, sollte das Skript Folgendes tun:
ffmpeg -i /somedir/video.avi /somedir/video.webm
Und wenn $1ist /somedir/video.mpg, sollte das Skript tun:
ffmpeg -i /somedir/video.mpg /somedir/video.webm
Ich weiß, dass dies für manche Leute dumm sein könnte, aber ich bin ein bisschen neu in der Bash.
$(…)