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.
You should be able to play the ts files as they are being written although I've had some strange Kodi crashes doing that sometimes.

I would definitely try to get some local storage for the current recording.
We can add a line at the end of the python py job to copy the file somewhere else after it completes.

If you play it while its recording from network storage you will need 3x the bandwidth of the stream at least.
One to record, one to write and one to play.
I tried your last version, the programs displayed on the channels are based on UTC time (so in my case, 2h in the past)

When I tried to play the .ts file, there was nothing on the record directory, maybe a refresh issue, I will retry

I made some tests with encoding, and it's difficult to manage as the names are converted then passed as string to other method and so on
As there is now a database containing groups & channels, it might be sufficent to pass only the ID to the routes, this would reduce the extra encoding work (at the price of some more request, might have slow down on very large lists)

For the network storage, there is no user/password in my configuration
I can't get it to change permissions on my phone now. I'm using 17.6 on Android 6.0.
What did you do to get it to work?  Either of the S_IXUSR S_IEXEC don't work. It used to.
It's about the ffmpeg executable ?

When I solved it locally, I just changed the if condition, not the chmod function

if not (stat.S_IXUSR & st.st_mode):
AND makes more sense because it is a bitmask.
Don't keep your secrets to yourself. Wink
Could you have a look at the latest "now" commit.
To find the xml now time you need to take off the utc offset from now and add the +0200 timezone offset or maybe I'm overcomplicating it.
Right now my xml is in utc with +0000 offset but I'm in CET so I need utc dates plus 2 hours too.
It looks like the ffmpeg Android binaries that I linked to on the first page weren't built with the smb option.
I get "Protocol not found" for smb and sftp. ftp starts but doesn't actually manage to write anything.
You'll have to see if your Android box will either mount shares locally with write options or get some more local storage or build ffmpeg with smb if that is possible for android.
It might be easier if we store timestamp in the database instead of full string (or datetime) and use timestamp to make comparaisons

I'm not sure with your goal on the last commit, do you try to convert local time to the entry's timezone ?

Example :
Local time : 23:00 (+0200)
SQL time : 21:00 (+0000)
You can convert the local time into timestamp and then parse it into any timezone string using "astimezone" on datetime object, it seems simplier, but using timestamps might be even better
I was trying to keep the data loading time down and leave everything as ascii so it could be passed as urls.
However it seems more manageable converting everything to unicode and utc on the way into the database as you suggested.
I've redone everything and it has taken much more time than I was hoping.
I think the db branch is pretty solid now. See what you think.
I tried your last version, this looks really good!

I made tests with special characters everywhere (title, subtitle, description...), everything is displaying correctly and I got no errors

About the dates, everthing is good with my timezone (now, next, on all pages)

For the channel page, I think it would be good if we can have the current program by default (starting on top of list currently), I don't know if it's possible, depending on the refresh rate of the XMLTV file, it might be a lot of entries before the current one
Do you mean scroll to the current program in a channel listing page?
I'm not sure if that is possible in a normal kodi directory listing. I'll have a look.
Yes
There is maybe a mathod to get and set the index (only if there is no current select, as it's memorize last selection)

Did you plan something about internationalization ?
Got it. Try the latest commit to db.
I never bother with internationalization but I expect you'd like it in German.
Is there a way to do it so the strings are still readable in the code?
It's possible to use "constants", something like that :

MY_STRING = 123

xbmc.getLocalizedString(MY_STRING)