2008-11-10, 04:25
This thread is for external player support on Windows, i.e. ability to play your video content using an external player of your choice.
Current patch to SVN xbmc head is in Trac #5300.
ExternalPlayer implements a 'stub' player which fires off your favorite external media player when you select a video clip inside XBMC. This makes it handy if you want to play DRM content with Windows Media Player (please don't), use MPC with FFDShow (luma sharpen, etc), or something like TheaterTek. You can set ExternalPlayer to be the default player, or play content via context menu.
This is totally unofficial so don't expect any support (and don't ask the XBMC devs for any).
* If you can build from SVN (applause) you can get patchfiles here:
http://trac.xbmc.org/ticket/5300
Create a advancedsettings.xml file in your userdata directory (in \Documents and Settings\[user]\AppData\XBMC on WinXp or \Users\[user]\AppData\Roaming\XBMC on Vista) with the following:
Legend:
video/defaultplayer - use this to force the default video player to externalplayer
filename - absolute location of the executable to launch (MPC, Media Player, MPlayer, Zoom Player etc.)
args - arguments to pass to the player
Tweaks:
forceontop - (suggested setting: false) set to true to attempt to force problematic players to be on top. Note that this doesn't work for some players. If you are having problems with XBMC staying 'in front' of your application (you are using zoomplayer or you get a frozen XBMC window), set this to false.
hideconsole - (suggested setting: true) set to true to hide a launched console (useful for MPlayer for windows which opens a console window before starting playback)
hidecursor - (suggested setting: true) set to true to position the cursor offscreen (useful for MPC for example)
Note you can also set extplayer as the default audio player:
If you don't need these and want to use the default players (dvdplayer/paplayer/mplayer), don't include the defaultplayer and audio/video tags!
ExternalPlayer will not function on XBOX. Win/Lin/OSX only.
When browsing video content, bring up the context menu and select ExternalPlayer to play the content using your external player. If you set defaultplayer you won't have to.
Use eventghost to map your remote control to your new media player. Note that the player needs to *QUIT* on end of file in order for XBMC to resume.
If your player doesn't launch, you need to enable debug mode and check the XBMC log for all CEXTPlayer notices.
(Thanks to amoller @ ext_player_patch and dummy player sources)
Problems/Resolutions:
- XBMC freezes : check your log to see if advancedsettings was parsed without error
- Nothing plays : did you set your advancedsettings parameters correctly and place the file in the right location
- I hear audio but see no video: set your player to 'ontop' via prefs, or map a remote button to alt-tab (bring the player to the front)
- Extplayer should 'do more stuff': your player should 'do more stuff' -- extplayer is a launcher for video playback, nothing more or less
- But I want it to do X before my video launches: make a wrapper batch file or application that does what you need and then launches the player you want
Current patch to SVN xbmc head is in Trac #5300.
ExternalPlayer implements a 'stub' player which fires off your favorite external media player when you select a video clip inside XBMC. This makes it handy if you want to play DRM content with Windows Media Player (please don't), use MPC with FFDShow (luma sharpen, etc), or something like TheaterTek. You can set ExternalPlayer to be the default player, or play content via context menu.
This is totally unofficial so don't expect any support (and don't ask the XBMC devs for any).
* If you can build from SVN (applause) you can get patchfiles here:
http://trac.xbmc.org/ticket/5300
Create a advancedsettings.xml file in your userdata directory (in \Documents and Settings\[user]\AppData\XBMC on WinXp or \Users\[user]\AppData\Roaming\XBMC on Vista) with the following:
Code:
<advancedsettings>
<video>
<defaultplayer>externalplayer</defaultplayer>
</video>
<externalplayer>
<filename>c:\applications\mplayer\mplayer.exe</filename>
<args>-fs</args>
<forceontop>false</forceontop>
<hideconsole>false</hideconsole>
<hidecursor>false</hidecursor>
</externalplayer>
</advancedsettings>
Legend:
video/defaultplayer - use this to force the default video player to externalplayer
filename - absolute location of the executable to launch (MPC, Media Player, MPlayer, Zoom Player etc.)
args - arguments to pass to the player
Tweaks:
forceontop - (suggested setting: false) set to true to attempt to force problematic players to be on top. Note that this doesn't work for some players. If you are having problems with XBMC staying 'in front' of your application (you are using zoomplayer or you get a frozen XBMC window), set this to false.
hideconsole - (suggested setting: true) set to true to hide a launched console (useful for MPlayer for windows which opens a console window before starting playback)
hidecursor - (suggested setting: true) set to true to position the cursor offscreen (useful for MPC for example)
Note you can also set extplayer as the default audio player:
Code:
<advancedsettings>
<audio>
<defaultplayer>externalplayer</defaultplayer>
</audio>
If you don't need these and want to use the default players (dvdplayer/paplayer/mplayer), don't include the defaultplayer and audio/video tags!
ExternalPlayer will not function on XBOX. Win/Lin/OSX only.
When browsing video content, bring up the context menu and select ExternalPlayer to play the content using your external player. If you set defaultplayer you won't have to.
Use eventghost to map your remote control to your new media player. Note that the player needs to *QUIT* on end of file in order for XBMC to resume.
If your player doesn't launch, you need to enable debug mode and check the XBMC log for all CEXTPlayer notices.
(Thanks to amoller @ ext_player_patch and dummy player sources)
Problems/Resolutions:
- XBMC freezes : check your log to see if advancedsettings was parsed without error
- Nothing plays : did you set your advancedsettings parameters correctly and place the file in the right location
- I hear audio but see no video: set your player to 'ontop' via prefs, or map a remote button to alt-tab (bring the player to the front)
- Extplayer should 'do more stuff': your player should 'do more stuff' -- extplayer is a launcher for video playback, nothing more or less
- But I want it to do X before my video launches: make a wrapper batch file or application that does what you need and then launches the player you want