Jump to content

Tvheadend plugin for Emby - Beta 1


Tolotos

Recommended Posts

DeBaschdi

Ah danke, Englisch ist nicht gerade meine stärke :)

Zu deiner Frage,
Ja ich nutze die Channel Picon Funktion in Tvheadend, zusätzlich enthält mein EPG (xml) Poster Bilder.
Kodi beispielsweise holt sich beides, also das Kanallogo ,+ Poster der jeweiligen Sendung.
Emby hat früher (als es noch halbwegs funktionierte) nur die Poster bezogen, aber fälschlicherweise als Kanallogo angezeigt.

 

post-184150-0-26768300-1552574123_thumb.jpg

post-184150-0-43046100-1552574139_thumb.jpg

Edited by DeBaschdi
Link to comment
Share on other sites

Gerrit507

Ich verstehe. Was wird bei dir angezeigt auf http://tv-server/imagecache/<channelid>

 

tv-server dementsprechend durch die ip deines tvh-servers ersetzen und channelid z.B. 1.

 

Könntest du außerdem noch ein log von emby hochladen, bei dem du die Kanalübersicht aufrufst?

Edited by Gerrit507
Link to comment
Share on other sites

DeBaschdi

Bekommst du morgen Früh, leider komme ich heute nicht mehr an den PC.

Danke für deine Mühen, muss ja nicht so bissig sein. (vllt kam meine Bugmeldung auch falsch rüber?) sry

Link to comment
Share on other sites

Gerrit507

Bekommst du morgen Früh, leider komme ich heute nicht mehr an den PC.

Danke für deine Mühen, muss ja nicht so bissig sein. (vllt kam meine Bugmeldung auch falsch rüber?) sry

Kein Ding. Wie gesagt, ein plugin für tvh zu entwickeln ist ein Alptraum. Ich bin froh, dass wir es überhaupt wieder funktionierend hinbekommen haben und solange alles geht möchte ich am plugin ungern was ändern :D

  • Like 1
Link to comment
Share on other sites

DeBaschdi

Einen wunderschönen guten Morgen.

Ich hab mich gleich als erstes mal daran gesetzt um deine gewünschten Infos zu bekommen.

 

Beim "neu"einlesen der Channels steht folgendes im Log :

2019-03-15 04:50:12.230 Info App: [TVHclient] ChannelDataHelper: Adding channel 

HTSMessage:
  <dump>
    channelId : 388322471
    channelNumber : 4
    channelName : RTL HD
    channelIcon : imagecache/13146
    eventId : 383131
    nextEventId : 383132
    services : 
HTSMessage:
  <dump>
    name : Astra/10832.25H/RTL HD
    type : HDTV
    content : 1
    caid : 65535
    caname : Verschlüsselter Service
    hbbtv : 
HTSMessage:
  <dump>
    0 : 
HTSMessage:
  <dump>
    title : 
HTSMessage:
  <dump>
    name : RTL Startleiste
    lang : deu
  </dump>

, 
    url : http://cdn.digitaltext.rtl.de/launchbar/index.html
    visibility : all
  </dump>

Anschließend, sobald er anfängt das EPG zu beziehen folgendes :

HTSMessage:
  <dump>
    eventId : 383665
    channelId : 26609453
    start : 1552668600
    stop : 1552669800
    title : DuckTales
    description : 2017 
Animationsserie. Tick,Trick und Track sind bei Dagobert Duck zu Besuch. Dort kommen die Brüder einem grossen Geheimnis auf die Spur und suchen nach dem geheimnisvollen Atlantis!

Categories: children's / youth programs, entertainment programs for 6 to 14, series
    subtitle : Die Suche nach Atlantis
    category : children's / youth programs, entertainment programs for 6 to 14, series, 
    contentType : 82
    copyrightYear : 2017
    seasonNumber : 1
    episodeNumber : 2
    image : http://[::ffff:127.0.0.1]:9981/tvheadend/imagecache/52089
    nextEventId : 383666
  </dump>

Aufruf des Imagecaches http://localhost:9981/tvheadend/imagecache/13125 funktioniert, und zeigt mir das Channelicon im Browser an.

