Feature Request: Enhance stream mode

Discussion of advanced MakeMKV functionality, expert mode, conversion profiles
Post Reply
Message
Author
count0
Posts: 1
Joined: Thu Jan 10, 2013 3:44 pm

Feature Request: Enhance stream mode

#1 Post by count0 » Thu Jan 10, 2013 4:45 pm

Stream mode is quite useful to allow playback on an HTPC system, i.e. via the corresponding XBMC plugin.

http://forum.xbmc.org/showthread.php?tid=67420

Usability for standard playback cases could be improved in a number of ways:
  • Long wait on seek operations
  • [about 30 seconds] Any kind of seek operation takes a constant, long amount of time - typically even longer than setting up playback in the first place (see below). There is one - for me - very common use case which could be vastly improved by proper use of caching: I like to skip back a couple of seconds (2-7 seconds) after having paused, to get my brain to pick up the movie again (and also since I most likely "dropped" some dialogue between the interruption that caused me to pause and the moment I actually pressed pause). Currently, this hurts a lot - it takes MakeMKV about 30 seconds to find the new position. A simple heuristic to improve this one use case would be: Given a large enough memory buffer, try to keep about 15 seconds of already-elapsed playback (or a configurable percentage of the buffer or whatever) in this buffer, so that seeking to a position close to the current playback position could be satisfied from the buffer and the linear read filling the buffer would not need to react at all.
  • Long initializiation time
  • [about 45 seconds for a typical disc, significantly longer for BD+] This corresponds to 'makemkvcon info'; it should be possible to cache the recognized titles per disc, so that the long wait would occur only once.
  • Long playback startup time
  • [about 20 seconds for a typical disc] The drive is seeking around a lot before the stream is ready for playback. Again, perhaps more data could be cached, or the disc access pattern could be improved - other players appear to collect the required data for playback start in more or less one sweep over the disc. Perhaps even the operating system cache could be used instead of direct I/O?
I'd be happy to actually implement these improvements, but as I see it the relevant part of MakeMKV is closed-source.

The buffering issue could probably be worked around by buffering in the player or via a "buffering UPnP streaming proxy" component, but it's probably easier to extend the existing buffering code in makemkv to achieve the same result.

Post Reply