Kodi Community Forum

Full Version: IPTV Recorder
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(2018-05-22, 10:44)primaeval Wrote: [ -> ]version 0.0.52

@kaable  Your start and stop times didn't have a utc offset in them.
I've added some code to add " +0000" to them.
Your xmltv is from Webgrab so I assume the dates are in a valid format.

If IPTV Recorder needs an offset you'll have to add the tvg-shift offset into the m3u file.
See here for how to do it in the example.
https://kodi.wiki/view/Add-on:IPTV_Simple_Client#Usage

If you want to do a Portuguese translation I'll add it in for you.
@primaeval seems to work your hint but now I getting the following error when I choose "Recording Once":

08:07:11.123 T:1584395168   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.TypeError'>
                                            Error Contents: record_once() takes at least 3 arguments (4 given)
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.iptv.recorder/main.py", line 2869, in <module>
                                                plugin.run()
                                              File "/storage/.kodi/addons/script.module.xbmcswift2/lib/xbmcswift2/plugin.py", line 332, in run
                                                items = self._dispatch(self.request.path)
                                              File "/storage/.kodi/addons/script.module.xbmcswift2/lib/xbmcswift2/plugin.py", line 306, in _dispatch
                                                listitems = view_func(**items)
                                              File "/storage/.kodi/addons/plugin.video.iptv.recorder/main.py", line 2065, in full_service
                                                service_thread()
                                              File "/storage/.kodi/addons/plugin.video.iptv.recorder/main.py", line 2100, in service_thread
                                                record_once(programmeid=uid, do_refresh=False, watch=watch, remind=remind)
                                            TypeError: record_once() takes at least 3 arguments (4 given)
                                            -->End of Python script error report<--
08:10:14.859 T:1945854144   ERROR: Control 602 in window 12901 has been asked to focus, but it can't
 

Can you help me ?

thanks in advance
Try 0.0.58.
There were more changes needed when I switched from using xmltv channel names to m3u channel names.
It might need a NUKE due to the difference in how it finds the channel names but hopefully not.
Any chance for adding notifications when recording starts/stops?
Should jobs be automatically removed from Maintenance when completed?
Try 0.0.59.
I've added notifications on start and stop recording.
Make them silent with a setting in Jobs and Rules.
They won't appear if you use the Windows external Scheduler.

You probably won't be able to exit Kodi properly if a recording is going on without killing it or stopping the jobs due to the notifications.

Old jobs shouldn't appear in the Jobs list now and should be deleted on restart.
(2018-05-06, 10:30)primaeval Wrote: [ -> ]
(2018-05-06, 01:53)locoguano Wrote: [ -> ]Does this work with PSVue?
 It does but I think you need to do comment out these two lines or you will be buck bunnyed.
https://github.com/eracknaphobia/service...ice.py#L57

