Como ter um player de vídeo retomado de onde parei pela última vez?

3

Gostaria de poder iniciar um player de vídeo (VLC, SMPlayer) via Terminal, usando algum comando como resume_media e, em seguida, ele encontrará automaticamente o arquivo de mídia reproduzido mais recentemente (.mkv, mp4 etc.) em uma pasta e retome a reprodução de onde ela foi interrompida.

Como posso conseguir isso?

    
por Joseph John 05.12.2014 / 17:51

1 resposta

2

Se você tiver o Zeitgeist daemon em execução no sistema, ele deverá salvar algumas informações úteis no arquivo ~ / .local / share / recently-used.xbel. O Zeitgeist monitora o acesso a arquivos no disco, por isso deve conhecer o arquivo de vídeo reproduzido mais recentemente. Infelizmente, os arquivos não são classificados pelo acesso a arquivos, mas o banco de dados também contém essas informações, para que você possa usar todos os dados necessários e procurar o arquivo mais recente em um loop.

Acabei de escrever um script Bash para encontrar o arquivo reproduzido mais recentemente com o tipo MIME "video / *" e reproduzi-lo usando o SMPlayer (mas você pode usar qualquer player de vídeo, é claro).

#!/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"

Salve-o no arquivo, adicione permissão para execução e ele deve funcionar.

    
por kurogetsusai 01.07.2015 / 14:28