readium / readium-js-viewer

👁 ReadiumJS viewer: default web app for Readium.js library
BSD 3-Clause "New" or "Revised" License
557 stars 186 forks source link

Embedded video not playing on apple devices #580

Open Jajjy opened 8 years ago

Jajjy commented 8 years ago

I found an issue in playing mp4 videos on apple devices. The player works fine with every other device or browser, but it looks like that the only way I can play those embedded videos is in uploading (and reading) an uncompressed version of the epub. So far I haven't find a solution to this problem, nor questions about it.

Any thought?

rkwright commented 8 years ago

Please see the questions posted in the forum. In general, there is no need to cross-post. I read all the traffic in both places. I'm going to close this issue for now.

rkwright commented 8 years ago

@Jajjy Got the EPUB. We'll take a look. Did you check the console for errors? Might be a cross-domain issue or similar.

This is a bug report

Occurs on Apple devices. Plays correctly in iBooks, but not in Readium Cloud Reader Lite. DOES play correctly in the Chrome Extension 2.25-alpha.

Test file is here

Jajjy commented 8 years ago

Thanks for the answer.

Yes. I tried as well on the windows version of safari, and it doesn't even load the epub, pulling an error about URLs, but no explicit "cross-domain issue". I cannot check the console in the apple devices since they-re not mine, and it would extremely hard to ask the owners to activate the function. On every other device it works fine. Also, the video is read properly from any device if put on a simple html page, if this may help.

danielweck commented 8 years ago

Playing audio/video resources from a zipped (packaged) EPUB file is not officially supported in Readium cloud / web reader, in the sense that exploding (extracting) content on the server is the strongly recommended content deployment / distribution method. Readium does implement audio/video playback from non-exploded EPUBs (either loaded via a remote URL, or via local file drag and drop), but this involves working around the way web browsers normally load resources (eager vs. lazy), which in turn introduces significant performance issues, unnecessary memory consumption, lack of media streaming, CPU overhead to prefetch and parse spine items and attached resources, etc. Does this make sense? Or am I missing something?

rkwright commented 8 years ago

Correct. The exact nature of @Jajjy's deployment isn't clear but it could be one of those factors. See the document here.