Jump to content

Fire TV stick, no playback


Recommended Posts

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()

Link to post
Share on other sites

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

Link to post
Share on other sites

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

 

Thanks.

Link to post
Share on other sites

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)

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

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

Link to post
Share on other sites

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).

Link to post
Share on other sites

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.

Link to post
Share on other sites

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?

Link to post
Share on other sites

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.

Link to post
Share on other sites
  • 1 month later...

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

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...