gotson / komga

Media server for comics/mangas/BDs/magazines/eBooks with API, OPDS and Kobo Sync support
https://komga.org
MIT License
4.02k stars 237 forks source link

Support for Multiple File Types for Same Item #497

Closed preeefix closed 10 months ago

preeefix commented 3 years ago

Is your feature request related to a problem? Please describe.

I have different file types that are optimized for different devices, notably:

The biggest difference is that the EPUBs are grayscale, and resized to be friendly with my Kobo and not take up too much space.

Describe the solution you'd like

I'd like to see where a file name matches, exactly less the file type, Komga would merge their metadata into one item, and when selecting which one to render either present the version best suited for the platform, or a modal to select the file format requested.

Describe alternatives you've considered or other apps that can do what you want

Currently, I split the file types into two separate Libraries, and focus on keeping my CBZ library accurate with metadata and read status.

gotson commented 3 years ago

I am not fond of the approach. IMO it would be better to perform on-the-fly conversion depending on device capabilities. It would be better in terms of storage space. Another solution would be to do what Plex does, which is preparing some converted format of some items for offline sync. I would say on-the-fly should work fine in most of the cases though.

Out of curiosity, which process or app did you use to perform the conversion to grayscale EPUB for the Kobo?

preeefix commented 3 years ago

I am not fond of the approach. IMO it would be better to perform on-the-fly conversion depending on device capabilities. It would be better in terms of storage space. Another solution would be to do what Plex does, which is preparing some converted format of some items for offline sync. I would say on-the-fly should work fine in most of the cases though.

Plex, actually supports both. Where, so long as the names are close enough, they will show an option to select which version to stream.

Out of curiosity, which process or app did you use to perform the conversion to grayscale EPUB for the Kobo?

Kindle Comic Converter has a preset for my Aura that resizes to the screen size, and grayscales provided media.

Personally, I would be fine with the automatic/on-demand conversion of files, given theres some level of control/presets that can be implemented to actually optimize for the device.

MKH-42 commented 3 years ago

That would be fantastic :-) Like calibre do it. This is also a wish from my site :-)

Telkhine commented 3 years ago

A feature like this is something I'd be very interested in. The comics you get on humble bundle often come in CBZ + a high quality PDF. Given pdfs can't store a ComicInfo.xml, I store both files like so:

-rwxr--r-- 1 1000 1000 18M Apr 30 18:53 'Taarna the Last Taarakian #001 (2020-12) (Digital).cbz'
-rwxr--r-- 1 1000 1000 28M Apr 29 14:39 'Taarna the Last Taarakian #001 (2020-12) (Digital).pdf'
-rwxr--r-- 1 1000 1000 18M Apr 30 18:53 'Taarna the Last Taarakian #002 (2021-01) (Digital).cbz'
-rwxr--r-- 1 1000 1000 29M Apr 29 14:39 'Taarna the Last Taarakian #002 (2021-01) (Digital).pdf'
-rwxr--r-- 1 1000 1000 20M Apr 30 18:53 'Taarna the Last Taarakian #003 (2021-02) (Digital).cbz'
-rwxr--r-- 1 1000 1000 33M Apr 29 14:42 'Taarna the Last Taarakian #003 (2021-02) (Digital).pdf'

It'd be nice if komga saw the pdf and cbz as the same issue.

EDIT: Another instance where this might be useful is if I have both a digital and scanned version of the same comic. I have a couple where the scanned versions have extra info pages and behind the scenes notes that the digital version doesn't include. So I keep a copy of both.

EDIT2: Plex was mentioned earlier. Here is how Plex, Emby and Jellyfin handle multiple versions of the same video: https://support.plex.tv/articles/200381043-multi-version-movies/ https://support.emby.media/support/solutions/articles/44001159102-movie-naming https://jellyfin.org/docs/general/server/media/movies.html#multiple-versions-of-a-movie

In short, they just require a - <description>.<ext> to the end of the file name.

MKH-42 commented 3 years ago

See also Request #371. So it is not the first time this feature was wished :-)

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Telkhine commented 3 years ago

I'm still very interested in this feature.

Telkhine commented 2 years ago

So humblebundle just had another comic sale that I bought, which got me thinking about this issue again.

In a humblebundle sale, one of the few places you can legally get DRM free comics, you get the files in multiple formats. Here is a screenshot: Screenshot (254)

So in short, it would be super duper awesome if there was a way to merge comic issues into one item like the OP stated. I'd like to keep at least the cbz and pdf versions.

The OP asked for a feature where comics named like these would be treated as the same, the only difference being the extension:

Comic #001 (2010).cbz
Comic #001 (2010).pdf
Comic #001 (2010).epub

In addition to this, I'd also like to see where something like this would be treated as the same issue:

Comic #001 (2010) (digital).cbz
Comic #001 (2010) (scan).cbz

An example of another program doing this is in my emby setup. It creates a dropdown menu for a movie when there are multiple versions to select from: Screenshot (256)

Those movie files are named like this on my drive:

Batman - Mask of the Phantasm (1993) - [1080p Open Matte Blu-ray].mp4
Batman - Mask of the Phantasm (1993) - [1080p Theatrical Edition Blu-ray].mp4

Everything after the last hyphen is treated as movie version info. In the dropdown from the screenshot, it displays the difference in that extra info as the options in the dropdown:

Open Matte Blu-ray
Theatrical Edition Blu-ray

In the comic universe, I've never seen anything labeled like Comic #001 (2010) - [digital].cbz, but using that format as a differentiator could also be an option.

Also, in the movie example, this type of formatting without brackets would also work:

Batman - Mask of the Phantasm (1993) - 1080p Open Matte Bluray.mp4
Batman - Mask of the Phantasm (1993) - 1080p Theatrical Edition Bluray.mp4

The brackets are only needed in the first example because of the hyphen in Blu-ray.

IMO it would be better to perform on-the-fly conversion depending on device capabilities.

This type of feature would be nice, but it would not work for issues with variations. Like the difference between a scanned issue and a digital issue, which might have difference pages. Or where there is a color version and a greyscale version. I'm sure there are more examples where that wouldn't work well.

Hope this helps to consolidate the discussion.

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

MKH-42 commented 2 years ago

push

Telkhine commented 2 years ago

Not stale. This is the feature I want the most out of this program.

gotson commented 2 years ago

Looks like the stale bot didn't work well…

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

MKH-42 commented 2 years ago

push

Telkhine commented 2 years ago

I see this is still marked stale. I want this feature above and beyond anything else. It would really be nice for my workflow.

kingvall commented 1 year ago

I think this feature can be good for multiple version/edition of a file (like color version/Black and white version)