Com a ajuda de inúmeras discussões na rede SE e em outros lugares, finalmente consegui um script funcional que funciona bem, exceto as predefinições do Matroska. Entendo que o problema é o próprio script, pois especifica a extensão de destino como MP4.
Não tenho experiência com bash e não consegui descobrir como melhorar o script, então, em vez de pré-configurar a extensão de saída, serão necessárias extensões conforme especificado pelopredefinições oficiais.
A maior parte do contêiner de predefinições é MP4, portanto funciona para a maioria das predefinições, exceto MKV. Aqui está um exemplo de script que funciona para MP4:
#!/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
No entanto, para as predefinições do Matroska, só preciso alterar a linha PRESET="Fast 480p30"
para, PRESET="H.264 MKV 480p30"
mas a extensão de saída ainda é mp4
em vez de mkv
.
Pedido adicional:
Não faz parte da pergunta, mas se algum de vocês puder me ajudar a melhorar ainda mais o script para que a saída seja salva em DEST=~/hbCLI/dest/$PRESET
vez de DEST=~/hbCLI/dest
significar que a saída será salva em uma pasta com o nome predefinido, se não existir, crie a pasta .
Obrigado!