[Feature Request] Improve user experience with blu-ray iso's
#1
When you select a movie that is stored as a BluRay iso file, you get a menu/window (Select playback item) to choose the stream or see the BR-menu.

I propose to move this menu to the OSD (OSD gets extra icon that calls this menu).

Most of the time I just want to see the main movie, sometimes I would like to see the trailer that is stored in the iso file.

Make 2 extra items in the .nfo file/XBMC database named BluRayIsoPlayDefaultMovie and BluRayIsoPlayTrailer. These fields would contain the stream for the main movie or the trailer.

If you select the movie in the skin, it would start playing the movie without any delay.
If you select the trailer it would play the trailer or the external trailer if there is one (external trailer would get priority).
If BluRayIsoPlayDefaultMovie is empty in the DB, and there is only 1 stream that the present window (Select playback item) would show, then just play this stream. It is the correct moviestream.


It would also be usefull for the following situations:
**** Some discs have many streams to choose from (scenes in other order, as copyprotection; documentary 'making of ...' is as long as the movie and shows up in the menu; ...). Search once for the correct stream and you won't need to write it down anymore (or try to explain to the kids/wife...).
**** 2 movies on 1 disc (nightmare on elm street box, cinderella 2 & 3, cheap compilations of 'true stories' that the wife likes...; more and more are comming out nowadays), you put 1 .iso file on the NAS, 1 directory with name MovieA; 1 dir with name MovieB, and a symlink to the iso. You get 2 entries in your movieDB and with the appropriate BluRayIsoPlayDefaultMovie it would be as if both are on a seperate disc.
**** BR's that contain both theatrical and directors cut versions. Use the 2 movies on 1 disc methode (sym-/soft-/link) to get 2 entries in the XBMC DB. That way you could choose from your moviewall the version of your likeing without the need of any menu.
**** You could very easely make a playlist with all shorts (eg all short movies from Pixar/Ice Age/other animations). Just make a playlist (using the 2 movies on 1 disc system) and use as BluRayIsoPlayDefaultMovie the number of that short.


