SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Clients Development

Notices

SageTV Clients Development This forum is for discussions relating to SageTV Open Source Clients Development.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 07-19-2016, 06:31 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Android MiniClient and Audio Passthrough

The Android MiniClient uses ijkPlayer (based on ffplay/ffmpeg) for media playback. ijkPlayer doesn't support audio-passthrough and to get it to work, there are some chagnes that would need to be made to allow it work.

ExoPlayer does support audio passthrough, but, I find ExoPlayer to be unstable. ie, I find that it will randomly crash on a file, and then if I try to play the same file again, it will work, etc. So, for that reason, i don't really recommend to use it. I'm leaving it it, and keeping it updated as I release update to the minicient in hopes that one day it will become much better.

My time lately hasn't been focussed on the miniclient, instead, I've been doing some work on getting a new phoenix core services build out that requires a new sagex apis and bmt. So, I'm not sure when I'll get a chance to look at the audio-passthrough.

There is a closed feature request for ijkplayer where we've talked about how this might happen in ijkPlayer.

If someone wants to take this on, I can help you get a miniclient build up and running and show you how to re-compile the ijkplayer when you make changes, etc.

If not, then this will likely get looked at in the fall, sometime.
Reply With Quote
  #2  
Old 07-19-2016, 07:23 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
y'know, I wonder if one of the reasons ExoPlayer has so much instability BECAUSE it hands everything off to the hardware to decode or passthrough.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #3  
Old 07-19-2016, 10:06 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by Fuzzy View Post
y'know, I wonder if one of the reasons ExoPlayer has so much instability BECAUSE it hands everything off to the hardware to decode or passthrough.
I think some of it may be that... but also ffmpeg's format parsers have been in development for years... and I think when they probably encounter bad data all the time, and they likely add "hacks" to work around it etc.

ExoPlayer has the idealistic of stance of not adding any hacks or work arounds, at all. They agree that they will play a file if the file is 100% perfect and only 100% perfect. So, ExoPlayer works really well for an application where you are producing the files and handling the player (ie, YouTube)... or if you are only ever handling a single type of file.

That, and they have bugs, like anyone else. When you review the "commit" logs you see that they are always fixing the format parsers, or, adding support for some part of the parser that wasn't implemented before, etc.

Eventually they'll get there, I'm sure... and to be honest, ExoPlayer is a great player if you control the files being produced. For YouTube, I'm sure ExoPlayer is near flawless.
Reply With Quote
  #4  
Old 07-27-2016, 08:20 AM
brianrent brianrent is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: KY
Posts: 77
Are these the only 2 players that can be used. I have used MX player for a while and it plays everything I've thrown at it flawlessly as far as I can tell. Not sure if it does pass through or not.
Reply With Quote
  #5  
Old 07-27-2016, 10:30 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by brianrent View Post
Are these the only 2 players that can be used. I have used MX player for a while and it plays everything I've thrown at it flawlessly as far as I can tell. Not sure if it does pass through or not.
I like MXPlayer as well... unfortunately, MXPlayer is not a player library, but just a player, so it's not possible to integrate that player into the miniclient. For a player to work with the miniclient it needs to support an API that I can hook into that would allow be embed the player, provide my own playback controls, and support custom data sources. IJK added custom datasource for my benefit, or else, we'd only be using ExoPlayer.

For my testing, IJKPLayer (ffmpeg/ffplay based) plays just about anything that I throw at it as well... included h265 videos using the hardware decoding.
Reply With Quote
  #6  
Old 08-13-2016, 12:36 PM
cncb cncb is offline
Sage Icon
 
Join Date: Jul 2006
Posts: 1,241
Quote:
Originally Posted by stuckless View Post
ExoPlayer does support audio passthrough, but, I find ExoPlayer to be unstable. ie, I find that it will randomly crash on a file, and then if I try to play the same file again, it will work, etc. So, for that reason, i don't really recommend to use it. I'm leaving it it, and keeping it updated as I release update to the minicient in hopes that one day it will become much better.
The seeking problem in ExoPlayer I mentioned in the other thread (timeline jumps to end and playback gets all messed up) apparently is specific to the Shield TV device. A developer for ExoPlayer expects a fix to be in the next Shield update so ExoPlayer may soon be more stable for the Shield device at least:

https://github.com/google/ExoPlayer/issues/1522
__________________
-Craig
Reply With Quote
  #7  
Old 11-29-2016, 02:52 PM
jptheripper jptheripper is offline
Sage Fanatic
 
