Kodi Community Forum

Full Version: Set Kodi an external player for videos - Sony AndroidTV and default video player
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

i want kodi to open video files in the sony own video app. I noticed some small stutter using the kodi video player.
I read the howto http://kodi.wiki/view/HOW-TO:Use%20exter...%20Android but i am not sure.

Is this enough?

<playercorefactory>
<players>
<player name="Video" type="ExternalPlayer" audio="false" video="true">
<filename>***location-of-the-player***</filename>
<hidexbmc>true</hidexbmc>
<playcountminimumtime>120</playcountminimumtime>
</player>
</players>
<rules action="prepend">
<rule video="true" player="Video"/> <!-- Default for anything else not listed -->
</rules>
</playercorefactory>
Here is what I use on my 4k UHD Sony television, running spmc.

The internal Sony player, only works on usb, will not work over smb. The free MXPlayer works well. In my script, I rename my files with the word "sony" in them if I want to invoke the sony player instead of MXPlayer or Kodi dvd player. Mostly used for 2160 4k playback files.

The MXPlayer has problems with some audio codecs in 4k, so it's a bit hit/miss to pick the right one. Long press the "ok" button on the remote gives you the option of choosing the player as well.

VLC did not work well for 4k.

Code:
<playercorefactory>
    <players>
        <player name="MXPlayerFree" type="ExternalPlayer" audio="false" video="true">
            <filename>com.mxtech.videoplayer.ad</filename>
            <hidexbmc>true</hidexbmc>
            <playcountminimumtime>120</playcountminimumtime>
        </player>

        <player name="MXPlayerPro" type="ExternalPlayer" audio="false" video="true">
            <filename>com.mxtech.videoplayer.pro</filename>
            <hidexbmc>true</hidexbmc>
            <playcountminimumtime>120</playcountminimumtime>
        </player>
        
        <player name="SonyVideoPlayer" type="ExternalPlayer" audio="false" video="true">
            <filename>com.sony.dtv.osat.video</filename>
            <hidexbmc>true</hidexbmc>
            <playcountminimumtime>120</playcountminimumtime>
        </player>
    </players>
    
    <!-- Rules for which external player to use -->
    <!-- MX Player Free is default-->
    <rules action="prepend">
        <rule protocols="smb" player="DVDPlayer" />
        <rule dvdimage="true" player="MXPlayerFree"/>    
        <rule protocols="rtmp" player="MXPlayerFree"/>    
        <rule protocols="rtsp" player="MXPlayerFree" />
        <rule filetype ="mkv" filename=".*sony.*" player="SonyVideoPlayer" />
        <rule video="true" player="MXPlayerFree"/>
    </rules>
</playercorefactory>
(2017-02-28, 18:01)cwh060 Wrote: [ -> ]The internal Sony player, only works on usb, will not work over smb.

My sony player named "Video" is able to play files from smb. I am using EsFileExplorer for browsing and the Video app for playback.
So your sony player is named SonyVideoPlayer?
I just stuck the name SonyVideoPlayer into the XML file, it can be called anything. Really it's the com.sony.dtv.osat.video which invokes the Sony Video playback device.

Ok, I thought the point was doing this through Kodi, so never mind if you are using EsFileExplorer to launch a video player. I think ESFileExplorer has it's own internal video player, which does work over smb. There may be an option in ESFE to choose which playback device to use. Perhaps, I should re-word 4k files do not work over smb.
It looks like you are right. The SonyPlayer do not play files from smb. Then i copied a movie to a usb drive and connected it to the tv. Kodi was able to play the movie via SonyPlayer.
So the ExFileExplorer buffers the video file for the SonyPlayer.

Here is my xml content:
Code:
<playercorefactory>
        <players>
                <player name="Video" type="ExternalPlayer" audio="false" video="true">
                        <filename>com.sony.dtv.osat.video</filename>
                        <hidexbmc>true</hidexbmc>
                        <playcountminimumtime>120</playcountminimumtime>
                </player>
        </players>
        <rules action="prepend">
                <rule video="true" player="Video"/>
        </rules>
</playercorefactory>

Any idea how to force the smb playback to the SonyPlayer via Kodi?
(2017-02-28, 22:35)mpiet Wrote: [ -> ]Any idea how to force the smb playback to the SonyPlayer via Kodi?

No, I've not figured that out yet. I know DLNA works.

I just use the internal Kodi player for smb playback it works good enough. Lots of others use VLC or MPC-HC, both very good players.
@mpiet @cwh060 

Hello, I'm trying to configure the external player but I can not get it.

I want all the videos (they are on a usb disk) to be played with the external player, except the videos shared by samba that I want to be played on the kodi player.  

Now everything is reproduced by the external player. How do I have to edit it?

Code:
<playercorefactory>
    <players>           
        <player name="SonyVideoPlayer" type="ExternalPlayer" audio="false" video="true">
            <filename>com.sony.dtv.osat.video</filename>
            <hidexbmc>true</hidexbmc>
            <playcountminimumtime>120</playcountminimumtime>
        </player>
    </players>  
       <rules action="prepend">
        <rule protocols="smb" player="dvdplayer" />
        <rule dvdimage="true" player="dvdplayer"/>    
        <rule protocols="rtmp" player="dvdplayer"/>    
        <rule protocols="rtsp" player="dvdplayer" />
        <rule internetstream="true" player="dvdplayer" />
        <rule video="true" player="SonyVideoPlayer"/>
       </rules>
</playercorefactory>
I am not sure, but the problem might be that you specify that all videos in the Sony player should be played with this line: <rule video="true" player="SonyVideoPlayer"/>
Your protocol rules will be overwritten. I do not know what would have to be there so that the local files are distinguished.

Alternatively, you could provide your local or SMB files with a keyword.
<rule filename=".*IDENTTEXT*" player="dvdplayer" />

I have not tried it, I had no more desire on the workarounds and bought a shield.
If you want to use the sony player in future, you should not update to Oreo. In Oreo are many issues with the sony video player.
(2019-02-25, 15:20)mpiet Wrote: [ -> ]I am not sure, but the problem might be that you specify that all videos in the Sony player should be played with this line: <rule video="true" player="SonyVideoPlayer"/>
Your protocol rules will be overwritten. I do not know what would have to be there so that the local files are distinguished.

Alternatively, you could provide your local or SMB files with a keyword.
<rule filename=".*IDENTTEXT*" player="dvdplayer" />

I have not tried it, I had no more desire on the workarounds and bought a shield.
If you want to use the sony player in future, you should not update to Oreo. In Oreo are many issues with the sony video player.
Thank you, your proposal to add the filename rule I had already thought about, I will try it.
I think @cwh060 tried it with smb. Can you help me @cwh060?