¿Cómo hacer que un reproductor de video se reanude desde donde lo dejé por última vez?

¿Cómo hacer que un reproductor de video se reanude desde donde lo dejé por última vez?

Me gustaría poder iniciar un reproductor de video (VLC, SMPlayer) a través de Terminal, usando algún comando como resume_mediay 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.

información relacionada