bash-folders/video-to-mp4.sh

30 lines
1.1 KiB
Bash
Raw Normal View History

2023-03-21 19:08:11 +01:00
#!/bin/bash
2023-04-03 22:48:06 +02:00
# Requirements: sudo apt install inotify-tools ffmpeg
# Enable, cron: @reboot /path/script.sh >/dev/null 2>&1 &
2023-03-21 19:08:11 +01:00
# Carpeta de destino
2023-04-03 22:48:06 +02:00
WATCH_FOLDER=$argv[1]
2023-03-21 19:08:11 +01:00
# Extensiones a monitorear
EXTENSIONS=("mkv" "mp4" "avi" "mov")
# Configura inotify para monitorear la carpeta de destino
inotifywait -m -e create --format '%f' "$WATCH_FOLDER" |
while read filename; do
# Obtiene la extensión del archivo
extension="${filename##*.}"
# Verifica si la extensión está en la lista de extensiones
if [[ " ${EXTENSIONS[@]} " =~ " ${extension} " ]]; then
# Verifica si el nombre del archivo comienza con "optimized"
if [[ "$filename" != optimized* ]]; then
2023-04-03 22:48:06 +02:00
notify-send "Archivo detectado: $filename. Iniciando conversión..."
2023-03-21 19:08:11 +01:00
# Convierte el archivo a formato MP4
2023-04-03 22:48:06 +02:00
ffmpeg -i "$WATCH_FOLDER/$filename" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest "$WATCH_FOLDER/optimized_${filename%.*}.mp4"
notify-send "Archivo convertido: optimized_${filename%.*}.mp4"
2023-03-21 19:08:11 +01:00
else
echo "Archivo ignorado: $filename"
fi
fi
done