Me gustaría poder iniciar un reproductor de video (VLC, SMPlayer) a través de Terminal, usando algún comando como resume_media
y luego buscará automáticamente el archivo multimedia reproducido más recientemente (.mkv, mp4, etc.) en una carpeta y reanudará el reproducción desde donde se detuvo.
¿Cómo puedo conseguir esto?
Respuesta1
Si tiene el demonio Zeitgeist ejecutándose en su sistema, debería guardar información útil en el archivo ~/.local/share/recently-used.xbel. Zeitgeist monitorea el acceso a los archivos en el disco, por lo que debe conocer el archivo de video reproducido más recientemente. Desafortunadamente, los archivos no están ordenados por acceso a archivos, pero la base de datos también contiene esa información, por lo que puede recopilar todos los datos que necesita y luego buscar el archivo más reciente en un bucle.
Acabo de escribir un script Bash para encontrar el archivo reproducido más recientemente con el tipo MIME "video/*" y reproducirlo usando SMPlayer (pero puedes usar cualquier reproductor de video, por supuesto).
#!/bin/bash
date_recent=""
file_name=""
# get list of files with MIME type "video/*"
video_files_list=$(grep -B3 "<mime:mime-type type=\"video/" ~/.local/share/recently-used.xbel | grep "modified=")
while read -r line
do
# extract modification time (last access to file)
date_line=$(echo "$line" | cut -d'"' -f6)
if [ "$date_recent" \< "$date_line" ]
then
date_recent=$date_line
file_name=$(echo "$line" | cut -d'"' -f2)
fi
done <<< "$video_files_list"
# file name is encoded like URL, use Python to decode it
file_name=$(python -c "import sys, urllib as ul; print ul.unquote_plus(\"$file_name\")")
# play video
smplayer "$file_name"
Guárdelo en un archivo, agregue permiso para ejecutar y debería funcionar.