Auch der Posterabruf http://[::ffff:127.0.0.1]:9981/tvheadend/imagecache/52089 funktioniert im Browser und zeigt auch das Poster an.

Bei beiden bezügen musste ich Username+Kennwort eingeben.

(Nicht verwundern, mein TVH Webroot ist /tvheadend. Ich verwende mehrere Serverdienste und separiere in jeweilige Webroots, das ganze geht anschließend über mein reverse Proxy um von außen https verwenden zu können.)

 

Aufruf imagecache Channelnumber läuft bei mir ins leere. Das Channellogo von ARD (channelid 1) hat http://localhost:9981/tvheadend/imagecache/13139.

 

Das Logfile "nach dem einlesen" beinhaltet den aufruf der Kanalübersicht

 

Zusätzlich zu dem Image Bug habe ich 2 UHD  Kanäle in meiner Kanalliste, leider tauchen diese überhaupt nicht in Emby auf :)

Edited by DeBaschdi
Link to comment
Share on other sites

Gerrit507
2019-03-15 05:09:19.567 Info HttpClient: GET http://emby-server:bastian1985@127.0.0.1:9981/tvheadend/imagecache/13147
2019-03-15 05:09:19.575 Error HttpServer: Error processing request
	*** Error Report ***
	Version: 4.0.2.0
	Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -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.15.0.42
	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
	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 MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.ProcessImage(ImageProcessingOptions options, CancellationToken cancellationToken)
	   at MediaBrowser.Api.Images.ImageService.GetImageResult(BaseItem item, Int64 itemId, ImageRequest request, ItemImageInfo image, Boolean cropwhitespace, ImageFormat[] supportedFormats, IImageEnhancer[] enhancers, Nullable`1 cacheDuration, IDictionary`2 headers, Boolean isHeadRequest, CancellationToken cancellationToken)
	   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 MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.ProcessImage(ImageProcessingOptions options, CancellationToken cancellationToken)
	   at MediaBrowser.Api.Images.ImageService.GetImageResult(BaseItem item, Int64 itemId, ImageRequest request, ItemImageInfo image, Boolean cropwhitespace, ImageFormat[] supportedFormats, IImageEnhancer[] enhancers, Nullable`1 cacheDuration, IDictionary`2 headers, Boolean isHeadRequest, CancellationToken cancellationToken)
	   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)
	

Unauthorized beim Abruf der channel icons.

 

Kannst du bitte einen Screenshot der Berechtigungen des emby-server Benutzers in TvHedenend hochladen?

 

Bei Unauthorized in diesem Fall liegt das eigentlich meistens daran, dass digest statt plain authentication verwendet wird oder dem Benutzer die Berechtigung "Web interface" fehlt.

Link to comment
Share on other sites

DeBaschdi

Naklar

 

post-184150-0-15110400-1552703517_thumb.jpg

post-184150-0-31870200-1552703541_thumb.jpg

 

Die Berechtigung Webinterface hatte ich neu hunzugefügt, war bisher nicht aktiviert. 

Geht aber trotzdem nich.

Edited by DeBaschdi
Link to comment
Share on other sites

DeBaschdi

Das Kuriose, ich hatte nie was an den Berechtigungen geändert, (anfangs ging es ja teilweise)

,jetzt steht das da :

Für meine leihenhaften Augen das selbe :)

2019-03-17 06:06:38.727 Info HttpClient: Found userInfo in url: emby-server:testpw2 ... url: http://emby-server:testpw2@127.0.0.1:9981/tvheadend/imagecache/13132
2019-03-17 06:06:38.727 Info HttpClient: GET http://emby-server:testpw2@127.0.0.1:9981/tvheadend/imagecache/13132
2019-03-17 06:06:38.729 Error HttpServer: Error processing request
	*** Error Report ***
	Version: 4.0.2.0
	Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -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.15.0.42
	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
	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 MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.ProcessImage(ImageProcessingOptions options, CancellationToken cancellationToken)
	   at MediaBrowser.Api.Images.ImageService.GetImageResult(BaseItem item, Int64 itemId, ImageRequest request, ItemImageInfo image, Boolean cropwhitespace, ImageFormat[] supportedFormats, IImageEnhancer[] enhancers, Nullable`1 cacheDuration, IDictionary`2 headers, Boolean isHeadRequest, CancellationToken cancellationToken)
	   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 MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.ProcessImage(ImageProcessingOptions options, CancellationToken cancellationToken)
	   at MediaBrowser.Api.Images.ImageService.GetImageResult(BaseItem item, Int64 itemId, ImageRequest request, ItemImageInfo image, Boolean cropwhitespace, ImageFormat[] supportedFormats, IImageEnhancer[] enhancers, Nullable`1 cacheDuration, IDictionary`2 headers, Boolean isHeadRequest, CancellationToken cancellationToken)
	   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)
