Jump to content
pentolino

Fire TV stick, no playback

Recommended Posts

pentolino

I bought the streaming option for my Emby app on the Fire TV Stick, but streaming doesn't work; no video is played.

The server is accessed through a reverse proxy on a ssh tunnel forwarded remote emby and everything works fine using the web browser (either using the Silk browser on the fire tv or any other pc).
I sent a log through the app at 13.46 CEST, local user is Riccardo.

I am pasting the server log for that call, lots of errors there; full log is attached as well.

I am using embty server 3.4.0 and latest app version.

2018-08-14 13:45:08.794 Info HttpServer: HTTP GET http://localhost:8096/favicon.ico. UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
2018-08-14 13:45:08.798 Info HttpServer: HTTP Response 200 to 192.168.2.183, 127.0.0.1. Time: 3ms. http://localhost:8096/favicon.ico 
2018-08-14 13:45:15.356 Info HttpServer: HTTP GET http://localhost:8096/emby/embywebsocket?deviceId=878450b053e24d0b. UserAgent: 
2018-08-14 13:45:15.357 Error HttpServer: Could not find handler for /emby/embywebsocket
2018-08-14 13:45:15.359 Info HttpServer: HTTP Response 404 to 192.168.2.168, 127.0.0.1. Time: 3ms. http://localhost:8096/emby/embywebsocket?deviceId=878450b053e24d0b 
2018-08-14 13:45:15.541 Info HttpServer: HTTP GET http://localhost:8096/emby/embywebsocket?deviceId=878450b053e24d0b. UserAgent: 
2018-08-14 13:45:15.542 Error HttpServer: Could not find handler for /emby/embywebsocket
2018-08-14 13:45:15.547 Info HttpServer: HTTP Response 404 to 192.168.2.168, 127.0.0.1. Time: 2ms. http://localhost:8096/emby/embywebsocket?deviceId=878450b053e24d0b 
2018-08-14 13:45:15.586 Info HttpServer: HTTP GET http://localhost:8096/emby/Users/1704b4c35b59459489bbc2b957a42519/Items?IsVirtualUnaired=false&Fields=MediaSources%2CMediaStreams%2CPath%2CChapters%2COverview%2CPrimaryImageAspectRatio&recursive=false&SortBy=SortName&IncludeItemTypes=Episode&MinIndexNumber=2&ParentId=927878faf8630c6bf668c9d6e56b0620&format=json. UserAgent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; AFTT Build/LVY48F)
2018-08-14 13:45:15.627 Info HttpServer: HTTP Response 200 to 192.168.2.168, 127.0.0.1. Time: 42ms. http://localhost:8096/emby/Users/1704b4c35b59459489bbc2b957a42519/Items?IsVirtualUnaired=false&Fields=MediaSources%2CMediaStreams%2CPath%2CChapters%2COverview%2CPrimaryImageAspectRatio&recursive=false&SortBy=SortName&IncludeItemTypes=Episode&MinIndexNumber=2&ParentId=927878faf8630c6bf668c9d6e56b0620&format=json 
2018-08-14 13:45:15.968 Info HttpServer: HTTP GET http://localhost:8096/emby/embywebsocket?deviceId=878450b053e24d0b. UserAgent: 
2018-08-14 13:45:15.969 Error HttpServer: Could not find handler for /emby/embywebsocket
2018-08-14 13:45:15.970 Info HttpServer: HTTP Response 404 to 192.168.2.168, 127.0.0.1. Time: 2ms. http://localhost:8096/emby/embywebsocket?deviceId=878450b053e24d0b 
2018-08-14 13:45:16.210 Info HttpServer: HTTP POST http://localhost:8096/emby/Items/208e061c6c8e71d00752566169be6567/PlaybackInfo?format=json. UserAgent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; AFTT Build/LVY48F)
2018-08-14 13:45:16.232 Error HttpServer: Error processing request
	*** Error Report ***
	Version: 3.4.0.0
	Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_amd64.deb
	Operating system: Unix 4.4.0.122
	64-Bit OS: True
	64-Bit Process: True
	User Interactive: True
	Processor count: 4
	Program data path: /var/lib/emby
	Application directory: /opt/emby-server/system
	System.ArgumentNullException: Value cannot be null.
	Parameter name: g
	   at System.Guid..ctor(String g)
	   at Emby.Server.Implementations.Library.UserManager.GetUserById(String id)
	   at Emby.Server.MediaEncoding.Api.MediaInfoService.<GetPlaybackInfo>d__17.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.MediaEncoding.Api.MediaInfoService.<Post>d__19.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Services.ServiceExecGeneral.<GetTaskResult>d__3.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Services.ServiceHandler.<ProcessRequestAsync>d__13.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.<RequestHandler>d__70.MoveNext()
	System.ArgumentNullException
	   at System.Guid..ctor(String g)
	   at Emby.Server.Implementations.Library.UserManager.GetUserById(String id)
	   at Emby.Server.MediaEncoding.Api.MediaInfoService.<GetPlaybackInfo>d__17.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.MediaEncoding.Api.MediaInfoService.<Post>d__19.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Services.ServiceExecGeneral.<GetTaskResult>d__3.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Services.ServiceHandler.<ProcessRequestAsync>d__13.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.<RequestHandler>d__70.MoveNext()

