Jump to content

Fire TV can't connect to Emmy / Docker


Daniel8192

Recommended Posts

Daniel8192

This is just dumb.   Configured Emby in Docker (docker-compose) along with TVHeadend.  Simple enough.

Paid for a one month licence so TV would work.  

From Emby webpages, TV from my 4 USB tuners via TVHeadend and Movies all there.

//There was some magic getting TVHeadend to work with my 4 usb tuners and figure out how to get all the channels detected and configured with the guide.  //

Set up seemed pretty straight forward, defined what my local network is, put in LAN class C as well as the Docker class C.. 172 something.

From Fire TV, the login logs on Emby show my single user was authenticated.  but the Fire TV app just sat there not doing anything, then finally complained of a timeout.

Bah..  went back to Emby, tried setting an IP of the base machine,  in case Emby was communicating back to the client to connect on 172... 

Still nada.

Stopped and restarted the containers, still nada.

Yes, I am properly publishing ports in Docker, and can connect with a browser just fine.  There is no magic here, networking under Docker is simple.  Been doing it for years.

Tried using the Connect service, set that up, tried the PIN method. Emmy site said PIN was verified, app on Fire TV, same.  Timeout.

Shutdown the Emmy/TVHeadend, fired my Plex backup, everything connects, bliss.

Any thoughts?  

Link to comment
Share on other sites

Daniel8192

Yeah, I know, spellcheck changes Emby to Emmy.

 

Here's some logs of the events.

2023-08-05 00:44:08.146 Info Server: http/1.1 POST http://‌‍‍192.168.249.10‌:8096/emby/Users/AuthenticateByName?format=json. Connection=keep-alive, Host=‌‍‍192.168.249.10:8096‌, User-Agent=Dalvik/2.1.0 (Linux; U; Android 7.1.2; AFTMM Build/NS6297), Accept-Encoding=gzip, Content-Type=application/x-www-form-urlencoded; charset=UTF-8, Content-Length=115, X-Emby-Device-Id=a42ed001d8a6a4f6, X-Emby-Client=AndroidTv, X-Emby-Client-Version=2.0.79a, X-Emby-Device-Name=Man%20Cave%20Fire%20TV

2023-08-05 00:44:08.158 Info UserManager: Authentication request for Daniel has succeeded.

2023-08-05 00:44:08.159 Info SessionManager: Creating new access token for user 1

2023-08-05 00:44:08.168 Info Server: http/1.1 Response 200 to ‌‍‍192.168.249.129‌. Time: 22ms. POST http://‌‍‍192.168.249.10‌:8096/emby/Users/AuthenticateByName?format=json

2023-08-05 00:44:38.350 Info Server: http/1.1 POST http://‌‍‍192.168.249.10‌:8096/emby/Sessions/Capabilities/Full. UserAgent: Dalvik/2.1.0 (Linux; U; Android 7.1.2; AFTMM Build/NS6297)

2023-08-05 00:44:38.356 Error Server: Error processing request

*** Error Report ***

Version: 4.8.0.39

Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3

