celogeek / go-comic-converter

Convert CBZ/CBR/Dir into Epub for e-reader devices (Kindle Devices, ...)
MIT License
76 stars 10 forks source link

Option to disable image processing #41

Open KaMyKaSii opened 1 month ago

KaMyKaSii commented 1 month ago

It is useful for those like me who do image processing with external tools like Image Magick and want to use your excellent tool just to package the final ebook file.

celogeek commented 1 month ago

hey,

I have 2 options:

-noresize
-nofilter

This will disable every processing.

I need to recheck if I keep the original untouch or not.

In any case, if you exceed the size of the SR profile (1200x1920), and you convert it to mobi or upload it to aws send to my kindle, then you will have a resize processing that apply to the image by amazon.

if you simply have image smaller that those profile, and you don't want to apply any filter, then the nofilter is the way to go.

If needed, I may add a "raw" mode, that will keep the original file. I think I read/decode/encode in the format you prefer (could be JPG 100% or less), so it's still applying compression.

will check that

KaMyKaSii commented 1 month ago

hey,

I have 2 options:

-noresize
-nofilter

This will disable every processing.

I need to recheck if I keep the original untouch or not.

In any case, if you exceed the size of the SR profile (1200x1920), and you convert it to mobi or upload it to aws send to my kindle, then you will have a resize processing that apply to the image by amazon.

if you simply have image smaller that those profile, and you don't want to apply any filter, then the nofilter is the way to go.

If needed, I may add a "raw" mode, that will keep the original file. I think I read/decode/encode in the format you prefer (could be JPG 100% or less), so it's still applying compression.

will check that

I tested both parameters, but options like format and quality are applied as you said. I would like a parameter to avoid all types of image processing, keeping the files intact. Could you add it? About the maximum resolution supported by Send To Kindle, I made some test images (only noise) in ImageMagick with different resolutions, one smaller in both dimensions, one with the maximum resolution, one larger only in width, one larger only in height and one larger in both dimensions. Converted it to epub with the command: go-comic-converter -titlepage 0 -input "/home/linux/teste-conversao-amazon/6ª" -limitmb 200 -strip -nofilter -noresize -format png -quality 100. In the azw3 file delivered by Amazon to my Paperwhite 4, I noticed that except for the image with the resolution smaller than the limit in both dimensions, all the images were resized (keeping the aspect ratio) to resolutions that fit on the 1072x1448 screen (but no image has a width of 1072 or a height of 1448), so I imagine that Amazon produces more than one conversion and the Kindle only downloads the version with the closest resolution to the native one. What do you think? files.zip

celogeek commented 1 month ago

The epub to mobi you can run locally doesn't take the device as a parameter. For me it means the maximum allowed resolution is the one from SR profile. May be if you use the website they will reduce more because of the target you choose ? What if you pick the cloud without any device, then download it from your device ?

celogeek commented 3 weeks ago

I've check how to get the original image directly into the final epub. the way the system works right now, doesn't allow that easily.

It's working like a pipeline:

so it can read a lot of different sources, and and then encode it to the one we choose in the quality associated for the jpg. png is lossless format, so the quality doesn't apply.

I need to reorg the projet into more functional peace that can be used independently.

For most of the format I can extract the raw bytes directly, and then decode later if needed. The issue is the PDF module, it allow only to get the decoded version of the image, not the raw one.

I may create a dedicated streamer for raw format.

Well, I need a reorg so it may take sometimes.