Post Reply

[root] xbmc - choppy avi playback solution - mount samba share - external mxplayer

OP hmagoo

22nd June 2014, 06:14 AM   |  #1  
OP Junior Member
Flag Palm Desert, CA
Thanks Meter: 4
 
23 posts
Join Date:Joined: Sep 2011
More
It looks like disabling hardware acceleration and not choosing multi-threaded decoding helps with this problem.
see this thread http://forum.xda-developers.com/show....php?t=2796356

edit: 6/26/14 - It looks to me like xbmc for ouya does not have this problem with xvid playback with libstagefright turned off (software decoding?) so I am going to try launching xbmc for ouya as an external player and see how that works.

Other than remuxing files into mkv format, I did not find another solution for choppy xvid playback in xbmc gotham 13.1.
Redardless, I posted this info so that there is more information on how to mount a remote share on an android device and have the share visible for android apps.

I ended up using mxplayer android app to launch when playing xvid files, or invoke it manually through the "play using" option in the context menu. Having a mouse handy may be needed to scroll to some options during app setup.
I have my firetv rooted, and as the default launcher following threads on this forum. I installed SSH and use SFTP to put files on my FireTV
This is the only way I could get any app to mount a remote share and have android apps see the share.
The first step is to install mxplayer and the custom codec (I believe this helps with AC3 passthrough)
sites.google.com/site/mxvpen/download - MXPlayer downloads page
I downloaded and installed the second option (free neon edition)
then I downloaded the custom codec (for neon) found in the link at the bottom of the codecs section and followed the directions, putting the file in the data directory.
I put the file in /sdcard/Android/data/ and pointed mxplayer to the file, as per directions in the xda custom codec thread.

wiki.xbmc.org/index.php?title=HOW-TO:Use_external_players_on_Android - HOW-TO: Use External Players on Android
following those directions I made a playercorefactory.xml file and put that in the xbmc userdata directory.
/sdcard/Android/data/org.xbmc.xbmc/files/.xbmc/userdata/
Code:
<playercorefactory>
        <players>
                
                <player name="mxplayer" type="ExternalPlayer" audio="false" video="true">
                        <filename>com.mxtech.videoplayer.ad</filename>
                        <hidexbmc>true</hidexbmc>
                        <playcountminimumtime>120</playcountminimumtime>
                </player>
               
        </players>
        <rules action="prepend">
                
               <rule videocodec="xvid" player="mxplayer"/> <!-- launch mxplayer to playback xvid files if xbmc knows already -->
        </rules>
</playercorefactory>
restart XBMC after putting playercorefactory.xml in the userdata directory
The mxplayer would not launch on files using only this method, as the NFS or Samba share I was using was not usefully passed along to mxplayer, so I had to find a way to mount a share in android and use that mountpoint as my video source.
from your terminal on your pc (not using ssh, using adb) - This is for mounting a samba share (windows share). I saw a lot of problems trying to use NFS shares.
replace the IP addresses with your servers IP Address, and username,password
Code:
adb kill-server
adb start-server
adb connect 192.168.0.xx (put your IP address of your file server here)
adb shell
mkdir /mnt/obb/nas
su
mount -o noperm,unc=\\\\192.168.0.xx\\putsharenamehere,username=putusernamehere,password=putpasswordhere -t cifs none /mnt/obb/nas
add that video source in XBMC, by navigating to root filesystem, and /mnt/obb/nas
verify that it works by going to video->files and seeing the share
In mxplayer, I had to select Hardware decoding for video, not Hardware+, and Software Decoder for Audio
If XBMC knows the file is xvid video it will launch mxplayer automatically otherwise you can use the context menu and choose mxplayer

caveats:
messing with the settings in mxplayer will cause AC3 streams to not passthrough, but I don't always have the mouse hooked up to navigate to the proper settings and fix them back up, but it looks promising so far. I do have smooth playback for xvid files (avi containers) and passthrough of AC3 audio to my receiver.

I don't believe the mountpoint will survive a reboot at this point, but I believe it would be easy to put a script in an init file somewhere to do this, as long as we find the right file that is invoked after bootup.

navigation using the fire tv remote is OK in mxplayer for basic playback, and disabling subtitles in settings if you have to (I chose a default directory with no subs)

if we use this mountpoint as a media source, scan into the library, and don't make it persistent after reboot, we will have problems. But I have mostly x264 files in my library, and they play fine normally with XBMC so this is only useful for .avi files for me.

If anyone wants to find a way to make the mount persistent after reboot this would help me out. The mounting of remote shares for android apps took a day of googling for me to nail down, not sure if there is an easier way, but nothing else worked.

with mxplayer set to decode files this way, I have trouble playing mkv files (I believe with AC-3) with it but I don't use mxplayer for those files.

UPDATE: I am not able to play files with AC3 and use passthrough without losing seeking function in mxplayer, might try bsplayer next or another android app. The difference as far as the video is concerned is night and day though.
I think with the mount options that I found it would be possible to use CIFS Manager app to automate the mount, but I would probably still have to make the directory before mounting. This is just a temporary solution for me until hopefully we get linux on the fire tv and can solve some of the playback issues I see. I don't wish to re-encode files that I ripped 15 years ago, and merging them in mkv format makes no difference.
Last edited by hmagoo; 27th June 2014 at 01:56 AM.
22nd June 2014, 07:55 AM   |  #2  
Senior Member
Thanks Meter: 199
 
758 posts
Join Date:Joined: Feb 2011
I don't have any avi files that are that big, the biggest I've got is probably 90 minutes and a size of 3 gig. I just tried it in xbmc 13.1 and it seemed OK to me.

Are you connecting your Fire via wifi or ethernet? I put mine onto ethernet very quickly after putting it in the living room, and it seems very helpful to do so.
22nd June 2014, 08:02 AM   |  #3  
OP Junior Member
Flag Palm Desert, CA
Thanks Meter: 4
 
23 posts
Join Date:Joined: Sep 2011
More
My files range from 300MB to 3GB and I see jitter during pans and normal scenes that occur visibly on files that are .avi and/or originally encoded as xvid. I tried to look for a number of settings that would help, but never did. I am looking at the long thread on the xbmc forum and seeing if I get any pointers, might try a nightly build. When I load the same file in mxplayer I don't see the jitter. Thanks for your input.

I am connected ethernet, SMB or NFS shares.

what are your settings for acceleration, and your other settings regarding audio and video in system, and video tabs?
thanks
Last edited by hmagoo; 22nd June 2014 at 08:09 AM.
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Fire TV General by ThreadRank