@GriffeyJuni0r knows more. If you ask him nicely he might share the magic. 
@GriffeyJuni0r @primaeval I wanted to ask about this possibility of using iptv recorder with psvue (at present I'm on a win10, krypton, using simple iptv, ps vue, and also hdhomerun for local channels)
I haven't got access to PSVue or HDHomeRun so I can't tell you exactly what to do.

@GriffeyJuni0r can probably let you know how to access PSVue.

It looks like you can find the channel urls at this point in the python files.
https://github.com/eracknaphobia/plugin....ue.py#L481

I'm not sure how stable the HDHomeRun stream url is.
It looks like you can see it here in the pvr.hdhomerun addon.
https://github.com/kodi-pvr/pvr.hdhomeru...s.cpp#L418

There is some device authorisation which might block you.
https://github.com/kodi-pvr/pvr.hdhomeru...s.cpp#L116
and even DRM which is going to be tricky
https://github.com/kodi-pvr/pvr.hdhomeru...s.cpp#L204
This might be useful to you.
https://github.com/djp952/pvr.hdhomerundvr
referenced from this thread
319881 (thread)
Another way is to connect HDHomeRun to TVHeadend and do all your recording there.
https://tvheadend.org/boards/4/topics/24778
I tried TVHeadend on LibreELEC but now I use it on an Ubuntu Server and it seems to be a lot more reliable.
Thanks for the update:

I'm getting:

Code:
SyntaxError: ("Non-ASCII character '\\xc5' in file /Users/tbrek/Library/Application Support/Kodi/userdata/addon_data/plugin.video.iptv.recorder/jobs/a2ede340-6329-11e8-be66-6003088e8bb2.py on line 3, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details", ('/Users/tbrek/Library/Application Support/Kodi/userdata/addon_data/plugin.video.iptv.recorder/jobs/a2ede340-6329-11e8-be66-6003088e8bb2.py', 3, 0, None))

When trying to record programme titled: Żółwik Sammy i Spółka. I guess it's complaining about non-ascii characters.

When I've used Title Regex replace [^u0000-u007f]+ it strips the non-ascii and records ok.
Try 0.0.60.

The title was already encoded in utf8 but somehow it didn't make it into the python job file. I don't know why.
I've added a line to make the whole job file utf8 and it seems to work.
Have you got any channel names in utf8 that you can test it with? Mine are all ascii.
If i make a title non-ascii it will error and won't get into epg.

i.e.:
Code:
#EXTINF:-1 tvg-id="TVN Fabula PL" tvg-name="TVN Fabuła FHD" ,TVN Fabuła FHD

Code:
12:03:26.088 T:123145480544256   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeEncodeError'>
                                            Error Contents: 'ascii' codec can't encode character u'\u0142' in position 8: ordinal not in range(128)
                                            Traceback (most recent call last):
                                              File "/Users/tbrek/Library/Application Support/Kodi/addons/plugin.video.iptv.recorder/main.py", line 2890, in <module>
                                                plugin.run()
                                              File "/Users/tbrek/Library/Application Support/Kodi/addons/script.module.xbmcswift2/lib/xbmcswift2/plugin.py", line 332, in run
                                                items = self._dispatch(self.request.path)
                                              File "/Users/tbrek/Library/Application Support/Kodi/addons/script.module.xbmcswift2/lib/xbmcswift2/plugin.py", line 306, in _dispatch
                                                listitems = view_func(**items)
                                              File "/Users/tbrek/Library/Application Support/Kodi/addons/plugin.video.iptv.recorder/main.py", line 1497, in channel
                                                add_favourite_channel(channelname, channelid, thumbnail)
                                              File "/Users/tbrek/Library/Application Support/Kodi/addons/plugin.video.iptv.recorder/main.py", line 1746, in add_favourite_channel
                                                channelname = channelname.decode("utf8")
                                              File "/Users/Shared/jenkins/workspace/OSX-64/tools/depends/xbmc-depends/macosx10.10_x86_64-target/lib/python2.7/encodings/utf_8.py", line 16, in decode
                                            UnicodeEncodeError: 'ascii' codec can't encode character u'\u0142' in position 8: ordinal not in range(128)
                                            -->End of Python script error report<--
When there's no non-ascii in the channel's name it works perfectly fine. Thanks for the update.

There's on more thing though. Colon in file name is not encoded properly:
Quote:Wielki świat małych ludzi%3A Wspólne rozrywki spoiwem rodziny - Discovery Life - 2018-05-29 12-00
Try 0.0.61.

Thanks for that.
Could you see if you can break it some more with utf8 characters.
Maybe in the tvg-id or programme titles or descriptions.
It is very tricky to find all the utf8 bugs as there are so many different encodings involved in the urls, html, xml, m3u and python files.
I've purposefully url encoded any character that could be interpreted as a file system character on Windows.
Kodi should decode it properly when you add the files into the library.
(2018-05-29, 13:21)primaeval Wrote: [ -> ]I've purposefully url encoded any character that could be interpreted as a file system character on Windows.
Kodi should decode it properly when you add the files into the library.
 Ah yeah. Windows :-) 

macOS allows file names to contain ":". That's cool then. I can get away with ":" => " -".
Quote:Try 0.0.61.

Thanks for that.
Could you see if you can break it some more with utf8 characters.
Maybe in the tvg-id or programme titles or descriptions.
It is very tricky to find all the utf8 bugs as there are so many different encodings involved in the urls, html, xml, m3u and python files.

This is looking good now. Thanks.