ebr 14944 Posted October 16, 2017 Share Posted October 16, 2017 Okay, then sounds like maybe my supposition is correct as you don't have another app direct playing it and, when it transcodes, it works. What it looks like to me is that, when attempting to deliver the file statically, it is trying to download the entire file before playback begins. You said if you let is sit there for a couple of minutes playback starts but then things get wonky. That sounds to me like the player is loading in the entire file and then having trouble with the memory footprint. Is there any configuration in your reverse-proxy related to delivering file downloads that maybe is not allowing it to stream statically? 1 Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted October 16, 2017 Author Share Posted October 16, 2017 Interesting. That may well be the case. When I tested this a while back with another external player (think it was a default Android one) it actually displayed the 'downloading' progress bar when I tried to open a video so you might be correct. There is nothing in my reverse proxy configuration that relates to downloading files that I can see. If there was, do you think it would also affect other clients? My normal Android client and the Roku, all on the same network and going through the same reverse proxy don't have this issue, they direct play no problem. Link to comment Share on other sites More sharing options...
ebr 14944 Posted October 16, 2017 Share Posted October 16, 2017 If there was, do you think it would also affect other clients? My normal Android client and the Roku, all on the same network and going through the same reverse proxy don't have this issue, they direct play no problem. Well, that's why I asked you to find another app that played this item in the exact same way... . You chose the iOS app to do that which would never be able to direct play this. If you use one of those other apps, does it truly direct stream the static file? Does the url contain 'static=true' or is there some other remux or conversion going on? Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted October 16, 2017 Author Share Posted October 16, 2017 Well, that's why I asked you to find another app that played this item in the exact same way... . You chose the iOS app to do that which would never be able to direct play this. If you use one of those other apps, does it truly direct stream the static file? Does the url contain 'static=true' or is there some other remux or conversion going on?Definitely. Just tried again on my Google Pixel using the client, and stats for nerds shows Direct Play with the player set to LibVlc Player and the log has Static=true in the URL. Link to comment Share on other sites More sharing options...
ebr 14944 Posted October 16, 2017 Share Posted October 16, 2017 Definitely. Just tried again on my Google Pixel using the client, and stats for nerds shows Direct Play with the player set to LibVlc Player and the log has Static=true in the URL. Okay, the difference there being VLC again. The Android TV app prefers the Google player. I think something in the interaction between Exo and that static file url is causing it to think it needs to bring the whole file down when it is going through your reverse proxy. 1 Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted October 16, 2017 Author Share Posted October 16, 2017 Okay, the difference there being VLC again. The Android TV app prefers the Google player. I think something in the interaction between Exo and that static file url is causing it to think it needs to bring the whole file down when it is going through your reverse proxy.Thanks @@ebr - is there anything I can do or try to resolve this? Link to comment Share on other sites More sharing options...
ebr 14944 Posted October 16, 2017 Share Posted October 16, 2017 Thanks @@ebr - is there anything I can do or try to resolve this? Other than any investigation you could maybe do into the file transfer characteristics of your reverse-proxy I can't think of anything. Perhaps post a question in one of the revers-proxy threads and maybe someone like @@pir8radio will know something. I'm sorry that we can't help more with it... 1 Link to comment Share on other sites More sharing options...
mastrmind11 717 Posted October 16, 2017 Share Posted October 16, 2017 90% of this community is nginx based. Have you considered an nginx implementation where you can get legitimate support from multiple members? Accomplishes the same thing, easier (imo), and multiple working implementations contributing tothe community. My 2c, anyway. 1 Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted October 16, 2017 Author Share Posted October 16, 2017 90% of this community is nginx based. Have you considered an nginx implementation where you can get legitimate support from multiple members? Accomplishes the same thing, easier (imo), and multiple working implementations contributing tothe community. My 2c, anyway.Thanks for the suggestion. I have considered it but my entire home network hangs off HAProxy in pfSense and this is the one client that is giving me grief so I'm going to stick with it in the hope that I might get to the bottom of the issue. Out of interest, is there a reason ExoPlayer is preferred for Android TV but on normal Android it is LibVLC that's preferred? Is this something configurable on the ATV client? Static=True URLs stream fine through the normal Android client using LibVLC. Link to comment Share on other sites More sharing options...
Luke 37139 Posted October 16, 2017 Share Posted October 16, 2017 Because libVlc doesn't support hd audio pass-through to an audio receiver, however on a mobile device this usually doesn't matter so that's why we're able to use it more frequently. 1 Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted October 16, 2017 Author Share Posted October 16, 2017 Because libVlc support hd audio pass-through to an audio receiver, however on a mobile device this usually doesn't matter so that's why we're able to use it more frequently.Makes sense. Thanks for the response. I'm just trawling the issue logs for Exo to see if there is something relevant though I suspect I'm clutching at straws a little. Link to comment Share on other sites More sharing options...
pir8radio 1292 Posted October 16, 2017 Share Posted October 16, 2017 Thanks for the suggestion. I have considered it but my entire home network hangs off HAProxy in pfSense and this is the one client that is giving me grief so I'm going to stick with it in the hope that I might get to the bottom of the issue. Out of interest, is there a reason ExoPlayer is preferred for Android TV but on normal Android it is LibVLC that's preferred? Is this something configurable on the ATV client? Static=True URLs stream fine through the normal Android client using LibVLC. I'm still willing to get a second set of eyes on your server if you want to PM me the info, and whip up a test account for me. I can "usually" spot RP issues and give some advice. Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted October 17, 2017 Author Share Posted October 17, 2017 Thanks @@pir8radio - which country are you in out of interest? I do some pretty heavy GeoIP coming in from external so might need to drill some holes. Also - I've noticed there might be a bit more to this. I tried a bunch of other videos from the series that seem to cause issue, and it looks like some do actually play OK. Can anyone tell me what the difference between DirectPlay and DirectStream is? It looks like videos with DirectStream are working, whereby DirectPlay isn't. Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted October 17, 2017 Author Share Posted October 17, 2017 Actually - I'm confusing myself here. Those stats above were from when I tried to play the media from a browser so they probably don't match the ATV client. The fact still remains that some play and some don't. Here is the media info for two examples. I grabbed the stats for nerds from the browser so it's probably best to ignore the playback info. This one works: Playback Info Player: Html Video Player Play method: DirectStream Protocol: https Stream type: HLS Video Info Player dimensions: 2560x1334 Video resolution: 1280x720 Direct Stream Info Video codec: H264 (direct) Audio codec: AAC Original Media Info Container: mkv Bitrate: 2.8 Mbps Video codec: H264 High Video bitrate: 2.4 Mbps Audio codec: AC3 Audio bitrate: 384 kbps Audio channels: 6 Audio sample rate: 48000 Hz This one doesn't: Playback Info Player: Html Video Player Play method: DirectPlay Protocol: https Stream type: Video Video Info Player dimensions: 2560x1334 Video resolution: 1280x718 Original Media Info Container: mkv Bitrate: 4.4 Mbps Video codec: H264 High Video bitrate: 4.2 Mbps Audio codec: AAC LC Audio bitrate: 192 kbps Audio channels: 2 Audio sample rate: 48000 Hz Link to comment Share on other sites More sharing options...
pir8radio 1292 Posted October 17, 2017 Share Posted October 17, 2017 Thanks @@pir8radio - which country are you in out of interest? I do some pretty heavy GeoIP coming in from external so might need to drill some holes. Also - I've noticed there might be a bit more to this. I tried a bunch of other videos from the series that seem to cause issue, and it looks like some do actually play OK. Can anyone tell me what the difference between DirectPlay and DirectStream is? It looks like videos with DirectStream are working, whereby DirectPlay isn't. I'm in the US, If you get to that point where you want me to connect, I'll send you my actual IP... If you need me to connect from a specific country, I can do that too (fake IP)... Whatever is easier. Link to comment Share on other sites More sharing options...
mastrmind11 717 Posted October 17, 2017 Share Posted October 17, 2017 Actually - I'm confusing myself here. Those stats above were from when I tried to play the media from a browser so they probably don't match the ATV client. The fact still remains that some play and some don't. Here is the media info for two examples. I grabbed the stats for nerds from the browser so it's probably best to ignore the playback info. This one works: Playback Info Player: Html Video Player Play method: DirectStream Protocol: https Stream type: HLS Video Info Player dimensions: 2560x1334 Video resolution: 1280x720 Direct Stream Info Video codec: H264 (direct) Audio codec: AAC Original Media Info Container: mkv Bitrate: 2.8 Mbps Video codec: H264 High Video bitrate: 2.4 Mbps Audio codec: AC3 Audio bitrate: 384 kbps Audio channels: 6 Audio sample rate: 48000 Hz This one doesn't: Playback Info Player: Html Video Player Play method: DirectPlay Protocol: https Stream type: Video Video Info Player dimensions: 2560x1334 Video resolution: 1280x718 Original Media Info Container: mkv Bitrate: 4.4 Mbps Video codec: H264 High Video bitrate: 4.2 Mbps Audio codec: AAC LC Audio bitrate: 192 kbps Audio channels: 2 Audio sample rate: 48000 Hz The one that was Direct Streamed was a remux because it's multi-channel audio. The other one was Direct Played because it only has 2 channels of audio. A browser will usually cause a remux since they don't support multi channel audio. Link to comment Share on other sites More sharing options...
ebr 14944 Posted October 17, 2017 Share Posted October 17, 2017 Direct Stream - FFmpeg involved in some way and the item is going to be re-packaged and delivered to the app using HLS - a protocol specifically designed for live streaming of media. Direct Play - FFmpeg is not involved and the file is just statically (without modification as a normal file stream) delivered to the app via http. Your experience here is more support of my hypothesis that this has something to do with the way the file stream is being delivered/accepted when going through your reverse-proxy. Link to comment Share on other sites More sharing options...
FunkadelicRelic 10 Posted November 1, 2017 Author Share Posted November 1, 2017 Just replied this on my other thread, but I'll post a quick update here too. Bought a new Nvidia Shield TV (2017) and it works flawlessly! Happy days. Thanks everyone that contributed to the thread. 1 Link to comment Share on other sites More sharing options...
Luke 37139 Posted November 1, 2017 Share Posted November 1, 2017 Well done. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now