Con la ayuda de numerosas discusiones en la red SE y otros lugares, finalmente logré un script funcional que funciona bien, excepto los ajustes preestablecidos de Matroska. Entiendo que el problema es el script en sí, ya que especifica la extensión de destino como MP4.
No tengo experiencia con bash y no pude descubrir cómo mejorar el script, por lo que en lugar de preestablecer la extensión de salida, tomará extensiones según lo especificado por elajustes preestablecidos oficiales.
La mayor parte del contenedor de ajustes preestablecidos es MP4, por lo que funciona para la mayoría de los ajustes preestablecidos excepto MKV. Aquí hay un ejemplo del 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
Sin embargo, para los ajustes preestablecidos de Matroska solo necesito cambiar la línea PRESET="Fast 480p30"
pero PRESET="H.264 MKV 480p30"
la extensión de salida sigue siendo mp4
en lugar de mkv
.
Información adicional:
No es parte de la pregunta, pero si alguno de ustedes pudiera ayudarme a mejorar aún más el script para que el resultado se guarde en DEST=~/hbCLI/dest/$PRESET
lugar de DEST=~/hbCLI/dest
significar que el resultado se guardará en una carpeta con el nombre preestablecido, si no existe, cree la carpeta. .
¡Gracias!