Edited by DeBaschdi
Link to comment
Share on other sites

  • 3 weeks later...
Gerrit507

 

Das Kuriose, ich hatte nie was an den Berechtigungen geändert, (anfangs ging es ja teilweise)

,jetzt steht das da :

Für meine leihenhaften Augen das selbe :)

2019-03-17 06:06:38.727 Info HttpClient: Found userInfo in url: emby-server:testpw2 ... url: http://emby-server:testpw2@127.0.0.1:9981/tvheadend/imagecache/13132
2019-03-17 06:06:38.727 Info HttpClient: GET http://emby-server:testpw2@127.0.0.1:9981/tvheadend/imagecache/13132
2019-03-17 06:06:38.729 Error HttpServer: Error processing request
	*** Error Report ***
	Version: 4.0.2.0
	Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -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.15.0.42
	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
	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 MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.ProcessImage(ImageProcessingOptions options, CancellationToken cancellationToken)
	   at MediaBrowser.Api.Images.ImageService.GetImageResult(BaseItem item, Int64 itemId, ImageRequest request, ItemImageInfo image, Boolean cropwhitespace, ImageFormat[] supportedFormats, IImageEnhancer[] enhancers, Nullable`1 cacheDuration, IDictionary`2 headers, Boolean isHeadRequest, CancellationToken cancellationToken)
	   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 MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.ProcessImage(ImageProcessingOptions options, CancellationToken cancellationToken)
	   at MediaBrowser.Api.Images.ImageService.GetImageResult(BaseItem item, Int64 itemId, ImageRequest request, ItemImageInfo image, Boolean cropwhitespace, ImageFormat[] supportedFormats, IImageEnhancer[] enhancers, Nullable`1 cacheDuration, IDictionary`2 headers, Boolean isHeadRequest, CancellationToken cancellationToken)
	   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)

Sorry für die späte Rückmeldung.

 

Also deine Einstellungen passen eigentlich. Hat sich das Problem mittlerweile gelöst?

Link to comment
Share on other sites

DeBaschdi

Hi, nein leider nicht... ich habs aufgegeben.

Wäre vielleicht eine idee eine kostenlose testphase zur verfügung zu stellen.

Ich hab mein livetime für null mehrwert bezahlt.

Aber gut... vllt klappt das ja irgentwann.

Ich nutze jetzt kodi mit einem vaapi profil für unterwegs, oder auf dem laufband :)

Geht auch...

Link to comment
Share on other sites

  • 1 month later...
bensembyadventures

Hope I've found the English forum for my query..

 

I've just installed Emby (on my Win10 PC) and the Tvheadend plugin but am having some issues connecting to Tvheadend. I am a complete newby to this world so assumed that the plugin was a 1 stop shop, but wanted to clarify before proceeding:

 

Do I need to run up a Linux VM to run Tvheadend or am I just doing something wrong?

 

Thanks all.

Link to comment
Share on other sites

Hope I've found the English forum for my query..

 

I've just installed Emby (on my Win10 PC) and the Tvheadend plugin but am having some issues connecting to Tvheadend. I am a complete newby to this world so assumed that the plugin was a 1 stop shop, but wanted to clarify before proceeding:

 

Do I need to run up a Linux VM to run Tvheadend or am I just doing something wrong?

 

Thanks all.

 

Hi, I believe TVHeadEnd can only be installed on Linux but I'm not sure. You may want to check their website.

 

What kind of TV tuner do you have?

Link to comment
Share on other sites

bensembyadventures

Hi, I believe TVHeadEnd can only be installed on Linux but I'm not sure. You may want to check their website.

 

