Обнаружив, что дефолтный миниатюризатор (totem) не делает миниатюр для многих типов видео-файлов (например, для RealVideo), я решил привлечь для этой ответственной задачи mplayer. В результате родился данный скрипт:
#!/usr/bin/perl
use Getopt::Long;
use URI::Escape;
my ($thumb_size, $uri, $output);
GetOptions("s=i" => \$thumb_size);
($uri, $output) = (uri_unescape shift, shift);
exit 1 unless ($thumb_size and $uri and $output);
my $offset = int rand(50) + 20;
system(qq/mplayer "$uri" -ss $offset -frames 1 -vo png -nosound -xy $thumb_size && mv 00000001.png "$output"/);
Сей велосипед даже работает, nautilus стал показывать миниатюры для всех видеофайлов вместо иконок, но он 1)слишком длинный (ажно 9 строк с шабангом), 2) миниатюры генерируются не слишком быстро. Есть какие-нибудь предложения по поводу того, как его можно подрезать/ускорить?