Alright, so the answer is yes, I finally found out tonight. However, it involves editing your Catalog manually, I'll show how below. The other solution is to use Jeffrey's plugin. Read on.
I had forgotten about that problem until today. I was using Jeffrey Friedl's "Export to Flickr" plugin in Lightroom 3, then reverted back to Lightroom's default Flickr Publishing Service somewhere in the summer of 2010 it seems. A goddamn mistake, to say the least, as I'm realizing almost 2 years later that all my JPEGs have been aggressively recompressed on the fly before being uploaded to Flickr from LR (using 60% compression ratio, ugh). I guess there was a good reason I had been using Jeffrey's plugin, after all.
Why LR is always recompressing is mind boggling, considering the Publishing Service API does support setting File Settings -> Image Format
to Original
as opposed to JPEG
. However, as you probably noticed, the Image Format
menu is disabled in the default Flickr Publishing Service, I have no clue why. That option is available in Jeffrey's plugin, and sure enough, once you set it to Original
you will notice LR will not create a recompressed copy of your JPEG anymore, it will just upload the original. So that's your SAFE solution, and it's pretty much free.
Now if you want to keep using LR's default Flickr publishing service, here is how. It involves editing your Catalog file, finding the Flickr service settings, and adding the missing Image Format = Original
option back. Easy enough actually but do it at your own risk.
- First thing first, locate your catalog file (
Lightroom 4 Catalog.lrcat
on Windows) and do make a backup copy before editing anything.
- Make sure Lightroom is closed. Your catalog is a SQLite database, open it with any SQLite editor, I used SQLiteSpy, which is free. Go to
File -> Open Database
, switch the File Type
to Any File (*.*)
and select your catalog file. You will notice a long list of tables (about 67 in my catalog). Double-click on a table name to display its contents in the right panel.
The AgLibraryPublishedCollection
table contains the list of publishing services. There is a column name
where you should be able to spot the name of your default Flickr service. There is also a column genealogy
, write down that value for your Flickr service. Mine was, for example:
name: Flickr (sebastien.b)
genealogy: /71357400
Now look at the AgLibraryPublishedCollectionContent
table and find the rows which collection
column value ends with the genealogy
value above. I had 3 such rows. Each row has a content
column. One of the row contains all your default Flickr publishing service settings in one big serialized string. For example:
id_local: 1357404
collection: 1357400
content: s = {
["com.adobe.lightroom.export.flickr_addToPhotoset"] = false,
["com.adobe.lightroom.export.flickr_fullname"] = "Sébastien B.",
exportServiceProviderTitle = "Flickr",
export_videoFileHandling = "include",
extensionCase = "lowercase",
jpeg_limitSize = 100,
jpeg_quality = 0.6,
jpeg_useLimitSize = false,
}
I only displayed a few settings above, the list is much longer. Note the JPEG settings above (0.6 = 60%), this should look familiar. Now if you were to peek at the settings for Jeffrey's publishing service on the other hand, you would have found this extra key in content
:
id_local: 2219231
collection: 2219228
content: s = {
extensionCase = "lowercase",
format = "ORIGINAL",
}
- Again, I only displayed a few settings above. My point is,
format
is the missing key from the default Flickr publishing service. So go back to the row that had your default Flickr settings, and edit the content
cell (I think you need to double-click on the cell, see screenshot). Add format = "ORIGINAL",
to the list of settings, don't forget the comma. You can put it at the end, or after the extensionCase
setting, it doesn't matter. Close the cell, close SQLiteSpy.
- Launch Lightroom. Go to your Flickr publishing service. You will not see any difference, the
Image Format
menu will still be disabled, and the JPEG
option will still appear to be selected. However, it works, your original file will be used. Publish a photo, then go to Flickr, download the original size, and it should match the size on disk (minus a few bytes depending on the metadata you are exporting). If you want to be sure, set the Quality
setting to 5; if your original is not used, it will be so aggressively compressed you should notice immediately. However, you need to change that setting before that hack, which leads me to...
- Do not edit your Flickr service settings anymore! That's the only issue with that solution, as soon as you edit your settings from Lightroom, it will overwrite the
content
key we just edited and remove the format
setting we added. If you need to make a change, then just re-add format
using SQLiteSpy.
There you go.