Thumbnail in Thunar: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(Nuova pagina: == Anteprime dei file mediante thunar-thumbnailers== A volte è innegabile la comodità offerta da certi file manager di mostrare le anteprime dei file multimediali: immagini, documen...)
(Nessuna differenza)

Versione delle 20:24, 28 gen 2009

Anteprime dei file mediante thunar-thumbnailers

A volte è innegabile la comodità offerta da certi file manager di mostrare le anteprime dei file multimediali: immagini, documenti, video.

Anche in Thunar, il leggerissimo file manager di Xfce è possibile avere questa comodità, se si ritiene necessaria.

A (quasi) tutto pensa il plugin thunar-thumbnailers, già pacchettizzato e presente nei repository per Lenny, che può essere installato semplicemente mediante:

# aptitude install thunar-thumbnailers

Come possiamo vedere dal sito ufficiale del progetto [1] i file che il plugin riesce a gestire sono molteplici:

  • EPS
  • Postscript
  • PDF
  • DVI
  • OpenDocument Format
  • SVGZ (compressed SVG)
  • Fig (.fig)
  • LaTeX (requires tetex)
  • Raw Digital Camera Images (richiede raw-thumbnailer e dcraw)
  • Grace (richiede grace)
  • file video (richiede ffmpegthumbnailer)
  • XCF Images (formato nativo di GIMP)
  • PSD (Photoshop)


Utilizzo di mplayer per ottenere anteprime dei file video

Il problema nasce dal fatto che ffmpegthumbnailer soffre degli stessi difetti di vlc qualora si utilizzi ffmpeg dei repository debian multimedia di Marillat: non riusciamo a vedere l'anteprima dei video.

Con il metodo seguente otterremo le anteprime dei video in Thunar senza il bisogno di installare ffmpegthumbnailer: utilizziamo il nostro amato e versatilissimo mplayer in associazione a thunar-thumbnailers.


Come prima cosa verifichiamo di avere installato il pacchetto mplayer oppure il suo sostituto senza interfaccia gtk mplayer-nogui.

Quindi creiamo lo script che mediante mplayer si occuperà di ottenere l'immagine di anteprima dei video nella directory che stiamo visualizzando in Thunar.

Come root, creiamo il file di testo semplice /usr/lib/mplayer-thumbnailer e andiamo ad inserire al suo interno, con il nostro editor preferito:

#!/bin/bash
videofile=$(echo "$1" | sed -e 's/%20/ /g' | sed -e 's/%26/\&/g' | sed -e 's/%5B/\[/g' | sed -e 's/%5D/\]/g' | sed -e 's/%40/\@/g'  )

[ "$(/usr/bin/file --brief "$videofile" | grep -e "^data$")" ] && exit

thumbfile="$2"
LENGTH=$(mplayer -nocache  -identify -vo null -ao null -frames 0 "$videofile"  | awk -F= '/ID_LENGTH/ {print $2}'| awk -F. '{print $1}')
RANDOM=$(date %+s)
START=$(((LENGTH / 100) * 15)) ; END=$(((LENGTH / 100) * 70)); LENGTH=$(($END - $START)) ; SHOT=$((($RANDOM % $LENGTH) + $START))
/usr/bin/mplayer -nojoystick -nolirc -nocache -noautosub -nosound -vf scale -vo jpeg:outdir=/tmp:quality=100 -ao null -ss "$SHOT" -frames 3 -zoom -xy 128 -slave "$videofile"
mv /tmp/00000002.jpg "$thumbfile" || rm -f /tmp/00000002.jpg 
rm -f /tmp/00000001.jpg /tmp/00000003.jpg 


Quindi gli diamo i permessi 755 mediante

# chmod 755 /usr/lib/mplayer-thumbnailer

Adesso creiamo il file di configurazione che permetterà a thunar-thumbnailers di utilizzare lo script che abbiamo appena creato.


Con il nostro editor preferito e sempre da root creiamo il file /usr/share/thumbnailers/video-thumbs.desktop il cui contenuto deve essere il seguente:

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=X-Thumbnailer
Name=VIDEO Thumbnailer
MimeType=video/x-ms-wmv;video/mpeg;video/x-msvideo;video/quicktime;video/x-ms-asf;application/vnd.rn-realmedia;application/x-flash-video;video/x-matroska;video/mp4
X-Thumbnailer-Exec=/usr/lib/mplayer-thumbnailer %i %o


Gli diamo i permessi 644 mediante

# chmod 644 /usr/share/thumbnailers/video-thumbs.desktop


Adesso, da utente, aggiorniamo la cache di thunar-thumbnailers mediante:

$ /usr/lib/thunar/thunar-vfs-update-thumbnailers-cache-1


Non resta che aprire una finestra di Thunar e goderci le nostre anteprime ottenute grazie ad mplayer.


Happy Debian, happy Xfce

--Borlongioffei 21:24, 28 gen 2009 (CET)