마지막으로 중단한 부분부터 비디오 플레이어를 다시 시작하는 방법은 무엇입니까?

마지막으로 중단한 부분부터 비디오 플레이어를 다시 시작하는 방법은 무엇입니까?

다음과 같은 명령을 사용하여 터미널을 통해 비디오 플레이어(VLC, SMPlayer)를 시작할 수 있기를 원합니다. resume_media그러면 자동으로 폴더에서 가장 최근에 재생된 미디어 파일(.mkv, mp4 등)을 찾아 재생을 재개합니다. 정지된 곳부터 재생합니다.

어떻게 이를 달성할 수 있나요?

답변1

시스템에서 Zeitgeist 데몬이 실행 중이라면 ~/.local/share/recently-used.xbel 파일에 유용한 정보를 저장해야 합니다. Zeitgeist는 디스크의 파일에 대한 액세스를 모니터링하므로 가장 최근에 재생한 비디오 파일을 알아야 합니다. 불행히도 파일은 파일 액세스별로 정렬되지 않지만 데이터베이스에는 해당 정보도 포함되어 있으므로 필요한 모든 데이터를 수집한 다음 루프에서 가장 최근 파일을 찾을 수 있습니다.

방금 "video/*" MIME 유형으로 가장 최근에 재생된 파일을 찾아 SMPlayer를 사용하여 재생하는 Bash 스크립트를 작성했습니다(물론 모든 비디오 플레이어를 사용할 수 있습니다).

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

파일에 저장하고 실행 권한을 추가하면 작동합니다.

관련 정보