Mithilfe zahlreicher Diskussionen im SE-Netzwerk und an anderen Orten gelang es mir schließlich, ein funktionierendes Skript zu erstellen, das bis auf die Matroska-Voreinstellungen gut funktioniert. Ich verstehe, dass das Problem das Skript selbst ist, da es die Zielerweiterung als MP4 angibt.
Ich habe keinerlei Erfahrung mit Bash und konnte nicht herausfinden, wie ich das Skript verbessern könnte, sodass es anstelle der Voreinstellung der Ausgabeerweiterung Erweiterungen verwendet, die von deroffizielle Voreinstellungen.
Die meisten Vorgabecontainer sind MP4, daher funktioniert es für die meisten Vorgaben außer MKV. Hier ist ein Beispiel für ein Skript, das für MP4 funktioniert:
#!/bin/bash
# Configure these as needed
SRC=~/hbCLI/src
DEST=~/hbCLI/dest
DEST_EXT=mp4
HANDBRAKE_CLI=HandBrakeCLI
PRESET="Fast 480p30"
IFS=$(echo -en "\n\b")
# The script itself
for FILE in `ls $SRC`
do
filename=$(basename $FILE)
extension=${filename##*.}
filename=${filename%.*}
$HANDBRAKE_CLI -i $SRC/$FILE -o $DEST/$filename.$DEST_EXT --preset="$PRESET" --optimize --two-pass
done
Für Matroska-Voreinstellungen muss ich jedoch nur die Zeile PRESET="Fast 480p30"
in ändern PRESET="H.264 MKV 480p30"
, aber die Ausgabeerweiterung ist immer noch mp4
statt mkv
.
Weitere Anfrage:
Nicht Teil der Frage, aber wenn mir jemand von Ihnen helfen könnte, das Skript weiter zu verbessern, sodass die Ausgabe DEST=~/hbCLI/dest/$PRESET
nicht in einem Ordner mit dem voreingestellten Namen gespeichert wird, sondern DEST=~/hbCLI/dest
in einem Ordner mit dem voreingestellten Namen. Wenn dieser nicht existiert, erstellen Sie den Ordner.
Vielen Dank!