Open L2501 opened 1 year ago
After optimization, QuickTime chapters are interleaved with the data stream. So when reading the chapters, the application has to seek to the chunk position of each chapter entry. That's normal and expected with the current implementation.
However, it does not necessarily have to be this way. The chapters could also be stored all in a separate mdat atom at the beginning or end of the file (which would make it easier to read the chapters).
I'm not sure why it was implemented with interleaved chapters here. Need to check how original QuickTime does it. If QuickTime also interleaves, it's probably better to keep the current implementation and continue doing the same. If it doesn't interleave, then we shouldn't either.
on a file created with ffmpeg +faststart: no stream level seek
after: mp4chaps -Q -z -c file.m4b mpv -v file.m4b