Kodak Photo CD Image extraction
Kodak Photo CDs use
a custom image format for its .pcd
image files.
To convert the .pcd
files into a readable format (i.e. JPEG) you can use
pcdtojpeg.
Structure
The relevant file structure of a Photo CD is as follows (adapted from Ultimedia Services Version 2 for AIX: Programmer’s Guide and Reference UMSPCDImageReader Object):
.
└── photo_cd/
├── images/
│ └── img0001.pcd … imgnnnn.pcd
├── overview.pcd
├── startup.pcd
└── info.pcd
The img*.pcd
files are the actual images. overview.pcd
contains
thumbnails of each image.
startup.pcd
is a Photo CD logo.
And info.pcd
contains information about the Photo CD like serial number,
date of creation and number of images.
Converting
Converting the images with pcdtojpeg
is best made with simultaneous
use of exiftool
to add the metadata as comment to the JPEG image.
I used something like the following bash script:
#!/usr/bin/env bash
set -euo pipefail
if [ "$#" -ne 2 ]; then
echo "Usage: INPUT_DIR OUTPUT_DIR"
exit 1
fi
input_dir="$1"
output_dir="$2"
shopt -s nocaseglob # pcd image files may be lower or upper case
for f in "$input_dir"/*.pcd; do
out="$output_dir"/$(basename "${f:0:-4}").jpg
comment=$(pcdtojpeg -v "$f" "$out")
exiftool -overwrite_original -comment="$comment" "$out"
done
Number of Images
If you would like to check the number of images you can use
pcdinfo
to get the count from the info.pcd
file.
You can also use it to get the serial number to e.g. check with the booklet.
Multiple Sessions
When reading a CD it is important that you check that the last session is used. Otherwise you will not get all images.
The number of sessions can be obtained with cdrdoa disk-info
.
pcdinfo will report the session number of the info.pcd
file.
These numbers should be equal.