Kodi Community Forum
[WINDOWS] External Player Support Thread - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Windows (https://forum.kodi.tv/forumdisplay.php?fid=59)
+---- Thread: [WINDOWS] External Player Support Thread (/showthread.php?tid=43511)



- jondr13 - 2009-05-10

According to the instructions, your supposed to create an advancedsettings.xml file. I want to make it completely sure that Im placing it in the correct spot. Where do you put it if your running Vista 32bit...can someone give me the exact path?

Also, the instructions say if you want it to do something BEFORE the player launches, create a batch file. How to you create a batch file for the file to mount to Virtual Clone Drive? If someone can help me with that because I have no clue how to do that! My drive letter for VCD is L.
After its created, where do I put it??

Thanks a ton for any info someone can provide


- fuathurio - 2009-05-11

jondr13,

Here is what I've got in my advancedsettings.xml file, located in %user%\Application Data\XBMC\userdata folder

Code:
<advancedsettings>
<video>
  <defaultplayer>externalplayer</defaultplayer>
</video>
<externalplayer>
  <filename>C:\Program Files\Windows Media Player\wmplayer.exe</filename>
  <forceontop>true</forceontop>
  <hidexbmc>false</hidexbmc>
  <hideconsole>false</hideconsole>
  <hidecursor>false</hidecursor>
</externalplayer>
</advancedsettings>

ashlar,

1. 9.04 Babylon
2. WinXP SP3. (32bit)
4. 1GB
5. AT HD3400 - Driver 8.591.0.0
6. Intel Onboard (Realtek) - 5.10.0.5123
7. EventGhost (I was able to replicate the error when sending a "Enter" through a remote press via event ghost but not by hitting enter on the keyboard)
8. 9.04 Babylon
9. See above
10. http://pastebin.com/f6ee5a8f3
11. (one example)

General
Complete name : D:\med\video\Amazon Unbox\Breaking Bad\Breaking Bad - S02E009 - 4 Days Out.wmv
Format : Windows Media
File size : 913 MiB
Duration : 47mn 15s
Overall bit rate mode : Variable
Overall bit rate : 2 702 Kbps
Maximum Overall bit rate : 7 029 Kbps
Encoded date : UTC 2009-05-02 03:17:17.890
Encryption : http://www.amazon.com/gp/video/licensing.html?CID=xsiSn99NUk24jAuXi9zFDQ==
WM/ContentDistributor : Amazon.com
Amazon/ASIN : B0028KDV1K
Amazon/Type : Content

Video
ID : 2
Format : VC-1
Format profile : AP@L3
Codec ID : WVC1
Codec ID/Hint : Microsoft
Description of the codec : Windows Media Video 9 Advanced Profile
Duration : 47mn 12s
Bit rate mode : Variable
Bit rate : 2 500 Kbps
Width : 704 pixels
Height : 396 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.374
Stream size : 844 MiB (92%)
Encryption : Encrypted

Audio
ID : 1
Format : WMA3
Format profile : M3
Codec ID : 162
Codec ID/Info : Windows Media Audio 3
Description of the codec : Windows Media Audio 9.1 Professional - 192 kbps, 48 kHz, 2 channel 24 bit 2-pass VBR
Duration : 47mn 15s
Bit rate mode : Variable
Bit rate : 188 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Resolution : 24 bits
Stream size : 63.5 MiB (7%)
Encryption : Encrypted


- jondr13 - 2009-05-11

fuathurio Wrote:jondr13,

Here is what I've got in my advancedsettings.xml file, located in %user%\Application Data\XBMC\userdata folder

Code:
<advancedsettings>
<video>
  <defaultplayer>externalplayer</defaultplayer>
</video>
<externalplayer>
  <filename>C:\Program Files\Windows Media Player\wmplayer.exe</filename>
  <forceontop>true</forceontop>
  <hidexbmc>false</hidexbmc>
  <hideconsole>false</hideconsole>
  <hidecursor>false</hidecursor>
</externalplayer>
</advancedsettings>

THANKS....at least it let me start up TotalMedia Theatre 3 as my external player! But.....have 2 more questions now that I at least got that far..

I thought that by using this advancedsettings.xml that the external player would be set as the default player? I could only start it by going to the context menu and selecting "play using....external player". How do you get it to do WITHOUT going to the context menu??

And finally, as soon as it started TMT3, it crashed XBMC! How to I get that not to happen??

Thanks again and eagerly awaiting your reply....


Must be doing something wrong.. - plight - 2009-05-11

I have been trying to get External player to work launching my blue ray ISOs from PowerDVD. Powerdvd launches like a champ, but the movie never begins playing. Upon closer inspection Powerdvd says no disc is inserted.

Is there an extra configuration step I missed that tells it where to access the ISO from?


- ashlar - 2009-05-11

fuathurio Wrote:ashlar,

1. 9.04 Babylon
2. WinXP SP3. (32bit)
4. 1GB
5. AT HD3400 - Driver 8.591.0.0
6. Intel Onboard (Realtek) - 5.10.0.5123
7. EventGhost (I was able to replicate the error when sending a "Enter" through a remote press via event ghost but not by hitting enter on the keyboard)
8. 9.04 Babylon
9. See above
10. http://pastebin.com/f6ee5a8f3
11. (one example)
Good. This way developers will have info to try and help you (I'm not one of them, unfortunately). Smile


- jondr13 - 2009-05-11

plight Wrote:I have been trying to get External player to work launching my blue ray ISOs from PowerDVD. Powerdvd launches like a champ, but the movie never begins playing. Upon closer inspection Powerdvd says no disc is inserted.

Is there an extra configuration step I missed that tells it where to access the ISO from?

plight

This is exactly the problem Im having.....only difference is that Im using TotalMedia Theatre 3. The issue is, the ISO is not being mounted to a drive. In my case, I use Virtual Clone Drive. I have been asking repeatedly on how to get this to work and have yet to get a response. I read at the beginning of this thread to create a "batch file" for anything you want to do. But I certainly dont know the first thing about creating something like this and where to put it!

Bottomline - we need to have something that automounts the ISO file to Virtual Clone Drive, Deamon Tools, etc when the movie is selected.

On another note, is XBMC crashing once you get PowerDVD to come up? For some reason it is for me when TMT3 comes up.


- ashlar - 2009-05-11

While not familiar with this, yes: until the "per extension" stuff is implemented, you can decide to have external player used only for ISOs, by not activating it by default (accessing it through the context menu and then "play using").

This way you can select as external player a batch script that mounts the iso and then plays it through your selected software.


- fuathurio - 2009-05-11

jondr13, I'm afraid I can't help you with your problem, it sounds similar to the one I'm having, launching via context menu works just fine, launching by default causes a crash.

developers, nice work on this, much appreciated. If there is any information I can provide for you, please let me know.


- moby-uk - 2009-05-11

jondr13 Wrote:plight
This is exactly the problem Im having.....only difference is that Im using TotalMedia Theatre 3. The issue is, the ISO is not being mounted to a drive. In my case, I use Virtual Clone Drive. I have been asking repeatedly on how to get this to work and have yet to get a response. I read at the beginning of this thread to create a "batch file" for anything you want to do. But I certainly dont know the first thing about creating something like this and where to put it!

You can put the batch file anywhere you like, you should then invoke that as the ExternalPlayer instead of invoking TMT3 directly. In the batch file you'll need to do whatever the mount the ISO and then launch TMT3.

To be explicit, the ExternalPlayer functionality supports invoking a single executable, period. If your particular flavour of player needs some action to be taken prior to it being able to play some particular type of media, it's up to you to arrange for that to happen.

I know this sounds harsh but this functionality is in advancedsettings for a reason Smile, see my next point ...

jondr13 Wrote:Bottomline - we need to have something that automounts the ISO file to Virtual Clone Drive, Deamon Tools, etc when the movie is selected.

... that's the crux of the issue of wanting that type of functionality builtin; you want Virtual Clone Drive, someone else wants Daemon Tools, someone else will want something else ....

If someone is motivated to build in support for n different virtual DVD drive applications then cool, but I'm afraid I'm not. My take is that XBMC is first and foremost a media player, not a launcher; for me personally, this is strictly a workaround for the fact that until XBMC has some GPU-acceleration it can't handle HD on my little EEE Box, so I have to use MPC-HC+CoreAVC.

jondr13 Wrote:On another note, is XBMC crashing once you get PowerDVD to come up? For some reason it is for me when TMT3 comes up.

crashing? or do you mean it looks like it hanging? In order to not consume CPU-cyles XBMC locks its graphicscontext a short time after the externalplayer starts. If the externalplayer hasn't got itself together enough to open its window in that time then it'll appear behind XBMC and you'll think it's hung. You can try increasing this time from its default of, IIRC, 2000ms by adding

<startuptime>nnnn</startuptime>

inside your <externalplayer></externalplayer> element in advancedsettings, where nnnn is a number of milliseconds, e.g. <startuptime>5000</startuptime> is 5 seconds.

If you want to use the externalplayer as the default for DVDs/ISOs then you need to have:

<defaultdvdplayer>externalplayer</defaultdvdplayer>

inside the <video></video> element in your advancedsettings (


- jondr13 - 2009-05-11

moby-uk Wrote:You can put the batch file anywhere you like, you should then invoke that as the ExternalPlayer instead of invoking TMT3 directly. In the batch file you'll need to do whatever the mount the ISO and then launch TMT3.

To be explicit, the ExternalPlayer functionality supports invoking a single executable, period. If your particular flavour of player needs some action to be taken prior to it being able to play some particular type of media, it's up to you to arrange for that to happen.

I know this sounds harsh but this functionality is in advancedsettings for a reason Smile, see my next point ...



... that's the crux of the issue of wanting that type of functionality builtin; you want Virtual Clone Drive, someone else wants Daemon Tools, someone else will want something else ....

If someone is motivated to build in support for n different virtual DVD drive applications then cool, but I'm afraid I'm not. My take is that XBMC is first and foremost a media player, not a launcher; for me personally, this is strictly a workaround for the fact that until XBMC has some GPU-acceleration it can't handle HD on my little EEE Box, so I have to use MPC-HC+CoreAVC.



crashing? or do you mean it looks like it hanging? In order to not consume CPU-cyles XBMC locks its graphicscontext a short time after the externalplayer starts. If the externalplayer hasn't got itself together enough to open its window in that time then it'll appear behind XBMC and you'll think it's hung. You can try increasing this time from its default of, IIRC, 2000ms by adding

<startuptime>nnnn</startuptime>

inside your <externalplayer></externalplayer> element in advancedsettings, where nnnn is a number of milliseconds, e.g. <startuptime>5000</startuptime> is 5 seconds.

If you want to use the externalplayer as the default for DVDs/ISOs then you need to have:

<defaultdvdplayer>externalplayer</defaultdvdplayer>

inside the <video></video> element in your advancedsettings (

moby-uk

I certainly appreciate your time and info on this matter. I understand that there are numerous virtual drive programs out there and to make something that would work with each one might be unrealistic.

As far as the wrapper batch file, I dont have a clue how to do this. I think something like this might solve my problem. But again, if I dont know how to create it, Im at a standstill.

As far as the crashing issue... What is happening is once the external player is selected and coming up, I get a Windows message saying that XBMC is closing. I dont remember if it was a Windows error message or if it specifically said XBMC is closing. But the fact is, a messages comes up saying XBMC is being forced to close.

I will try your tips when I get home and see if that does the trick to at least fix that issue.

Thanks again. And if you can lead me to the correct path on this batch file thing I would appreciate it.


- fuathurio - 2009-05-11

moby-uk Wrote:crashing? or do you mean it looks like it hanging? In order to not consume CPU-cyles XBMC locks its graphicscontext a short time after the externalplayer starts. If the externalplayer hasn't got itself together enough to open its window in that time then it'll appear behind XBMC and you'll think it's hung. You can try increasing this time from its default of, IIRC, 2000ms by adding

<startuptime>nnnn</startuptime>

inside your <externalplayer></externalplayer> element in advancedsettings, where nnnn is a number of milliseconds, e.g. <startuptime>5000</startuptime> is 5 seconds.
(

Okay, this was super helpful for me, so I thought I'd follow up in case others have this problem. I'm not sure why it behaved differently when I launched WMPlayer through the context menu vs launching it by default but in either case when the WMPlayer comes up, I have EventGhost set up to wait 10 seconds and then maximize that window. When I set the startup time outside that 10 seconds to 15000, it now launches without hanging xbmc when I launch the default player.


- jondr13 - 2009-05-11

moby-uk, or anyone else who might know;

I wonder if this would work...

I know XBMC will play ISO files without the use of an external player right? Does the inner workings of XBMC mount the ISO file to a virtual XBMC drive to play that ISO?
Again, Im just brainstorming here, but in theory, if XBMC is mounting the ISO internally somewhere to a virtual drive, if you were to change that drive letter to the drive letter where Virtual Clone Drive (Deamon Tools, etc) is set to, it would then auto mount the ISO there instead....correct?

And if your external player default drive is set to that particular virtual drive with the player set to play automatically, then the external player should start without the need for any advancedsettings.xml or batch file to mount the ISO.

Again, Im just brainstorming here so if Im way off in left field, please tell me. If not, how would I go about changing the "XBMC virtual drive"?


- plight - 2009-05-11

I have been writing batch files for a while now but I am having a bit of a problem. I dont know how to pass the variable that XBMC uses for the ISO name to the batch file.

Quote:... that's the crux of the issue of wanting that type of functionality builtin; you want Virtual Clone Drive, someone else wants Daemon Tools, someone else will want something else ....

I dont think it is a matter of creating a different function for every image mounting program out there. All you would really need is a single function in the advancedsettings file to put the path of your mounting program along with any arguments. Then it could automatically mount and then launch the external player that is specified.

Im sure it is not as cut and dry as that as my greatest programming achievement is a pong game in which only one paddle moved.


- jondr13 - 2009-05-11

plight Wrote:I have been writing batch files for a while now but I am having a bit of a problem. I dont know how to pass the variable that XBMC uses for the ISO name to the batch file.



I dont think it is a matter of creating a different function for every image mounting program out there. All you would really need is a single function in the advancedsettings file to put the path of your mounting program along with any arguments. Then it could automatically mount and then launch the external player that is specified.

Im sure it is not as cut and dry as that as my greatest programming achievement is a pong game in which only one paddle moved.

I thought that as well. So, with the existing advancedsettings.xml for external player, what would the code be and where would it go? Couldnt you just put the drive letter for that virtual drive?


- moby-uk - 2009-05-11

jondr13 Wrote:I know XBMC will play ISO files without the use of an external player right? Does the inner workings of XBMC mount the ISO file to a virtual XBMC drive to play that ISO?
No.

plight Wrote:I have been writing batch files for a while now but I am having a bit of a problem. I dont know how to pass the variable that XBMC uses for the ISO name to the batch file.

You don't pass anything to the batch file, the batch files is your externalplayer, XBMC will pass the URL of the media you're playing to the batch file where it'll be %1 if you have no other args defined.

plight Wrote:I dont think it is a matter of creating a different function for every image mounting program out there. All you would really need is a single function in the advancedsettings file to put the path of your mounting program along with any arguments. Then it could automatically mount and then launch the external player that is specified.

Im sure it is not as cut and dry as that as my greatest programming achievement is a pong game in which only one paddle moved.

What you asking is for XBMC to invoke program A (your mounting program) followed by program B (your player) probably followed by program C (your unmounting program). That's very much what batch files are for and something XBMC doesn't need to do.