What kind of TV tuner do you have?

 

None. Was hoping to just stream it. I found this post that I was going to follow once I get TVHE setup: https://emby.media/community/index.php?/topic/66744-easy-emby-australian-tv-channels-iptv-and-epg-for-australian-users/

Link to comment
Share on other sites

  • 2 weeks later...
nebster

@@Luke I've found some bugs either with Emby or the plugin (I am using Emby Server 4.1.1.0 on an NVIDIA Shield TV):

 

1. I get this error when going to the home screen with a web browser:

2019-06-08 15:08:44.988 Error ChannelManager: Error creating channel
	*** Error Report ***
	Version: 4.1.1.0
	Command line: /data/app/com.emby.embyserver-j4pwWV-SIpNAn4hD1BJinw==/base.apk
	Operating system: Unix 4.9.109.574074
	64-Bit OS: True
	64-Bit Process: True
	User Interactive: False
	Runtime: file:///mscorlib.dll
	Processor count: 4
	Program data path: /storage/emulated/0/Android/data/com.emby.embyserver/files
	Application directory: /data/user/0/com.emby.embyserver
	Mono: 5.14.0 (explicit/62031dcabf4)
	Android Version: 8.0.0-REL - SDK: 26 'O'
	Patch Level: 3507953_1465.4529_2 (2018-12-05)
	Fingerprint: NVIDIA/darcy/darcy:8.0.0/OPR6.170623.010/3507953_1465.4529_2:user/release-keys
	Model: SHIELD Android TV - NVIDIA/NVIDIA
	Hardware: darcy/darcy/darcy/unknown
	SupportedAbis: arm64-v8a, armeabi-v7a, armeabi
	SQLitePCL.pretty.SQLiteException: Constraint: FOREIGN KEY constraint failed
	SQLitePCL.pretty.SQLiteException: Exception of type 'SQLitePCL.pretty.SQLiteException' was thrown.
	  at SQLitePCL.pretty.SQLiteException.CheckOk (SQLitePCL.sqlite3 db, System.Int32 rc) [0x00017] in <a7b50c3af6fb4394800c2a95b825777a>:0 
	  at SQLitePCL.pretty.SQLiteException.CheckOk (SQLitePCL.sqlite3_stmt stmt, System.Int32 rc) [0x00006] in <a7b50c3af6fb4394800c2a95b825777a>:0 
	  at SQLitePCL.pretty.StatementImpl.MoveNext () [0x0004a] in <a7b50c3af6fb4394800c2a95b825777a>:0 
	  at Emby.Server.Implementations.Data.SqliteItemRepository.UpdateAncestors (System.Int64 itemId, System.Collections.Generic.List`1[T] ancestorIds, SQLitePCL.pretty.IDatabaseConnection db, SQLitePCL.pretty.IStatement deleteAncestorsStatement) [0x000db] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	  at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItemsInTranscation (SQLitePCL.pretty.IDatabaseConnection db, System.Collections.Generic.List`1[T] tuples) [0x000c9] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	  at Emby.Server.Implementations.Data.SqliteItemRepository+<>c__DisplayClass45_0.<SaveItems>b__0 (SQLitePCL.pretty.IDatabaseConnection db) [0x00000] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	  at SQLitePCL.pretty.DatabaseConnection+<>c__DisplayClass20_0.<RunInTransaction>b__0 (SQLitePCL.pretty.IDatabaseConnection db) [0x00000] in <a7b50c3af6fb4394800c2a95b825777a>:0 
	  at SQLitePCL.pretty.DatabaseConnection.RunInTransaction[T] (SQLitePCL.pretty.IDatabaseConnection This, System.Func`2[T,TResult] f, SQLitePCL.pretty.TransactionMode mode) [0x00063] in <a7b50c3af6fb4394800c2a95b825777a>:0 
	  at SQLitePCL.pretty.DatabaseConnection.RunInTransaction (SQLitePCL.pretty.IDatabaseConnection This, System.Action`1[T] action, SQLitePCL.pretty.TransactionMode mode) [0x0001b] in <a7b50c3af6fb4394800c2a95b825777a>:0 
	  at Emby.Sqlite.ManagedConnection.RunInTransaction (System.Action`1[T] action, SQLitePCL.pretty.TransactionMode mode) [0x00000] in <918b38c4a304417e9492a8444a8b00f2>:0 
	  at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItems (System.Collections.Generic.List`1[T] items, System.Threading.CancellationToken cancellationToken) [0x000fb] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	  at Emby.Server.Implementations.Library.LibraryManager.CreateItems (System.Collections.Generic.List`1[T] items, MediaBrowser.Controller.Entities.BaseItem parent, System.Threading.CancellationToken cancellationToken) [0x00006] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	  at Emby.Server.Implementations.Library.LibraryManager.CreateItem (MediaBrowser.Controller.Entities.BaseItem item, MediaBrowser.Controller.Entities.BaseItem parent) [0x00013] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	  at Emby.Server.Implementations.Channels.ChannelManager+<GetChannel>d__41.MoveNext () [0x0010a] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at Emby.Server.Implementations.Channels.ChannelManager+<GetChannelEntity>d__44.MoveNext () [0x000a6] in <fde33dc083004d96a63cf2129ad12dfb>:0 
	Source: mscorlib
	TargetSite: Void Throw()

I believe you mentioned somewhere else in the forum that this will be fixed in the next release.

 

 

 

2. I get a "System.NullReferenceException" when I click "Refresh Guide Data". I traced this back to your "Assembly.getEntryAssembly()" call which is null on the NVIDIA Shield TV.

By applying the following patch I worked around the issue to try and get this plugin working:

diff --git i/TVHeadEnd/HTSConnectionHandler.cs w/TVHeadEnd/HTSConnectionHandler.cs
index 26ae5ed..8041d41 100644
--- i/TVHeadEnd/HTSConnectionHandler.cs
+++ w/TVHeadEnd/HTSConnectionHandler.cs
@@ -308,8 +308,8 @@ private void ensureConnection()
             if (_htsConnection == null || _htsConnection.needsRestart())
             {
                 _logger.Info("[TVHclient] HTSConnectionHandler.ensureConnection() : create new HTS-Connection");
-                Version version = Assembly.GetEntryAssembly().GetName().Version;
-                _htsConnection = new HTSConnectionAsync(this, "TVHclient4Emby-" + version.ToString(), "" + HTSMessage.HTSP_VERSION, _logger);
+                // Version version = Assembly.GetEntryAssembly().GetName().Version;
+                _htsConnection = new HTSConnectionAsync(this, "TVHclient4Emby-testing", "" + HTSMessage.HTSP_VERSION, _logger);
                 _connected = false;
             }

One of the solutions here may help you find a proper solution:

https://stackoverflow.com/questions/14165785/i-need-an-alternative-to-assembly-getentryassembly-that-never-returns-null

 

 

 

3. There are huge amounts of "[TVHclient] GetEventsResponseHandler.handleResponse: add event" log lines when refreshing the guide. Over 100 million for me. Might be worth turning off that line or reduce it from "Info" to "Debug".

 

 

 

4. When viewing the live tv channels through my webbrowser, I get a few errors:

On initial load of the page ("programmes" tab):

connectionmanager.js?v=4.1.1.0:1 Uncaught (in promise) Error: item or serverId cannot be null
    at ConnectionManager.getApiClient (connectionmanager.js?v=4.1.1.0:1)
    at new LiveTvSuggestionsTab (suggestions.js?v=4.1.1.0:1)
    at livetv.js?v=4.1.1.0:1

When clicking "guide":

connectionmanager.js?v=4.1.1.0:1 Uncaught (in promise) Error: item or serverId cannot be null
    at ConnectionManager.getApiClient (connectionmanager.js?v=4.1.1.0:1)
    at new GuideTab (guide.js?v=4.1.1.0:1)
    at livetv.js?v=4.1.1.0:1

When clicking "channels":

channels.js?v=4.1.1.0:1 Uncaught (in promise) TypeError: Cannot read property 'getCurrentUserId' of undefined
    at ChannelsTab.fetchData (channels.js?v=4.1.1.0:1)
    at HTMLDivElement._refreshItems (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement.value (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement._resume (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement.value (emby-itemscontainer.js?v=4.1.1.0:1)
    at ChannelsTab.ItemsTab.onResume (itemstab.js?v=4.1.1.0:1)
    at tabbedview.js?v=4.1.1.0:1

When clicking "recordings":

recordings.js?v=4.1.1.0:1 Uncaught (in promise) TypeError: Cannot read property 'getLiveTvRecordings' of undefined
    at RecordingsTab.fetchData (recordings.js?v=4.1.1.0:1)
    at HTMLDivElement._refreshItems (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement.value (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement._resume (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement.value (emby-itemscontainer.js?v=4.1.1.0:1)
    at RecordingsTab.ItemsTab.onResume (itemstab.js?v=4.1.1.0:1)
    at tabbedview.js?v=4.1.1.0:1

When clicking "schedules":

connectionmanager.js?v=4.1.1.0:1 Uncaught (in promise) Error: item or serverId cannot be null
    at ConnectionManager.getApiClient (connectionmanager.js?v=4.1.1.0:1)
    at new LiveTvScheduleTab (schedule.js?v=4.1.1.0:1)
    at livetv.js?v=4.1.1.0:1

When clicking "series":

series.js?v=4.1.1.0:1 Uncaught (in promise) TypeError: Cannot read property 'getLiveTvSeriesTimers' of undefined
    at SeriesTab.fetchData (series.js?v=4.1.1.0:1)
    at HTMLDivElement._refreshItems (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement.value (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement._resume (emby-itemscontainer.js?v=4.1.1.0:1)
    at HTMLDivElement.value (emby-itemscontainer.js?v=4.1.1.0:1)
    at SeriesTab.ItemsTab.onResume (itemstab.js?v=4.1.1.0:1)
    at tabbedview.js?v=4.1.1.0:1

Switching out "this.apiClient" for "window.ApiClient" fixes the "channels" tab.

 

 

 

5. Sometimes when starting the server, I get an "System.OutOfMemoryException: Out of memory" when loading the "TvHeadEnd.dll". I don't have the stacktrace to hand but it wasn't very interesting. It appeared just after this line:

2019-06-08 17:00:45.026 Info App: Loading TVHeadEnd, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null from /storage/emulated/0/Android/data/com.emby.embyserver/files/plugins/TVHeadEnd.dll

so it looks like it is to do with trying to fit all the assemblies in RAM on load.

 

 

 

When I worked around all the bugs above, the plugin works! It's so close!

Link to comment
Share on other sites

Yes that's resolved for the next release.

 

Regarding the plugin code, I'm not able to be the primary developer for it, but if you can attach a complete log I might be able to identify some quick fixes.

 

Yes I agree on the logging, it's too much.

Link to comment
Share on other sites

  • 2 weeks later...
DeBaschdi

bei mir geht es übrigens noch immer nicht (weder channel icons, noch EPG bilder)

2019-06-17 10:56:24.048 Info HttpServer: HTTP Response 200 to xxx. Time: 191ms. http://xxx:8096/emby/LiveTv/Programs/Recommended?userId=34ebe66d70d64e4f85951c70bb078731&HasAired=false&Limit=24&IsMovie=true&IsKids=false&EnableTotalRecordCount=false&Fields=PrimaryImageAspectRatio&EnableImageTypes=Primary%2CThumb
2019-06-17 10:56:24.049 Error HttpClient: Error getting response from http://[::ffff:127.0.0.1]:9981/tvheadend/imagecache/98599
	*** Error Report ***
	Version: 4.1.1.0
	Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -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.15.0.42
	64-Bit OS: True
	64-Bit Process: True
	User Interactive: True
	Runtime: file:///opt/emby-server/system/System.Private.CoreLib.dll
	Processor count: 4
	Program data path: /var/lib/emby
	Application directory: /opt/emby-server/system
	System.Net.Http.HttpRequestException: System.Net.Http.HttpRequestException: Network is unreachable ---> System.Net.Sockets.SocketException: Network is unreachable
Edited by DeBaschdi
Link to comment
Share on other sites

pünktchen

Okay. So then just create a Tvheadend user "*" with password "*" and restrict this user to your local network. No login needed anymore!

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