update
This commit is contained in:
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if XDG_VIDEOS_DIR is not set
|
||||
if [ -z "$XDG_VIDEOS_DIR" ]; then
|
||||
XDG_VIDEOS_DIR="$HOME/Videos"
|
||||
fi
|
||||
|
||||
# Directorio donde se guardarán las grabaciones
|
||||
SAVE_DIR="$XDG_VIDEOS_DIR/Recordings"
|
||||
mkdir -p "$SAVE_DIR"
|
||||
|
||||
# Si ya está corriendo gpu-screen-recorder, se envía SIGINT para detenerlo correctamente
|
||||
if pgrep -f "gpu-screen-recorder" >/dev/null; then
|
||||
pkill -SIGINT -f "gpu-screen-recorder"
|
||||
|
||||
# Espera un momento para asegurarse de que la grabación se haya detenido y el archivo esté listo
|
||||
sleep 1
|
||||
|
||||
# Obtiene el último archivo grabado
|
||||
LAST_VIDEO=$(ls -t "$SAVE_DIR"/*.mp4 2>/dev/null | head -n 1)
|
||||
|
||||
# Notificación con acciones: "View" abre el archivo, "Open folder" abre la carpeta
|
||||
ACTION=$(notify-send -a "Ax-Shell" "⬜ Recording stopped" \
|
||||
-A "view=View" -A "open=Open folder")
|
||||
|
||||
if [ "$ACTION" = "view" ] && [ -n "$LAST_VIDEO" ]; then
|
||||
xdg-open "$LAST_VIDEO"
|
||||
elif [ "$ACTION" = "open" ]; then
|
||||
xdg-open "$SAVE_DIR"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Nombre del archivo de salida para la nueva grabación
|
||||
OUTPUT_FILE="$SAVE_DIR/$(date +%Y-%m-%d-%H-%M-%S).mp4"
|
||||
|
||||
# Iniciar la grabación
|
||||
notify-send -a "Ax-Shell" "🔴 Recording started"
|
||||
gpu-screen-recorder -w screen -q ultra -a default_output -ac opus -cr full -f 60 -o "$OUTPUT_FILE"
|
||||
Reference in New Issue
Block a user