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

0

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!

    
por Saidul Hassan 08.08.2018 / 16:50

0 respostas