Jump to content

XMLTV EPG - not all channels mapped correctly


Recommended Posts

Posted

Hi,

 

I've just paid for a month of the Emby Premiere package and I'm looking to import my XMLTV EPG from iptv-epg.com

 

About half my channels aren't importing their EPG correctly. I am getting the following error:

 

2017-12-23 17:22:53.319 Error App: Error getting programs for channel ITV UK
    *** Error Report ***
    Version: 3.2.60.1
    Command line: C:\Users\HTPC1\AppData\Roaming\Emby-Server\system\EmbyServer.dll
    Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
    64-Bit OS: True
    64-Bit Process: True
    User Interactive: True
    Processor count: 8
    Program data path: C:\Users\HTPC1\AppData\Roaming\Emby-Server\programdata
    Application directory: C:\Users\HTPC1\AppData\Roaming\Emby-Server\system
    System.FormatException: Input string was not in a correct format.
     at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
     at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
     at Emby.XmlTv.Classes.XmlTvReader.ParseEpisodeDataForXmlTvNs(XmlReader reader, XmlTvProgram result)
     at Emby.XmlTv.Classes.XmlTvReader.GetProgramme(XmlReader reader, String channelId, DateTime startDateUtc, DateTime endDateUtc)
     at Emby.XmlTv.Classes.XmlTvReader.GetProgrammes(String channelId, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
     at Emby.Server.Implementations.LiveTv.Listings.XmlTvProvider.<GetProgramsAsync>d__16.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
     at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.<GetProgramsAsync>d__78.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
     at Emby.Server.Implementations.LiveTv.LiveTvManager.<RefreshChannelsInternal>d__72.MoveNext()
    System.FormatException
     at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
     at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
     at Emby.XmlTv.Classes.XmlTvReader.ParseEpisodeDataForXmlTvNs(XmlReader reader, XmlTvProgram result)
     at Emby.XmlTv.Classes.XmlTvReader.GetProgramme(XmlReader reader, String channelId, DateTime startDateUtc, DateTime endDateUtc)
     at Emby.XmlTv.Classes.XmlTvReader.GetProgrammes(String channelId, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
     at Emby.Server.Implementations.LiveTv.Listings.XmlTvProvider.<GetProgramsAsync>d__16.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
     at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.<GetProgramsAsync>d__78.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()

 

 

This only happens to some channels from the same XMLTV source. I've previously used DVBLink + WMC and never had any issues?

 

Cheers

Posted

Hi, can you provide sample xml? thanks.

Posted

<display-name lang="en">ITV UK</display-name>



<channel id="ITV2.uk">

   


 

<programme start="20171221003500 +0000" stop="20171221030000 +0000" channel="ITV1Anglia.uk">

    <title lang="en">Jackpot247</title>

    <desc lang="en">Join the presenters live and play roulette on your telly. Join in now at Jackpot247.com</desc>

    <category lang="en">Specialist</category>

    <category lang="en">Gaming</category>

    <icon src="http://xxx.xxx.com/"/>

  </programme><programme start="20171221030000 +0000" stop="20171221035000 +0000" channel="ITV1Anglia.uk">

    <title lang="en">May the Best House Win</title>

    <desc lang="en">Who will win the cash prize in Nottingham? Motorcycle-loving Julie shows off a modern detached home which has a girls-only pad at the bottom of the garden. [sL]</desc>

    <category lang="en">Entertainment</category>

    <category lang="en">Factual</category>

 

Is that sufficient? 

Posted

The error is related to parsing an episode number. Can you find a sample program that contains one? Thanks !

Posted

I'll have a look and see if I can find one. 

Posted

@@GenesisNZ, I don't need to see a log. I know where we try to parse the episode numbers, and I've updated it to gracefully recover from parsing failures. This will be in the next release and is already in the beta server. thanks.

Posted

Hi @@Luke

 

I'm having the exact same issue. Will the fix you did still import the data even if some episode numbers are malformed? Like @@GenesisNZ I do not get any EPG data for a bunch of channels, but the EPG data is in the xmltv.xml file and works with other programs (Kodi, Plex IPTV plugin, TVheadend, etc.)

Posted

Hi @@Luke

 

I'm having the exact same issue. Will the fix you did still import the data even if some episode numbers are malformed? Like @@GenesisNZ I do not get any EPG data for a bunch of channels, but the EPG data is in the xmltv.xml file and works with other programs (Kodi, Plex IPTV plugin, TVheadend, etc.)

 

We don't know that your problem is the same. Best thing to do is see how to report a problem. thanks !

Posted

Thanks @@Luke. I'll try to update to the latest beta and see what happens :)

Posted

Hi @@Luke

 

It looks to be a very similar error as I have the exact entries in my log. Here is an excerpt. Let me know if you want me to start a new topic if you think it's different. I have the exact same result as the OP - Many channels have no EPG info, and each of these has an entry as indicated below in the log.

2017-12-28 16:52:44.989 Error App: Error getting programs for channel Lifetime UK
	*** Error Report ***
	Version: 3.2.60.0
	Command line: /usr/lib/emby-server/bin/MediaBrowser.Server.Mono.exe -programdata /config -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe
	Operating system: Unix 4.10.0.42
	64-Bit OS: True
	64-Bit Process: True
	User Interactive: False
	Mono: 4.8.1 (Stable 4.8.1.0/22a39d7 Sat Dec  9 21:20:58 UTC 2017)
	Processor count: 8
	Program data path: /config
	Application directory: /usr/lib/emby-server/bin
	System.FormatException: Input string was not in a correct format.
	  at System.Number.StringToNumber (System.String str, System.Globalization.NumberStyles options, System.Number+NumberBuffer& number, System.Globalization.NumberFormatInfo info, System.Boolean parseDecimal) [0x0005e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Number.ParseInt32 (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) [0x00014] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Int32.Parse (System.String s) [0x00007] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.ParseEpisodeDataForXmlTvNs (System.Xml.XmlReader reader, Emby.XmlTv.Entities.XmlTvProgram result) [0x00052] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.ProcessEpisodeNum (System.Xml.XmlReader reader, Emby.XmlTv.Entities.XmlTvProgram result) [0x00102] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.GetProgramme (System.Xml.XmlReader reader, System.String channelId, System.DateTime startDateUtc, System.DateTime endDateUtc) [0x002ee] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.GetProgrammes (System.String channelId, System.DateTime startDateUtc, System.DateTime endDateUtc, System.Threading.CancellationToken cancellationToken) [0x00036] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.Server.Implementations.LiveTv.Listings.XmlTvProvider+<GetProgramsAsync>c__async1.MoveNext () [0x001e7] in <283e6d64c4f54f1fbcf3f036adb82d8e>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV+<GetProgramsAsync>c__asyncB.MoveNext () [0x003a0] in <283e6d64c4f54f1fbcf3f036adb82d8e>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.LiveTv.LiveTvManager+<RefreshChannelsInternal>c__asyncA.MoveNext () [0x004bd] in <283e6d64c4f54f1fbcf3f036adb82d8e>:0 
	System.FormatException
	  at System.Number.StringToNumber (System.String str, System.Globalization.NumberStyles options, System.Number+NumberBuffer& number, System.Globalization.NumberFormatInfo info, System.Boolean parseDecimal) [0x0005e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Number.ParseInt32 (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) [0x00014] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Int32.Parse (System.String s) [0x00007] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.ParseEpisodeDataForXmlTvNs (System.Xml.XmlReader reader, Emby.XmlTv.Entities.XmlTvProgram result) [0x00052] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.ProcessEpisodeNum (System.Xml.XmlReader reader, Emby.XmlTv.Entities.XmlTvProgram result) [0x00102] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.GetProgramme (System.Xml.XmlReader reader, System.String channelId, System.DateTime startDateUtc, System.DateTime endDateUtc) [0x002ee] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.XmlTv.Classes.XmlTvReader.GetProgrammes (System.String channelId, System.DateTime startDateUtc, System.DateTime endDateUtc, System.Threading.CancellationToken cancellationToken) [0x00036] in <32450f5948904c31a4e805217af8c506>:0 
	  at Emby.Server.Implementations.LiveTv.Listings.XmlTvProvider+<GetProgramsAsync>c__async1.MoveNext () [0x001e7] in <283e6d64c4f54f1fbcf3f036adb82d8e>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV+<GetProgramsAsync>c__asyncB.MoveNext () [0x003a0] in <283e6d64c4f54f1fbcf3f036adb82d8e>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.LiveTv.LiveTvManager+<RefreshChannelsInternal>c__asyncA.MoveNext () [0x004bd] in <283e6d64c4f54f1fbcf3f036adb82d8e>:0 
	

Channel from above in .m3u playlist:

#EXTINF:-1 tvg-name="Lifetime UK" tvg-id="Lifetime.uk" tvg-logo="https://s18.postimg.org/7sbm0h6mh/UK_Lifetime.png" group-title="United Kingdom",Lifetime UK
http://iptv.tv/live/stokkes/123456/35748.ts

Example EPG listing from channel above:

<programme channel="Lifetime.uk" start="20171226110000 +0000" stop="20171226113000 +0000">
    <title lang="en">Judge Judy</title>
    <desc lang="en">Judge Judy Sheindlin, a judge from New York, tackles real-life small claims cases with a no-nonsense attitude</desc>
    <category lang="en">Entertainment</category>
    <category lang="en">Factual</category>
    <icon src="http://epgstatic.sky.com/epgdata/1.0/paimage/18/0/webANXjudgejudy2a.jpg" />
    <episode-num system="xmltv_ns">S18E49</episode-num>
  </programme>
Posted

Vastly improved, that's for sure. However, I'm still seeing some channels not correctly populating their EPG. I'm getting a slightily different error now:

 

2017-12-29 12:48:50.955 Error App: Error getting programs for channel ITV UK
*** Error Report ***
Version: 3.2.60.5
Command line: C:\Users\HTPC1\AppData\Roaming\Emby-Server\system\EmbyServer.dll
Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
64-Bit OS: True
64-Bit Process: True
User Interactive: True
Processor count: 8
Program data path: C:\Users\HTPC1\AppData\Roaming\Emby-Server\programdata
Application directory: C:\Users\HTPC1\AppData\Roaming\Emby-Server\system
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at Emby.XmlTv.Classes.XmlTvReader.ParseEpisodeDataForXmlTvNs(XmlReader reader, XmlTvProgram result)
   at Emby.XmlTv.Classes.XmlTvReader.GetProgramme(XmlReader reader, String channelId, DateTime startDateUtc, DateTime endDateUtc)
   at Emby.XmlTv.Classes.XmlTvReader.GetProgrammes(String channelId, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.Listings.XmlTvProvider.<GetProgramsAsync>d__16.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.<GetProgramsAsync>d__75.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Emby.Server.Implementations.LiveTv.LiveTvManager.<RefreshChannelsInternal>d__72.MoveNext()
System.IndexOutOfRangeException
   at Emby.XmlTv.Classes.XmlTvReader.ParseEpisodeDataForXmlTvNs(XmlReader reader, XmlTvProgram result)
   at Emby.XmlTv.Classes.XmlTvReader.GetProgramme(XmlReader reader, String channelId, DateTime startDateUtc, DateTime endDateUtc)
   at Emby.XmlTv.Classes.XmlTvReader.GetProgrammes(String channelId, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.Listings.XmlTvProvider.<GetProgramsAsync>d__16.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.<GetProgramsAsync>d__75.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 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Emby.Server.Implementations.LiveTv.LiveTvManager.<RefreshChannelsInternal>d__72.MoveNext()

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