Share this post


Link to post
Share on other sites
Luke

Hi there, can you please attach the complete emby server log? thanks !

Share this post


Link to post
Share on other sites
pentolino

I think it didn't work before; let's see if it works now.

 

emby.txt.zip

Share this post


Link to post
Share on other sites
Luke

Is there any reason you're still on Emby Server 3.4 and not 3.5.2?

Share this post


Link to post
Share on other sites
pentolino

No particular reason, I just thought it was an app problem (as confirmed by trying with 3.5.2, log attached: nothing changed)

emby.txt.zip

Share this post


Link to post
Share on other sites
Luke

Are you certain you're running the latest version of the fire tv app?

Share this post


Link to post
Share on other sites
pentolino

1.6.15a, updated august 11th, 2018; as far as I know it's the latest

Share this post


Link to post
Share on other sites
Luke

Ok, we're looking into this, thanks.

Share this post


Link to post
Share on other sites
ebr

Hi.  Can you tell me exactly how you entered the app and how you logged into the user?

Share this post


Link to post
Share on other sites
pentolino

I entered the app from the homepage, standard "clic"; I have automatic login, since I don't need more than one user. The user is correctly displayed on app home page

Share this post


Link to post
Share on other sites
ebr

Can you please try turning off the auto login, then exiting the app and logging in manually and then see if it works?

 

Thanks.

Share this post


Link to post
Share on other sites
pentolino

I tried and still the same issue. I see from the stacktrace that the problem is missing user id; I guess the problem is that I am running without any kind of security, since the server is not on the internet (I only access it through ssh, so I have all the security I need)

Share this post


Link to post
Share on other sites
ebr

I tried and still the same issue. I see from the stacktrace that the problem is missing user id; I guess the problem is that I am running without any kind of security, since the server is not on the internet (I only access it through ssh, so I have all the security I need)

 

What, exactly, do you mean by "no security"?

 

Also, can you please turn on debug logging on your server, then re-start the server and reproduce the problem and post that server log?

 

Thanks.

Share this post


Link to post
Share on other sites
Luke

How is your proxy handing request headers for the remote client ip address? It looks like it's stuffing multiple values into the request header, separated by commas.

Share this post


Link to post
Share on other sites
pentolino

With "no security" I mean that there is only one user, the default one, and it has no password; that user is also admin.

As for the proxy configuration it is a virtualhost on apache2:

ProxyPass / http://localhost:8080/emby/
ProxyPassReverse / http://localhost:8080/emby/

So that this resolves correctly on the browser:

http://emby.alsette/web/index.html#!/home.html

(emby.alsette is the name of the virtualhost).

Debug log is attached

emby.txt.zip

Share this post


Link to post
Share on other sites
ebr

Is it possible for you to test this without the proxy involved?  It looks like something is stripping a lot of the data that should be getting sent as well as the odd IP address (including the loopback).

Share this post


Link to post
Share on other sites
Luke

Yes first I think it is best to do a test without the proxy, then let's go from there. Thanks.

Share this post


Link to post
Share on other sites
pentolino

I will try when I can, but if this is the case, why does every browser (including the standard one on the fire tv) work ok?

Share this post


Link to post
Share on other sites
Luke

Because different devices will react to different situations differently.

Share this post


Link to post
Share on other sites
ebr

And the browser may not actually be working exactly properly either.  I'd be interested to see a debug server log from browser playback as well.

 

Thanks.

Share this post


Link to post
Share on other sites
pentolino

The app is working if directly connected to the server (no ssh tunnel, same network); is the playback function on the app using UDP by any case? This would be enough to justify why it doesn't work through the ssh tunnel (which only passess TCP through). The apache proxy seems to have no noticeable effect; browser works with or without it and app just doesn't, regardless.

 

I will send you a debug log about the playback on the browser; would it be possible for the app to fall back to the same method the browser uses if the first try goes wrong? I guess mine is not a common setup, but it is definitely a secure option for remote viewing (given you have a fast enough internet connection of course); will it evere be supported?

Share this post


Link to post
Share on other sites
Luke

No i think the vpn is messing with the request headers. Check the one that i mentioned. thanks.

Share this post


Link to post
Share on other sites
pentolino

You didn't mention any specific header, which one(s) should I check? Also it's not a VPN, it's an ssh tunnel and it works at TCP level (bytes), not HTTP (text); I expect it to not know or do anything about headers.
The problem may be that the server is sending some value as the host (zotac.local) and the app expects it to be "emby.alsette". That is the host name is different if seen from the server or the app; for some reason this does not bother the browser though.

Share this post


Link to post
Share on other sites
Luke

see what it does with x-forwarded-for, x-realip,e tc.

Share this post


Link to post
Share on other sites
pentolino

I actually moved my emby server on the same LAN as the fire tv (for reasons not related to emby) and the app works as expected.
Sorry I didn't get back to you, but I had little time to check this this out and I just don't need that anymore.

Thanks for trying to help me anyway

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...