Join Date: Dec 2007
Location: Florida
Posts: 936
can you do a quick update on the state of dts passthrough?
__________________
Gigabyte GA-MA770-DS3/4gb DDR2/AMD Phenom 955 3.2ghz Quad Core
Windows 7 64bit Home Premium
Hauppauge 1600/1850/2250/colossus/2650(CableCard 2 tuner)
8tb RAID5 storage/media/other &3tb RAID5 backup storage on a HighPoint RocketRaid 2680
1tb 3 disk Recording Pool
all in a beautiful Antec 1200
SageMyMovies/Comskip/PlayON/SageDCT/SRE
HD100/HD300 extenders
Reply With Quote
  #8  
Old 11-29-2016, 02:58 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by jptheripper View Post
can you do a quick update on the state of dts passthrough?
Basically... ExoPlayer supports it... (but doesn't work that well)... and there are no immediate plans to update IJKPlayer to support it. (I don't have the skills to do it )
Reply With Quote
  #9  
Old 11-29-2016, 07:38 PM
panteragstk's Avatar
panteragstk panteragstk is offline
SageTVaholic
 
Join Date: Oct 2008
Location: New Braunfels, TX
Posts: 3,312
Quote:
Originally Posted by stuckless View Post
Basically... ExoPlayer supports it... (but doesn't work that well)... and there are no immediate plans to update IJKPlayer to support it. (I don't have the skills to do it )
I've been doing some testing with exoplayer and it seems to work very well with the exception of mpeg2. Doesn't really work at all.

Is that the experience you have with it or are there more issues than that?
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA
Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60
Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u
Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup.
Reply With Quote
  #10  
Old 11-30-2016, 06:50 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by panteragstk View Post
I've been doing some testing with exoplayer and it seems to work very well with the exception of mpeg2. Doesn't really work at all.

Is that the experience you have with it or are there more issues than that?
When I try to use ExoPlayer... I find that it will randomly just fail to play something... If I try to play it a second time, then it will magically work. Sometimes I'll try it 2-3 times and then it will play the file. These are h264 .ts files. The other issue that I have is that find the skipping doesn't always work (that's on me... there is work I need to do in the MiniClient to manage this better)... And the 3rd thing is that I don't have audio passthrough to a stereo... so I need the player the decode the audio... the problem is the if there isn't hardware decoding for whatever is in the media file, I get no audio

IJKPlayer plays everything I throw at, flawlessly... probably because it's basically a ffmpeg player.

ExoPlayer does have some native integration with ffmpeg for audio... but, unfortunately, the ExoPlayer plugins are not setup to build for the various arm/intel flavours... so even if I included it,... it would just be for 1 achitecture... unless I rewrite their scripts (which I might end up doing at some point, if they don't do it first)
Reply With Quote
  #11  
Old 11-30-2016, 10:39 AM
panteragstk's Avatar
panteragstk panteragstk is offline
SageTVaholic
 
Join Date: Oct 2008
Location: New Braunfels, TX
Posts: 3,312
Quote:
Originally Posted by stuckless View Post
When I try to use ExoPlayer... I find that it will randomly just fail to play something... If I try to play it a second time, then it will magically work. Sometimes I'll try it 2-3 times and then it will play the file. These are h264 .ts files. The other issue that I have is that find the skipping doesn't always work (that's on me... there is work I need to do in the MiniClient to manage this better)... And the 3rd thing is that I don't have audio passthrough to a stereo... so I need the player the decode the audio... the problem is the if there isn't hardware decoding for whatever is in the media file, I get no audio

IJKPlayer plays everything I throw at, flawlessly... probably because it's basically a ffmpeg player.

ExoPlayer does have some native integration with ffmpeg for audio... but, unfortunately, the ExoPlayer plugins are not setup to build for the various arm/intel flavours... so even if I included it,... it would just be for 1 achitecture... unless I rewrite their scripts (which I might end up doing at some point, if they don't do it first)
Ok. Audio passthrough works for me without issue, but I do sometimes see the skipping issue you are referring to. Basically if there is comskip data it will skip to the end for no reason.

I can't get it to play mpeg2 files at all. They just are a bunch of artifacts and aren't watchable at all.
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA
Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60
Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u
Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
SageTV MiniClient for Android Indiegogo Campaign (Thanks) stuckless SageTV Clients Development 10 02-17-2019 10:13 AM
Android MiniClient - Subtitle + CC support stuckless SageTV Clients Development 42 01-01-2018 08:17 AM
[Android MiniClient] Now in BETA stuckless SageTV Clients Development 487 07-03-2016 03:55 PM
[Android MiniClient] Need a better start screen stuckless SageTV Clients Development 16 01-29-2016 01:55 PM
MPEG2 Support in Android MiniClient stuckless SageTV Clients Development 24 01-03-2016 10:09 AM


All times are GMT -6. The time now is 09:55 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.