Operating system: Linux version 5.15.0-78-generic (buildd@lcy02-amd64-008) (gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #85-Ubun

Framework: .NET 6.0.14

OS/Process: x64/x64

Runtime: system/System.Private.CoreLib.dll

Processor count: 4

Data path: /config

Application path: /system

Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Unexpected end of request content.

  at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1ContentLengthMessageBody.ReadAsyncInternal(CancellationToken cancellationToken)

  at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)

  at System.IO.Pipelines.PipeReader.CopyToAsyncCore[TStream](TStream destination, Func`4 writeAsync, CancellationToken cancellationToken)

  at ServiceStack.StreamExtensions.CopyToNewMemoryStreamAsync(Stream stream) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack.Text/src/ServiceStack.Text/StreamExtensions.cs:line 673

  at ServiceStack.Text.NetCoreMemory.DeserializeAsync(Stream stream, Type type, DeserializeStringSpanDelegate deserializer) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack.Text/src/ServiceStack.Text/NetCoreMemory.cs:line 175

  at Emby.Server.Implementations.Services.ServiceHandler.CreateRequest(HttpListenerHost host, IRequest httpReq, RestPath restPath)

  at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken)

  at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)

Source: Microsoft.AspNetCore.Server.Kestrel.Core

TargetSite: Void Throw(Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.RequestRejectionReason)

 

2023-08-05 00:44:38.356 Info Server: http/1.1 Response 500 to ‌‍‍192.168.249.129‌. Time: 6ms. POST http://‌‍‍192.168.249.10‌:8096/emby/Sessions/Capabilities/Full

2023-08-05 00:45:15.218 Info Server: http/1.1 POST http://‌‍‍192.168.249.10‌:8096/emby/Users/9c0ff859c5d844989d55e9b33a8d2d56/Password?X-Emby-Client=Emby Web&X-Emby-Device-Name=Chrome macOS&X-Emby-Device-Id=TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzExNS4wLjAuMCBTYWZhcmkvNTM3LjM2fDE2OTExODExNTU0MDE1&X-Emby-Client-Version=4.8.0.39&X-Emby-Token=‌0ea532ec3b804499a4513fa97b2a7f5d‌&X-Emby-Language=en-us. UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36

2023-08-05 00:45:15.226 Info SessionManager: Logging out access token 50547ce09ec34af8a0935f35cf0c0484

2023-08-05 00:45:36.931 Info Server: http/1.1 POST http://‌‍‍192.168.249.10‌:8096/emby/Users/9c0ff859c5d844989d55e9b33a8d2d56/Configuration?X-Emby-Client=Emby Web&X-Emby-Device-Name=Chrome macOS&X-Emby-Device-Id=TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzExNS4wLjAuMCBTYWZhcmkvNTM3LjM2fDE2OTExODExNTU0MDE1&X-Emby-Client-Version=4.8.0.39&X-Emby-Token=‌0ea532ec3b804499a4513fa97b2a7f5d‌&X-Emby-Language=en-us&reqformat=json. UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36

2023-08-05 00:45:41.581 Warn SessionWebSocketListener: Unable to determine session based on url: /emby/embywebsocket?api_key=null&deviceId=a42ed001d8a6a4f6

Link to comment
Share on other sites

Hi.  Is there any kind of proxy involved or security watchdog software?

The above looks like something is interfering with the data being passed from the app.  We've seen this in the past when a proxy was not forwarding all the information properly.

Link to comment
Share on other sites

Daniel8192

Hi Ebr, no.  The set up is simple.  The TV server is Ubuntu 20:04 LTS very clean install with Docker./Docker-Compose.  The same machine runs Plex just fine (albeit, not at the same time), no grief.   I can web browse to it from my desk machine.  

 

// Hmm.. I guess I could run at the same time and do a nice side by side compare, could give TV tuners adapter0 and 1 to Plex and adapter2 and 3 to TVHeadend

 

Home n/w is: 

Fibre ONT -> Fortinet 60E -> TPLink Deco WIFI Head mesh unit -> Ethernet to 2nd & 3rd & 4th -> Desk machine connects fine, Fire TV has grief.

                                               -> Various servers plugged into Fortinet ports

                                               -> Unmanaged Ethernet switch -> 1932-TV

1932-TV has reserved IP, Desk machine and Fire TV do not, they will get ...100+ IP

All client machines (desktops, tablets, phones, Fire TVs, some cams, etc) are WIFI,

Most services (except a few cams - NAS, Camera base, Automation, VPN, etc) all wired.

All firewall rules are about the front door.

 

Here's my docker-compose file:

daniel@1932-TV:~$ cat docker-compose.yaml

version: "2.3"

services:

  emby:

    image: emby/embyserver:beta

    container_name: emby

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Etc/UTC

    volumes:

      - /var/lib/embyserver/config:/config

      - /var/lib/embyserver/tvshows:/data/tvshows

      - /mnt/NAS_SambaPlex/movies:/data/movies

      - /opt/vc/lib:/opt/vc/lib

    ports:

      - 8096:8096

      - 8920:8920

    #restart: unless-stopped

 

  tvheadend:

    image: lscr.io/linuxserver/tvheadend:latest

    container_name: tvheadend

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Etc/UTC

      - RUN_OPTS= #optional

    volumes:

      - /var/lib/tvheadend/config:/config

      - /var/lib/tvheadend/recordings:/recordings

    ports:

      - 9981:9981

      - 9982:9982

    devices:

      - /dev/dvb:/dev/dvb # 4 usb tuners -> adapter0 - 3

 

Link to comment
Share on other sites

Daniel8192

Thanks Luke,

But.. the PIA factor is a wee too high. It may be more attractive to try and get working in Emby had native support for my USB tuners.  I've been watching Emmy for quite a few years waiting for it, and using TVHeadend is only successful to a point.  As it is, I only committed to a month of $.

I turned my energy to tricking out my Plex system.

Have a great day! 

Link to comment
Share on other sites

  • 2 weeks later...
On 8/5/2023 at 10:59 PM, Daniel8192 said:

 

I turned my energy to tricking out my Plex system.

 

Hi, wouldn't you rather have a personal media server though? I wasn't asking you to sideload the app permanently, but rather just try it once for comparison purposes. Thanks !

Link to comment
Share on other sites

Daniel8192

Hi Luke, My Plex is my personal media server.  I have my movies, my tv series all loaded onto my NAS which my Plex mounts and serves up, additionally I have 42 OTA channels through my tuners on my Plex server, as well as providing the EPG.

I look at Emby every couple years, but Emby on Linux can't use my USB TV tuners and I need to use something like TVHeadend.  I understand Emby on Windows can use them - it's not that I am anti-Windows, I just don't run it, not for desktop, and really not for a server.  

I gave it a day or two of testing, but the time slot is gone.  Next year I'll look at it again.

image.png.179ea436d17b7351d58e946ef36bd44f.png

Link to comment
Share on other sites

4 hours ago, Daniel8192 said:

Hi Luke, My Plex is my personal media server.  I have my movies, my tv series all loaded onto my NAS which my Plex mounts and serves up, additionally I have 42 OTA channels through my tuners on my Plex server, as well as providing the EPG.

I look at Emby every couple years, but Emby on Linux can't use my USB TV tuners and I need to use something like TVHeadend.  I understand Emby on Windows can use them - it's not that I am anti-Windows, I just don't run it, not for desktop, and really not for a server.  

I gave it a day or two of testing, but the time slot is gone.  Next year I'll look at it again.

image.png.179ea436d17b7351d58e946ef36bd44f.png

With the amount of information they keep about you and your server, it's hard to really call it personal though.

Link to comment
Share on other sites

Daniel8192

Hey come on, let’s keep this real. Plex knows the IP of my server, unless I block it. And knows my userId and email address.   Much like what Emby knows about me. 
 

Plex has no clue what content I have on my server.  
 

A more compelling way to gain my interest is to support my UBS tuners on ‘nix.

 

Link to comment
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...