View Single Post
Old 07-06-2013, 04:53 PM   #5
DiapDealer
Grand Sorcerer
DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.
 
DiapDealer's Avatar
 
Posts: 28,657
Karma: 205039118
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Quote:
Originally Posted by Notjohn View Post
As noted, Kindleunpack shows me only two folders, Mobi 7 and Mobi 8, and the latter includes only a file with the extension *.pub.

Yes, I uploaded an epub in the first instance.

So either Amazon is delivering the Mobi 7 file to all e-readers and apps (I don't use any KF8-specific bells & whistles) or it is delivering my epub to the KF8 crowd. I suspect it's the latter, since the epub is roughly the same size as the download shown on the book detail page on the Amazon store.

I look forward to reading the Wiki; thank you.
Amazon is delivering Mobi to devices/apps that don't support KF8. They're delivering KF8s to the devices/apps that do. No one is getting an "ePub" delivered to them from Amazon. KF8 has a lot of similarities to ePub, but make no mistake: it's NOT ePub. There is no ePub hiding "inside" a file that gets delivered to an Amazon customer. KF8 is still records inside a binary database, just like Mobi. Amazon also never delivers the original source (be it html or ePub) to customers. They deliver old Mobi OR KF8 depending on the capability of the device/app.

As far as KindleUnpack goes: it tries to reverse-engineer the kindlebook in order to recreate (as close as possible) the original source used to create the Kindlebook. As such, it's chosen to recreate that code into the form of an ePub when it's dealing with a KF8 book. It could have just as easily been created from html files, but there's no real way of telling that from the KF8 file. KindleUnpack tries its best, but it's altogether possible for it to create an invalid ePub -- simply because of all the different sources kindlegen will/can build a kindlebook from. Most of the time, it works well (especially if the kindlebook WAS created from an ePub), though.

Now: starting with a kindlebook that's been delivered to an end-user (customer), you get a MOBI, or a KF8. Never both, and never the original source.

So using that retail-delivered kindlebook: if KindleUnpack produces a mobi7 folder AND a mobi8 folder ... then you had a KF8 (and ONLY a KF8) to start with. The ePub that KindleUnpack attempts to reverse-engineer the KF8 book into, is built from the contents of the OEBPS folder (which was extracted/extrapolated from the binary database) inside the mobi8 folder. The mobi7 folder contains only images (if there were any) and can be considered vestigial in this instance.

If KindleUnpack produces ONLY a mobi7 folder from that same retail-delivered kindlebook, well then clearly it was a regular old run-of-the-mill mobi. The extracted markup, images and opf/ncx will be in that mobi7 folder.

Where it gets complicated is when KindleUnpack is dealing with the raw, hybrid MOBI/KF8 output that Kindlegen/KindlePreviewer produces ... the file that authors and publishers submit to Amazon (which is the same file that the KDP conversion process produces if you upload ePubs) ... a file that the end-user never sees. KindleUnpack will extract both the MOBI and the KF8 code into their respective folders. It will also cleave off the original source that was included as part of that hybrid MOBI/KF8 file. That original source will manifest as a zip archive.

Last edited by DiapDealer; 07-07-2013 at 08:02 AM. Reason: typo
DiapDealer is offline   Reply With Quote