Assistência de script de conversão em lote do Handbrake para definir a extensão de saída especificada pelas predefinições oficiais

Assistência de script de conversão em lote do Handbrake para definir a extensão de saída especificada pelas predefinições oficiais

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 é mp4em 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/$PRESETvez de DEST=~/hbCLI/destsignificar que a saída será salva em uma pasta com o nome predefinido, se não existir, crie a pasta .

Obrigado!

informação relacionada