Com a ajuda de várias discussões na rede SE e em outros lugares, finalmente consegui um roteiro de trabalho que funciona bem, exceto os presets Matroska. Eu entendo que o problema é o script em si, uma vez que especifica a extensão de destino como MP4.
Eu não tenho experiência com o bash e não consegui descobrir como melhorar o script, então, em vez de pré-configurar a extensão de saída, ele levará extensões conforme especificado pelo predefinições oficiais .
A maioria dos contêineres predefinidos é MP4, por isso funciona para a maioria das predefinições, exceto MKV.
Aqui está um exemplo do script que funciona para o 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
.
Solicitação adicional:
Não faz parte da pergunta, mas se algum de vocês puder me ajudar a melhorar o script ainda mais, a saída será salva em DEST=~/hbCLI/dest/$PRESET
em vez de DEST=~/hbCLI/dest
, o que significa que a saída será salva em uma pasta com o nome predefinido, se não t exist- criar a pasta.
Obrigada!