I have a very similar setup with the exception that I do not transcode my flac files. I found that I needed to embed the album art into the flac file itself using metaflac:
metaflac --import-picture-from="yourcover.jpg" "yourmusicfile.flac"
You'll have to make a script for this process, but I have a perl script that you can use that just needs modifying to match your directory locations:
#!/usr/bin/perl
use strict;
use warnings;
my $artist;
my $album;
my $filename;
my $cover_filename;
if($#ARGV != 0)
{
print("Usage: add_album_art_flac.pl <TOP DIR>\n");
exit;
}
print("Getting artist album info...\n");
my @flac_album_artist = `find . -type f -name \"*.flac\" -exec metaflac --with-filename --show-tag=\"Artist\" --show-tag=\"Album\" {} \\\;`;
print("Got artist album info\n");
foreach my $flac_file (@flac_album_artist)
{
if($flac_file =~ /^(.+):ARTIST=(.+)$/)
{
$filename = $1;
$artist = $2;
}
elsif($flac_file =~ /^(.+):ALBUM=(.+)$/)
{
if($filename ne $1)
{
undef $artist;
print("ERROR: Failed Sanity Check. Dying...");
die;
}
elsif(defined $artist)
{
$album = $2;
$cover_filename = "/home/fred/.cache/rhythmbox/covers/$artist - $album.jpg";
print("Fetching $cover_filename...\n");
system("metaflac --import-picture-from=\"$cover_filename\" \"$filename\"");
if($? == -1)
{
print("Failed to add $cover_filename to $artist - $album\n");
}
else
{
print("Successfully added $cover_filename to $filename\n");
}
}
undef $artist;
}
else
{
print("ERROR: Bad line. Dying...\n");
die;
}
}