Android 4.2 Mattrix XBMC Image - (UPDATED 2014.11.11)

178 74233
ChrisP  
Oups, I correct MX Player settings, in order to have DTS soft decoding, you need to put SW audio decoding, but keep HW+ for video. Don't know where that settings are stored.

dlanor  
Post Last Edited by dlanor at 2014-9-26 02:38

@mattrix:
The codec 'app' needed is "MX Player Codec (ARMv7 NEON)"
I do have a working playercorefactory.xml, with the following content:
  1. <playercorefactory>
  2.         <players>
  3.                 <!-- MXPlayer Free definition -->
  4.                 <player name="MXPlayerFree" type="ExternalPlayer" audio="false" video="true">
  5.                         <filename>com.mxtech.videoplayer.ad</filename>
  6.                         <!-- Hide XBMC -->
  7.                         <hidexbmc>true</hidexbmc>
  8.                         <!-- Set to seen after 2 minutes -->
  9.                         <playcountminimumtime>120</playcountminimumtime>
  10.                 </player>

  11.                 <!-- MXPlayer Pro definition -->
  12.                 <player name="MXPlayerPro" type="ExternalPlayer" audio="false" video="true">
  13.                         <filename>com.mxtech.videoplayer.pro</filename>
  14.                         <!-- Hide XBMC -->
  15.                         <hidexbmc>true</hidexbmc>
  16.                         <!-- Set to seen after 2 minutes -->
  17.                         <playcountminimumtime>120</playcountminimumtime>
  18.                 </player>
  19.         </players>
  20.         <rules action="prepend">
  21.                         <rule filetypes="avi|flv|mkv|mp4|mpg|swf|vob|wmv" player="MXPlayerPro" />
  22.                         <rule filename=".*720.*|.*1080.*" player="MXPlayerPro" />
  23.                         <rule videoresolution="720|1080" player="MXPlayerPro" />
  24.         </rules>
  25. </playercorefactory>
Copy the Code
As you can see from the 'rules' section I use the Pro version of MXPlayer, so you will need to change three instances of "MXPlayerPro" to "MXPlayerFree" in order to use the free version (as that's the only one you can legally include in the image).

As you can also see I've configured it to use MXPlayer for just about anything (except pure music files). The resolution specific rules aren't really needed, since the filetype extension matches will cause MXPlayer to be invoked anyway, but I left them in there to allow for future and more selective changes.

Btw: While you're working on new image changes, please try to investigate the possibility of enlarging the 'internal flash' area.
0.98 GB is really too small to allow for a rich app collection, partly because many apps are not movable to sdcard area, and partly because even when they are moved, they always continue to use some part of internal flash storage. In the case of XBMC it uses a HUGE cache area in internal flash, and if you ever do a global cache cleanup, then XBMC will see the next launch as 'first launch after install'. (I see this as a terrible XBMC bug.) I've several times seen error messages in the google play store, due to having insufficient space for updates (requires room for both the old and the new), forcing me to uninstall some stuff I wanted to keep, in order to make the updates possible.

In brief: A larger internal flash area would be a significant improvement.
But I understand that it may be hard to accomplish.
(May be fixed to one size by the original image partitioning.)

Best regards: dlanor

mattrix  
Post Last Edited by mattrix at 2014-9-26 02:41

Just did some tests.

Got XBMC playing 1080P video @ full FPS (25fps encode) using 75% CPU.
The video is Django Unchained
1920x800 H264 MPEG-4 AVC

Ooo, found a higher res video
1920x1080 24FPS
Playing @ Full FPS.
CPU 1 & 2 hovering around 60-80

That's native (not through MX player) and over my SMB network

Is this good?

dlanor  
Just did some tests.

Is this good?
mattrix Posted at 2014-9-26 02:34


And is that question rhetorical...?
(as was this one )

But seriously.
Even if it does work well with one 1080p movie, it will not work well with all of them.
For higher bitrates an external HW-accelerated player will definitely be needed.

Best regards: dlanor

mattrix  
I might have the playerfactory ready to go, but ship it with it named something different
Give the user the option.

Got it playing away the 1080P Prisoners movie in the background.

It's not HW accelerated, but obviously with the extra CPU boost and a few settings tweaks and new Kodi - it can handle it in SW.

mattrix  
Thanks for the Playerfactory. (could you remind me of the location for this)

Are you able to share the settings file for MX Player?
and also it's location.

I will see about resizing internal storage

dlanor  
@mattrix:
It is great that some 1080p content now plays even without external player, and I assumed that this was in part due to the CPU overclocking you mentioned earlier. But no matter how well those test videos play, there will always be others that don't. Video resolution is just one factor in this, and it is NOT the most important one. That will always be the bitrate in combination with the CODEC complexity. (CODECs with high compression demand more CPU work during playback.) The resolution is important too, as it defines the size of video RAM that must be updated per frame, but bitrate and CODEC define the work that the CPU must perform to produce useful video data.

I've seen 1080p videos with bitrates ranging from just 1000kbps to 40,000kbps (or more), and those with high bitrates will definitely need HW-acceleration to play well.

Best regards: dlanor

dlanor  
Post Last Edited by dlanor at 2014-9-26 03:17

Post Last Edited by dlanor at 2014-9-26 03:15

Ooops! I forgot to add the playercorefactory.xml location.

I have it in the storage path:
"/sdcard/Android/data/org.xbmc.xbmc/files/.xbmc/userdata/"

NB: As I understand it that folder structure does not exist before the first run...

I will go check the MXPlayer settings, but these may differ between Free and Pro versions.

Best regards: dlanor

ChrisP  
Resizing system partition is something that seems possible with imgrepacker, but still have to fix things and do not have time for that right now.

Regarding path of the playerfactory.xml, it should be /Android/data/org.xbmc.xbmc/files/.xbmc/userdata/

mattrix  
NB: As I understand it that folder structure does not exist before the first run...


Yes, I'm hoping I can just create the folder structure with the file in there and XBMC won't delete / overwrite it.

But, I didnt want to change some XBMC settings but this would need to happen after XBMC firstrun so not sure about that.

You have to log in before you can reply Login | Sign Up

Points Rules