Linux HOW-TO playback Blu-ray Disc in XBMC for Linux with MakeMKV (Plugin Addon)

  Thread Rating:
  • 10 Votes - 4.3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
rodercot Offline
Member+
Posts: 795
Joined: Feb 2008
Reputation: 25
Location: Ottawa, Canada
Post: #41
So I spent about 6 hours between last night and this morning and fixed a bunch of things.

downgrade to nvidia glx 185 drivers for enabling of LPCM hdmi passthrough. Note had to force nvidia-185-libvdpau to install via dpkg as it again conflicted with the installed libvdpau.so file.

I updated to Alsa 1.0.22.1 for MC LPCM playback as well as DDTRUHD and DTS-HD (stripped to core right now)

Then I downgraded to SVN 27017 from the 27292 as I was getting crashing issues when trying to play SD DTS encoded files.

This I grabbed the latest asound.conf from the svn trunk and placed it in
/usr/share/xbmc/system after backing up the current file in the directory.

Then I created a new custom xorg.conf file for my Denon rcvr for 24/60p switching.

Now I can play most all of my blu rays with the lite-on 4x reader. I am on Karmic (myth 9.10 FE) with a zotac itx-F-E oc'd to 2.1Ghz and 4Gb of OCZ.

The only discs I am having issues with are Big Trouble in Little China, the script counts to 100 and then exits, it does not crash if I run makemkv it will read the disc and allow me to stream it but it does take some time, I have to time it to see if it is more than two minutes.

The other disc is Risky Business (digital copy) actually if I pop this disc in XBMC gui goes completely haywire with red,green and blue squares all over the screen, makemkv cannot even read that disc which I think is to do with the digital copy but I will post over there and see what they have to say.

Where in the script can we modify to make it wait a little longer for the stream to become available.

Thanks for this it is awesome,

Dave
find quote
magnetism Offline
Senior Member
Posts: 135
Joined: Dec 2008
Reputation: 0
Post: #42
rodercot Wrote:Where in the script can we modify to make it wait a little longer for the stream to become available.
Nothing in the settings yet, I'll incorporate it in the settings in the next version.
find quote
hippojay Offline
Fan
Posts: 301
Joined: Mar 2008
Reputation: 13
Location: Sheffield, UK
Post: #43
Hi,

Nice work, but I'd been having problems getting this to work with ripped BD file structures. It looks like the problem is file name and spaces. I've fixed it by popping a couple of double quotes around the filename:

mkvStart = '"%s" stream file:\"%s\"' %(self.settings.mkvLocation, choice[:-15])

This works a treat now (on filesname with and without spaces).

