6

Before I upgraded to Maverick, .swf files used to have a thumbnail in Nautilus. However, Nautilus doesn't generate thumbnails for them anymore, even after removing ~/.thumbnails/, which most likely indicates that a package is missing.

How do I get Nautilus to generate thumbnails for .swf files?

EDIT: I've added a bounty, as I believe this question might still be answered...

4 Answers 4

5

The thumbnails were made with libswfdec (i.e. /usr/bin/swfdec-thumbnailer from the package swfdec-gnome), which was removed in Ubuntu 10.10 ("maverick"). The libswfdec author stopped development because there are already 2 other open source projects working on implementing an SWF player: gnash (which is included in Ubuntu) & lightspark (which is new and not included yet). I am not sure if there exists a thumbnailer that uses gnash...

1
  • 3
    I don't understand why this answer gets voted up? You only explain why swfdec doesn't exist as such in Lucid anymore, but you don't explain how to get the thumbnails back in Lucid.
    – user2817
    Jan 18, 2011 at 20:26
4
+50

There is a way of getting this done explained in the Floorplanner Tech Blog. To compile dump-gnash on a fresh Maverick you'll need

sudo apt-get install gcc libboost-dev libboost-thread-dev libagg-dev libsdl1.2-dev libcairo-dev libgstreamer0.10-dev libatk1.0-dev libglib2.0-dev libpango1.0-dev libgtk2.0-dev libgtkglext1-dev libgl1-mesa-dev libgif-dev libjpeg-dev libgstreamer-plugins-base0.10-dev libspeex-dev libcurl-dev

And then you just follow the steps. This will take a long time.
NOTE: For Step 7 use the following script instead:

if [[ $3 ]]; then
    raw="$(mktemp)"
    dump-gnash $2 -P "FlashVars=url=file://$1" -D "$raw" --max-advances 1 -j 500 -k 500
    tail -c 1MB "$raw" | convert -size 500x500 -depth 8 rgba:- -separate -swap 0,2 -combine -trim png:"$3"
    trap "rm $raw" EXIT
else
    echo "Insufficient arguments (expected 3 arguments)"
    exit 1
fi

Once you have the final script running you just hook it into gconf-editor

gconftool-2 -s "/desktop/gnome/thumbnailers/application@swf" -t string "/usr/bin/swfthumbnailer.sh %s %i %o"
gconftool-2 -s "/desktop/gnome/thumbnailers/application@swf/enable" -t boolean 'true'
gconftool-2 -s "/desktop/gnome/thumbnailers/application@x-swf" -t string "/usr/bin/swfthumbnailer.sh %s %i %o"
gconftool-2 -s "/desktop/gnome/thumbnailers/application@x-swf/enable" -t boolean 'true'
gconftool-2 -s "/desktop/gnome/thumbnailers/application@x-shockwave-flash/command" -t string "/usr/bin/swfthumbnailer.sh %s %i %o"
gconftool-2 -s "/desktop/gnome/thumbnailers/application@x-shockwave-flash/enable" -t boolean 'true'

Then restart (or restart gnome-settings-daemon), and you've got swf thumbs!

P.S.: This is a huge hack. A better way to do this would be vastly appreciated.

4
  • 1
    Your commands don't work: Error while parsing options: Unknown option -i
    – user2817
    Jan 23, 2011 at 20:32
  • The bounty ends tomorrow, so if you still want to score......
    – user2817
    Jan 24, 2011 at 20:13
  • After a few Adjustments, the code works. I've documented the adjustments here: codepad.org/ZBaYE6he HOWEVER, the script will run the flashfile for a moment, which results in random background noises... I've found that a little odd, but not tragic. I just wonder if that could be done in a better way...
    – user2817
    Jan 25, 2011 at 3:46
  • @nebukadnezzar I have edited the answer to include your modifications.
    – Isaiah
    Jan 25, 2011 at 4:14
0

Simplest answer should simply be to install swfdec-gnome, but the Lucid version. Not hard to do, just go to http://packages.ubuntu.com/da/lucid/swfdec-gnome and select your architecture. Then just do what you did previously to make it work; it seems to just randomly kick in for me, as I recall. Maybe after a log out/restart. Good luck to you.

0

The closest thing I've been able to find is perhaps using ffmmpegthumbnailer to create thumbnails for you and that should handle the .swf files.

This blog post has the instructions.

1
  • 1
    ffmpegthumbnailer appears to be incompatible with compressed SWF files, which is defacto the default filetype for .swf files: [swf @ 0x8348e40]Compressed SWF format not supported (after running ffmpegthumbnailer -f -s 128 -i test.swf -o out.png)
    – user2817
    Jan 18, 2011 at 21:06

You must log in to answer this question.