An extension would enable seamless playback of multi BR movies (LOTR extended version comes into my mind). Define a BluRayIsoSecondPart (and hope they never release movies that are spread over 3 BD's) which would contain "filename streamnumber" (eg "LOTR-part2.Bluray.iso 1").



The same method (with minor adaptions) could be applied to tv-series on BR iso's. Define 1 or more BluRayIsoEpisode in the .nfo file/XBMC DB. This would contain 'episode streamnumber TimeOffset' (eg: "s01e03 206 01:28:53") so stream number 206 would be played from file "tvshow.s01e01.s01e02.s01e03.BluRay.iso" starting from timeoffset 01:28:53 (eg Supernatural uses 1 long continues file for all the episodes). In this way, XBMC can build a list of which streams/episodes are in which iso file.



Would improve WAF factor greatly, imho...
Add-on : Bluray iso utils Rewrite of BR_iso_enhancements
Add-on : BR_iso_Enhancements Give theatrical & directors cut from the same bluray iso each their own library entry, use bluray iso's of tv shows as if they are already ripped.
Reply
#2
You don't like (bd) menus, right? Why don't you use makemkv or the like?
Reply
#3
(2014-02-01, 08:41)ace20022 Wrote: You don't like (bd) menus, right? Why don't you use makemkv or the like?

I do like BD menus (BTW: I think you wrote the code for this XBMC BR window (If I'm wrong then I apologise to the originel writer). This menu, together with .iso support made it so that XBMC could handle a BR.iso in a user friendly way. Thank you very much for this.).

I am not saying the current way is bad, I just see some possibility to further improve it.
Most of the time I only want to see the movie. The menu is then a distraction.

Please also consider the other uses for this feature request. I think they are just as important!


The reason I use iso is that:
- I sometimes would like to see the extras, you loose these with MKV's. Sure, you could also rip them, but it would clutter the directory.
- just 1 file (I like to keep it neat)
- I have a very huge collection, converting them would take ages
- backwards compalible. Some BR are not correctly played with XBMC, I use an external player for that (would otherwise need to re-encode instead of just rip).
Add-on : Bluray iso utils Rewrite of BR_iso_enhancements
Add-on : BR_iso_Enhancements Give theatrical & directors cut from the same bluray iso each their own library entry, use bluray iso's of tv shows as if they are already ripped.
Reply
#4
I have started with writing a python plugin to improve user experience with blu-ray iso's.

I wrote some 'proof of concept' mini progs to see how things should be done.

This will put the name of the blu-ray stream in the xbmc log file.
example: "bluray://udf%3a%2f%2fL%253a%255cPython%255cTest_video_files%255cPeter%2520%2526%2520the%2520Wolf%2520(2006).BR.iso%2f/BDMV/PLAYLIST/00000.mpls"
Code:
import xbmc

class MyPlayer(xbmc.Player):
    def __init__( self):
        xbmc.Player.__init__(self)

    def onPlayBackStarted(self):
        file = self.getPlayingFile()
        self.stop() #to stop the playback
        xbmc.log("test_python: "+file)

player = MyPlayer()

while(not xbmc.abortRequested):
    xbmc.sleep(100)

With this I can play this BR on Kodi startup:
Code:
import xbmc

videofile = "bluray://udf%3a%2f%2fL%253a%255cPython%255cTest_video_files%255cPeter%2520%2526%2520the%2520Wolf%2520(2006).BR.iso%2f/BDMV/PLAYLIST/00000.mpls"

class XBMCPlayer(xbmc.Player):
    def __init__( self):
        xbmc.Player.__init__(self)

player = XBMCPlayer()
xbmc.log("test_python: Attempting to play media")
player.play(videofile)

while(not xbmc.abortRequested):
    xbmc.sleep(100)

Next on the list would be how to intercept the 'select playback item' window. Here I hit a snag. It doesn't seem to be possible. onPlayBackStarted is only called AFTER the 'select playback item' window is shown.

Does someone have a solution for this?

Thanks!
Add-on : Bluray iso utils Rewrite of BR_iso_enhancements
Add-on : BR_iso_Enhancements Give theatrical & directors cut from the same bluray iso each their own library entry, use bluray iso's of tv shows as if they are already ripped.
Reply
#5
This https://github.com/xbmc/xbmc/pull/5228 may partially do what you want when it's merged.
Reply
#6
(2014-08-26, 22:24)jjd-uk Wrote: This https://github.com/xbmc/xbmc/pull/5228 may partially do what you want when it's merged.

Big GrinBig Grin Great!!



My C skills are a bit rusty...

I assume this would play the video without menu if there is only one stream in the 'select playback item'.

The other use cases are also interesting:
- theatrical & uncut version on 1 disc
- 2 or more movies on 1 disc
- discs with 'a thousand playlists' as copy protection
- integrate blu-ray iso's for TV series
- multi disc movies

I would like to make a plugin for the other use-cases, but I need a way to intercept the 'play movie'. onPlayBackStarted does not cut it.

Is the 'select playback item' window part of the player? if yes, could a "onStartBluRayVideo" event be exposed? It would be called just before the 'select playback item' window would be shown.

Better yet, could a "onUserWantsToStartVideo" event be exposed? This would be called as soon as possible when the user presses play. Is more universal and would have other use-cases (this would be onPlayBackStarted before the 'select playback item' window was added).

Thanks!
Add-on : Bluray iso utils Rewrite of BR_iso_enhancements
Add-on : BR_iso_Enhancements Give theatrical & directors cut from the same bluray iso each their own library entry, use bluray iso's of tv shows as if they are already ripped.
Reply
#7
I like this idea. Good to see some movement is being made towards making it real.
Reply
#8
This looks great. At the moment playing BR iso on kodi is causing my familiy the following usability issues:
* not being technical they dont understand what the pop up is asking.
* Resume doesnt work: stopping a BD iso in the middle and restarting the next day always restarts the film from the begining and the annoying pop up.
* Seemless continuation of a film split over 2 iso's doesnt work (you get the popup). Lord of the Rings BD Extended Edition is an example of this.

Thanks for trying to improve ths!
Reply
#9
(2014-08-26, 23:06)Wimpie Wrote: The other use cases are also interesting:
- theatrical & uncut version on 1 disc
- 2 or more movies on 1 disc
- discs with 'a thousand playlists' as copy protection
- integrate blu-ray iso's for TV series
- multi disc movies

If you find a way on how to extract the required infos from a bluray to f.e. know if the disc has a theatrical and uncut version, or that it's supposed to hold a TV show, then we're all ears Smile
Reply
#10
(2014-08-27, 09:38)da-anda Wrote:
(2014-08-26, 23:06)Wimpie Wrote: The other use cases are also interesting:
- theatrical & uncut version on 1 disc
- 2 or more movies on 1 disc
- discs with 'a thousand playlists' as copy protection
- integrate blu-ray iso's for TV series
- multi disc movies

If you find a way on how to extract the required infos from a bluray to f.e. know if the disc has a theatrical and uncut version, or that it's supposed to hold a TV show, then we're all ears Smile

This will be a manual operation of course. but you only would have to do it once. I had 2 idea's:

1) Disc is played for the first time, would play normally with the 'select playback window' and the user would select a stream and then, while the stream is playing, confirm that this is the 'wanted' stream. This setting would be stored in a db.

2) The iso file would have a filename tag, eg "Breaking Bad s04e06[00001].s04e07[00002].s04e08[00003].s04e09[00004].s04e10[00005].BluRay.iso" with the optionally starttime, eg: "Americans, The s01e05[00023-00_00_00].s01e06[00023-00_45_00].s01e07[00023-01_30_00].s01e08[00023-02_15_00].s01e09[00023-03_00_00].BluRay.iso" (Don't ask me why, but "The americans" blu-ray release has 1 videofile/stream for all episodes.). So the info would be scraped from the filename and also put in a db.

I know, someone has to know how to do all this. But I think that in many cases 1 person can do this, while the children and housband/wife can't. You would stil get a better situation than now (it just doesn't work at all).

(2014-08-27, 07:27)sja1440 Wrote: This looks great. At the moment playing BR iso on kodi is causing my familiy the following usability issues:
* not being technical they dont understand what the pop up is asking.
* Resume doesnt work: stopping a BD iso in the middle and restarting the next day always restarts the film from the begining and the annoying pop up.
* Seemless continuation of a film split over 2 iso's doesnt work (you get the popup). Lord of the Rings BD Extended Edition is an example of this.

Thanks for trying to improve ths!

I wil also not be able to let resume work, but the popup would be gone...
Add-on : Bluray iso utils Rewrite of BR_iso_enhancements
Add-on : BR_iso_Enhancements Give theatrical & directors cut from the same bluray iso each their own library entry, use bluray iso's of tv shows as if they are already ripped.
Reply
#11
I thing the best method i sto expand an existing xbmc feature like disc stub. Right now the stub files ends in the db but there's no way to set a path. But there is a 2 year old pull request from waven never merged that will add the path stuff to the stub files:
https://github.com/xbmc/xbmc/pull/551
Wit that in place everyone could create stubs to the right mpls file to obtain what you want..
Reply
#12
I tried resolving the conflicts on that waven pull request to resubmit it as a PR, there was only a couple of files that failed, but overall I did it as an exercise to practice with git. If my c++ skills were in some degree existing I would feel more confident, but even if I had succeeded, actually passing the code to merge-able point is another conversation.
Reply
#13
I make a first version available of my addon. Get it here.

The 'select playback item' window is something that I could not get rid of, we will need to wait for Helix for that.

Let me know what you think about it.
Add-on : Bluray iso utils Rewrite of BR_iso_enhancements
Add-on : BR_iso_Enhancements Give theatrical & directors cut from the same bluray iso each their own library entry, use bluray iso's of tv shows as if they are already ripped.
Reply
#14
(2014-08-29, 22:16)uNiversal Wrote: I tried resolving the conflicts on that waven pull request to resubmit it as a PR, there was only a couple of files that failed, but overall I did it as an exercise to practice with git. If my c++ skills were in some degree existing I would feel more confident, but even if I had succeeded, actually passing the code to merge-able point is another conversation.

The only conflict is in the language since that labels were taken from other code. It seems to work applied to helix but is it worth to rebase? It's almost 3 years old and noone looked at since at least 1 year and a half..
Reply
#15
(2014-09-15, 16:20)phate89 Wrote:
(2014-08-29, 22:16)uNiversal Wrote: I tried resolving the conflicts on that waven pull request to resubmit it as a PR, there was only a couple of files that failed, but overall I did it as an exercise to practice with git. If my c++ skills were in some degree existing I would feel more confident, but even if I had succeeded, actually passing the code to merge-able point is another conversation.

The only conflict is in the language since that labels were taken from other code. It seems to work applied to helix but is it worth to rebase? It's almost 3 years old and noone looked at since at least 1 year and a half..
If you don't know how to write C++ don't even bother resending PRs where possible fixes need to be applied.
It was already proven that when you need to fix something it gets closed again and actually out way more effort for everyone
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply

Logout Mark Read Team Forum Stats Members Help
[Feature Request] Improve user experience with blu-ray iso's0