Preparing the Sources

go back to the project page

Even though the Laptop has a 6.5GB Hard Drive, and "Damn Small Linux" is so, well Damn Small, I did not want to waste any of the precious space.

The Laptop was a rather slow model (366MHz), and even though VLC is the fastest video player I know, it still had problems showing XviD avi movies. So even though XviD is my favorite codec, I had to come up with something else. My source was my own MiniDV camera, producing 720x480 NTSC.
My solution was to encode to MPEG2 (interlaced) with Adobe Premiere Elements.
I chose a resolution of 640x480 and encoded with a bit rate of 2500kbs.
The resulting file is about 1.2GB and rests now comfortably on my HDD, being called by VLC.

For my images, I needed to do a bunch of modifications too. Since I am shooting with a Canon 20D and Canon 300D, most images are in 3:2 format, yet the laptop is a 4:3 Model.
These are the image conversion steps I took with Photoshop CS2. I have also provided this Photoshop Action that automates the steps, in case you have a similar issue (just make a folder c:\output on your HDD) and run the action on any folder containing images.

1.

Make sure all images are the same size (3:2) since I sometimes use differerent RAW Converters.
I chose a resolution that reflects the 3:2 original sizes, yet lets me allow to resize to 4:3 easily.
So I set them all to 2700x1800

2. Now crop down to 4:3. Again, this is done automatically by my action.
By changing the canvas size to 2400x1800 by dropping 150pixels left and right.
Now you can see why I chose this resolution, as this is easily dividable by 4:3
3. Changed the image size to 1024x768 using the "bicubic sharper" option in Photoshop (generally a good idea when going from large to small)
4. File->Save for Web to c:\output. I am using this option with a Quality Level of 99. I am using this rather than the "Save as ..." option, since it minimizes the file size. It does not add any jpeg comments or color profile information (the Linux viewer is not color managed either), so the files come out somewhat smaller.
5. Close the image to free up memory before the action loads the next image

Networking

I, too, have been building DSL picture frames. I'm on my second, the first has been running for almost two years now. They are based on some old Dell CSx 500MHz PIII laptops recycled by our IT department at work.

"unclutter" is the program which removes the cursor from the screen

I used smbclient to mount a shared Windows drive and pull the photos off that. It makes it easy to update the pictures being shown. This does, of course, mean that you need to get networking running on DSL. Wireless is even better (one less cord) but requires a bit more work. Luckily, DSL 4.4.10 seems to support ndiswrapper pretty well. Networking also allows you to use ntp for time sync, giving the ability to turn your frame on and off at the same time each day (or on some days and not others). ssh for remote reconfiguration.

Finally, I disabled swap and used a CF card to replace the hard drive. dd will make a copy of a disk image, and gparted will allow shrinking that disk image to whatever size is appropriate for your CF card. Disabling logging means that the system will not be doing a lot of writes to the CF card, for longer life. I used dd again to copy the resized DSL disk image file to the CF card (don't forget to set the "bootable" bit on the CF image in gparted) and a CF to 2.5" HDD adapter from Newegg, and you're ready to boot from CF!

If you mount your display on a piece of foamcore board, and the rest of the PC on the back of it, make sure to cut some slots in the bottom and top of the foamcore to allow air to circulate for display cooling. This makes a nice module to then mount in a glass-front frame or shadowbox. I retained the keyboard/touchpad, glued it on top of the processor board, where it is accessible on the back of the frame for the inevitable manual intervention...glad I did this!

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options