There is also another problem in that sometimes makemkvcon is using the next available port (51001) rather than 51000. This might account for any "hangs" awaiting a stream. Some sort of port detection might help (perhaps utilising the PID of the makemkvcon process - sorry I can't help with any actual code, but I've never looked a python before - so i'd be doing all this through shell commands..)..

EDIT: something like this, but it's real hacky:
PPID = subprocess.Popen('makemkvcon stream file:\"/home/xbmc/data/BluRay/\"', shell=True)
PID = subprocess.Popen('ps --ppid %s' %(PPID.pid) + ' | grep makemkvcon | awk \'{print $1}\'' ,shell=True )
PORT = subprocess.Popen('netstat -alpt | grep %s ' %(PID) + ' | awk \'{print $4}\' | cut -f2 -d:' ,shell=True)
print PORT

as you can see, this is my first python script Smile
(This post was last modified: 2010-01-31 01:58 by hippojay.)
find quote
rodercot Offline
Member+
Posts: 795
Joined: Feb 2008
Reputation: 25
Location: Ottawa, Canada
Post: #44
OK! I fixed the Risky Business Blu Ray problem using the actual Blu Ray disc and not the digital copy disc - DOH! Yes I am an idiot - LOL.

They actually had the Blu Ray disc hidden under the paper inserts that slide under those clips in the sheave so when I picked it up and the paper fell out voila there be a second disc in them there hills.

Regards,

Dave
find quote
mross22 Offline
Junior Member
Posts: 27
Joined: Feb 2009
Reputation: 0
Question  [LINUX] Possible Blu-ray Disc playback from a external drive shared over the network? Post: #45
I recently installed the NVIDIA-ION optimized XBMC Live 9.11 Live version on my new Asrock ion XBMC live. This build has MakeMKV script for decoding bluray disks.

My Asrock does not contain a bluray drive (ASROCK 330 Pro), but I have a bluray drive on another computer in my office (win 7). I have 10/100 wired cables connecting everything, through a large central switch.

Can I play bluray content and stream to the asrock from the bluray drive on the office computer via the script?

Is it as simple as:
-Sharing the external drive on the bluray machine (windows warns me I should not do this)
-add that shared external bluray drive to XBMC
-inserting a bluray disk into the player
-running the script, and selecting the external bluray drive as the source?
-watching a movie?

thank you -

Michael
find quote
magnetism Offline
Senior Member
Posts: 135
Joined: Dec 2008
Reputation: 0
Post: #46
hippojay Wrote:Hi,

Nice work, but I'd been having problems getting this to work with ripped BD file structures. It looks like the problem is file name and spaces. I've fixed it by popping a couple of double quotes around the filename:

mkvStart = '"%s" stream file:\"%s\"' %(self.settings.mkvLocation, choice[:-15])

I did that initially as well but ran into issues on my linux machine with that. Will need to investigate before I'll make the change.

Quote:There is also another problem in that sometimes makemkvcon is using the next available port (51001) rather than 51000. This might account for any "hangs" awaiting a stream. Some sort of port detection might help (perhaps utilising the PID of the makemkvcon process - sorry I can't help with any actual code, but I've never looked a python before - so i'd be doing all this through shell commands..)..

EDIT: something like this, but it's real hacky:
PPID = subprocess.Popen('makemkvcon stream file:\"/home/xbmc/data/BluRay/\"', shell=True)
PID = subprocess.Popen('ps --ppid %s' %(PPID.pid) + ' | grep makemkvcon | awk \'{print $1}\'' ,shell=True )
PORT = subprocess.Popen('netstat -alpt | grep %s ' %(PID) + ' | awk \'{print $4}\' | cut -f2 -d:' ,shell=True)
print PORT

as you can see, this is my first python script Smile

I'd like to have a more reliable method for local port detection for sure, but somehow this doesn's seem like 'it' to me at the moment (Also, it's not very crossplatform...). Also, the script should be terminating any running makemkvcon before starting another, so what process is still using that port in your case?
find quote
pinthenet Offline
Member
Posts: 55
Joined: Aug 2009
Reputation: 0
Post: #47
I'm trying to get this working on an Asrock ION 330 BD with Ubuntu and XBMC9.11 but I can only run makemkvcon as root and not as the xbmc user. Does aynone have any tips?

Also, the makemkv GUI doesn't work as xbmc-user or root (segfault & Fatal error popup) and makemkvcon does a segfault as xbmc-user.

I'll try adding a sudo to the script tomorrow, but I'd like to get the GUI working as well.

I've got the latest 1.4.12 makemkv installed

Thanks in advance

John
find quote
Phantasm4489 Offline
Junior Member
Posts: 24
Joined: Sep 2004
Reputation: 1
Post: #48
pinthenet Wrote:I'm trying to get this working on an Asrock ION 330 BD with Ubuntu and XBMC9.11 but I can only run makemkvcon as root and not as the xbmc user. Does aynone have any tips?

Also, the makemkv GUI doesn't work as xbmc-user or root (segfault & Fatal error popup) and makemkvcon does a segfault as xbmc-user.

I'll try adding a sudo to the script tomorrow, but I'd like to get the GUI working as well.

I've got the latest 1.4.12 makemkv installed

Thanks in advance

John

This may or may not be related to a similar problem I was having.

Both GUI and console versions were giving segfault for me.

I had to downgrade to 1.4.11 and now both work fine.
find quote
pinthenet Offline
Member
Posts: 55
Joined: Aug 2009
Reputation: 0
Post: #49
I'll give it a try. I had other issues with 1.4.11 but I think they were caused by a slightly loose contact on the drive as there were also problems with DVDs crashing or not being read
1.4.11 GUI did work though
Thanks
John
find quote
pinthenet Offline
Member
Posts: 55
Joined: Aug 2009
Reputation: 0
Post: #50
Ah, just remembered - the reason I upgraded from 1.4.11 is that it wouldn't start anymore - 'Beta version too old'.
find quote
Post Reply