Jump to content

TVHeadend and Emby


egandt

Recommended Posts

egandt

I have TvHeadend working and after some recording issue with Emby using a playlist I thought I'd give it a try, but I stuck, I enabled the plugin, but all that does is give me access to the  recordings.

I want to have access to the live channels as well:

 

But when I try to add the list:

 http://user:password@10.120.25.XX:9981/tvheadend/playlist/channels.m3u
or
http://user:password@10.120.25.XX:9981/tvheadend/playlist

I'm unable to to save "There was an error saving the TV provider. Please ensure it is accessible and try again"

 

 I'm unable to get past this to use TVHeadend as the provider.

2019-03-10 15:52:38.523 Info HttpClient: Found userInfo in url: /user:password ... url: http:/user:password@10.120.25.XX:9981/tvheadend/playlist/channels.m3u
2019-03-10 15:52:38.523 Info HttpClient: GET http:///user:password@10.120.25.XX:9981/tvheadend/playlist/channels.m3u
2019-03-10 15:52:38.526 Error HttpServer: Error processing request
        *** Error Report ***
        Version: 4.0.2.0
        Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
        Operating system: Unix 4.15.0.46
        64-Bit OS: True
        64-Bit Process: True
        User Interactive: True
        Processor count: 8
        Program data path: /config
        Application directory: /system
        MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: Unauthorized
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.Get(HttpRequestOptions options)
           at Emby.LiveTV.TunerHosts.M3UTunerHost.Validate(TunerHostInfo info)
           at Emby.LiveTV.LiveTvManager.SaveTunerHost(TunerHostInfo info, Boolean dataSourceChanged)
           at MediaBrowser.Api.LiveTv.LiveTvService.Post(AddTunerHost request)
           at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
           at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
           at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
        Source: Emby.Server.Implementations
        TargetSite: Void MoveNext()
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.Get(HttpRequestOptions options)
           at Emby.LiveTV.TunerHosts.M3UTunerHost.Validate(TunerHostInfo info)
           at Emby.LiveTV.LiveTvManager.SaveTunerHost(TunerHostInfo info, Boolean dataSourceChanged)
           at MediaBrowser.Api.LiveTv.LiveTvService.Post(AddTunerHost request)
           at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
           at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
           at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)

Now obviously security is needed to access TVheadend and this URL works fine in a browser,so is this a product issue with Emby there is no place to include a field for username/password.  Is there a work around?

 

 

I even tried removing all security from local networks so that: http://10.120.25.xx:9981/tvheadend/playlist/ works from a local browser or wget without a password, but again not from Emby.

2019-03-10 16:07:01.657 Info HttpClient: GET http://10.120.25.xx:9981/tvheadend/playlist/channels.m3u
2019-03-10 16:07:01.659 Error HttpServer: Error processing request
        *** Error Report ***
        Version: 4.0.2.0
        Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
        Operating system: Unix 4.15.0.46
        64-Bit OS: True
        64-Bit Process: True
        User Interactive: True
        Processor count: 8
        Program data path: /config
        Application directory: /system
        MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: Unauthorized
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.Get(HttpRequestOptions options)
           at Emby.LiveTV.TunerHosts.M3UTunerHost.Validate(TunerHostInfo info)
           at Emby.LiveTV.LiveTvManager.SaveTunerHost(TunerHostInfo info, Boolean dataSourceChanged)
           at MediaBrowser.Api.LiveTv.LiveTvService.Post(AddTunerHost request)
           at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
           at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
           at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
        Source: Emby.Server.Implementations
        TargetSite: Void MoveNext()
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.Get(HttpRequestOptions options)
           at Emby.LiveTV.TunerHosts.M3UTunerHost.Validate(TunerHostInfo info)
           at Emby.LiveTV.LiveTvManager.SaveTunerHost(TunerHostInfo info, Boolean dataSourceChanged)
           at MediaBrowser.Api.LiveTv.LiveTvService.Post(AddTunerHost request)
           at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
           at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
           at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)


No now I'm completely lost.

Edited by egandt
Link to comment
Share on other sites

egandt

I figured out the cause, the problem is to do with Docker, as both Emby and Tvheadend are running in docker I had to also allow the address 172.19.0.0/24 as unpassworded (Internal IP's for the docker containers).  Still would be nice to be able to pass a passworded URL for m3u's, more secure that way.

Link to comment
Share on other sites

  • 1 year later...

I figured out the cause, the problem is to do with Docker, as both Emby and Tvheadend are running in docker I had to also allow the address 172.19.0.0/24 as unpassworded (Internal IP's for the docker containers).  Still would be nice to be able to pass a passworded URL for m3u's, more secure that way.

 

Hi egandt,

 

I'm having almost the same issue as you described, the only difference is that I have both Emby and Tvheadend on a macvlan network, can I ask where did you allow the subnet as unpassworded? I looked everywhere on Tvheadend and wasn't able to find that setting.

 

Thanks! 

Link to comment
Share on other sites

Q-Droid

In TVH you create a no-auth user '*' without a password. In that user's details you can restrict access by subnet.

Link to comment
Share on other sites

In TVH you create a no-auth user '*' without a password. In that user's details you can restrict access by subnet.

 Thanks Q-Droid,

 

I already had that "*" user without password, the only difference was that I had the allowed networks set to 0.0.0.0/0,::/0... After modifying everything I could think of I finally recreated the macvlan network and everything start working :facepalm:

 

Thanks again for your time guys!

 

Best regards,

Link to comment
Share on other sites

  • 1 month later...
muppets4
On 4/24/2020 at 8:59 PM, Q-Droid said:

In TVH you create a no-auth user '*' without a password. In that user's details you can restrict access by subnet.

Reviving an older post, but having the same problem I think. I made a user named *. The option to set a password or not I cannot find in the user settings?

My network is a standard 192.168.1.x network. What do I fill in at allowed networks? My Synology has 192.168.1.17 for example.

Link to comment
Share on other sites

6 hours ago, muppets4 said:

Reviving an older post, but having the same problem I think. I made a user named *. The option to set a password or not I cannot find in the user settings?

My network is a standard 192.168.1.x network. What do I fill in at allowed networks? My Synology has 192.168.1.17 for example.

It would be in TVH settings, not the TVH plugin for Emby.

Link to comment
Share on other sites

Q-Droid
7 hours ago, muppets4 said:

Reviving an older post, but having the same problem I think. I made a user named *. The option to set a password or not I cannot find in the user settings?

My network is a standard 192.168.1.x network. What do I fill in at allowed networks? My Synology has 192.168.1.17 for example.

In TVH UI the user accounts (Access Entries) and the Passwords are separate tabs. An account without a corresponding entry in the Passwords tab does not need a password to access TVH.

The default value for Allowed Networks is "0.0.0.0/0,::/0", unrestricted access by network and a safe option for home LANs.

 

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