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-09-01, 23:20)primaeval Wrote: [ -> ]Are you sure you've got a 32bit ffmpeg?
I downloaded prebuilt-binaries.zip from the link on the 1st page here. Extracted the zip and tried setting the path in IPTV Recorder to 1st the \armeabi-v7a folder, and then tried the one in the armeabi-v7a-neon folder. Didn't think the one in the \x86 folder would apply to me. But when I ran an app from the play store that displayed the cpu type, it was not neon as I recall. But I just noticed neon being mentioned in the kodi.log.
 
Quote:You could try running ffmpeg in an adb shell or an app like Termux to make sure it's not that.
I'm not all that familiar with using an adb shell. Being new to android I only vaguely understand what adb is. Is Termux a terminal app? Sounds like something related to video muxing Smile
 
Quote:Have you got "enable hidden files" turned on in Kodi?
Coming from xconfluence, I always get lost in estuary settings.  But yes, I see I have "enable hidden files" turned on
(2018-09-01, 23:37)primaeval Wrote: [ -> ]I think this is the one for arm v7 neon
https://github.com/Khang-NT/ffmpeg-binar...ll.tar.bz2
 I'll try this
(2018-09-01, 23:48)JQZ* Wrote: [ -> ]
(2018-09-01, 23:37)primaeval Wrote: [ -> ]I think this is the one for arm v7 neon
https://github.com/Khang-NT/ffmpeg-binar...ll.tar.bz2
 I'll try this  
Same error beginning to record with that neon version set. Will try the other you suggested. Do you think the kodi was accurate when it mentioned neon in the log? I hadn't had the neon version set today, though I'd tried setting it the other day.
Hey.

I've been using this for a while on a nvidia shield (android), and it works fine there.

But I tried to install it on ubuntu 18.04 today, and it gave me a weird error, when trying to record.
Anybody got an idea of what went wrong here ?
Quote:00:52:21.472 T:140235334051584   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.OSError'>
                                            Error Contents: [Errno 2] No such file or directory
                                            Traceback (most recent call last):
                                              File "/home/icewind/.kodi/userdata/addon_data/plugin.video.iptv.recorder/jobs/af5aed22-ae39-11e8-876c-ac220b4d68c5.py", line 6, in <module>
                                                p = subprocess.Popen(cmd, shell=False)
                                              File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
                                                errread, errwrite)
                                              File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
                                                raise child_exception
                                            OSError: [Errno 2] No such file or directory
                                            -->End of Python script error report<--
(2018-09-01, 23:59)JQZ* Wrote: [ -> ]
(2018-09-01, 23:48)JQZ* Wrote: [ -> ]
(2018-09-01, 23:37)primaeval Wrote: [ -> ]I think this is the one for arm v7 neon
https://github.com/Khang-NT/ffmpeg-binar...ll.tar.bz2
 I'll try this    
Same error beginning to record with that neon version set. Will try the other you suggested. Do you think the kodi was accurate when it mentioned neon in the log? I hadn't had the neon version set today, though I'd tried setting it the other day.  
 Try 0.0.70.
The old version wouldn't copy in new versions of ffmpeg properly. It just used the first one you ever added.
There should be a "Maintenance\Delete ffmpeg" that you can delete the old one with.
The next recording should copy in the new ffmpeg.

There is another check that it will copy in a new ffmpeg if the location for "ffmpeg exe" changes but that could fail if you copy ffmpeg to the same place. So use "Delete ffmpeg" to be sure.

[EDIT] Try 0.0.71. The previous one was pre-coffee and failed.
(2018-09-02, 01:00)gekados Wrote: [ -> ]Hey.

I've been using this for a while on a nvidia shield (android), and it works fine there.

But I tried to install it on ubuntu 18.04 today, and it gave me a weird error, when trying to record.
Anybody got an idea of what went wrong here ?
Quote:00:52:21.472 T:140235334051584   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.OSError'>
                                            Error Contents: [Errno 2] No such file or directory
                                            Traceback (most recent call last):
                                              File "/home/icewind/.kodi/userdata/addon_data/plugin.video.iptv.recorder/jobs/af5aed22-ae39-11e8-876c-ac220b4d68c5.py", line 6, in <module>
                                                p = subprocess.Popen(cmd, shell=False)
                                              File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
                                                errread, errwrite)
                                              File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
                                                raise child_exception
                                            OSError: [Errno 2] No such file or directory
                                            -->End of Python script error report<--
 Hi. It looks like you haven't set the ffmpeg path.
Look in the file
/home/icewind/.kodi/userdata/addon_data/plugin.video.iptv.recorder/jobs/af5aed22-ae39-11e8-876c-ac220b4d68c5.py
at line 5 and see if the cmd = ["..ffmpeg" ...] has got the right location for your ffmpeg.
The cmd gets run in a shell with the subprocess call.
(2018-09-02, 09:35)primaeval Wrote: [ -> ]
(2018-09-02, 01:00)gekados Wrote: [ -> ]Hey.

I've been using this for a while on a nvidia shield (android), and it works fine there.

But I tried to install it on ubuntu 18.04 today, and it gave me a weird error, when trying to record.
Anybody got an idea of what went wrong here ?
Quote:00:52:21.472 T:140235334051584   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.OSError'>
                                            Error Contents: [Errno 2] No such file or directory
                                            Traceback (most recent call last):
                                              File "/home/icewind/.kodi/userdata/addon_data/plugin.video.iptv.recorder/jobs/af5aed22-ae39-11e8-876c-ac220b4d68c5.py", line 6, in <module>
                                                p = subprocess.Popen(cmd, shell=False)
                                              File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
                                                errread, errwrite)
                                              File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
                                                raise child_exception
                                            OSError: [Errno 2] No such file or directory
                                            -->End of Python script error report<--
 Hi. It looks like you haven't set the ffmpeg path.
Look in the file
/home/icewind/.kodi/userdata/addon_data/plugin.video.iptv.recorder/jobs/af5aed22-ae39-11e8-876c-ac220b4d68c5.py
at line 5 and see if the cmd = ["..ffmpeg" ...] has got the right location for your ffmpeg.
The cmd gets run in a shell with the subprocess call. 
It was pointing to the same binary I use for Android, doh !
Changed it to /usr/bin/ffmpeg and it worked.

Thanks for the help and the work put into this plugin, really appreciate the feature !
(2018-09-02, 09:28)primaeval Wrote: [ -> ]
(2018-09-01, 23:59)JQZ* Wrote: [ -> ]
(2018-09-01, 23:48)JQZ* Wrote: [ -> ] I'll try this    
Same error beginning to record with that neon version set. Will try the other you suggested. Do you think the kodi was accurate when it mentioned neon in the log? I hadn't had the neon version set today, though I'd tried setting it the other day.             
 Try 0.0.70.
The old version wouldn't copy in new versions of ffmpeg properly. It just used the first one you ever added.
There should be a "Maintenance\Delete ffmpeg" that you can delete the old one with.
The next recording should copy in the new ffmpeg.

There is another check that it will copy in a new ffmpeg if the location for "ffmpeg exe" changes but that could fail if you copy ffmpeg to the same place. So use "Delete ffmpeg" to be sure.

[EDIT] Try 0.0.71. The previous one was pre-coffee and failed.           
Brilliant! 0.0.71 did indeed get the addon to record. I was pretty convinced earlier that I was having problems with T-Mobile setting special permissions to block access to some of the file system on this Go5, and/or the wrong android version of ffmpeg.

The only problem at this point is that I can't set a recordings folder on the 64 GB SD Card I've added. It's writing the ts files fine to the default special://temp folder on the internal 8 GB memory file system at: /sdcard/Android/data/org.xbmc.kodi/files/.kodi/temp.  With the recordings path set to the 64 GB SD Card, a job will begin and then immediately stop with no indication in the recordings folder that anything happened.  I only have 1 GB free space left on internal memory, so the space will fill up pretty quickly recording anything over a few minutes. It's taken some time to test the two different recording folder settings as the addon wants to reload all the data each time I change the settings which takes some time.

Do you think you can find a solution to this one?
Good its working. I thought I'd dealt with the ffmpeg overwriting issue. Obviously I was dreaming.

Newer Android versions have increasingly restrictive permissions on where you can write to which is probably why your second sd card is causing problems.
ffmpeg is also run in a limited shell within Kodi as the Kodi process's user.
I'm not sure if adding the card as Adopted Storage solves the problem. It becomes more trusted then.
Be careful: I think that might wipe the card if you change it to Adopted Storage.

You might have to put a different path in the "ffmpeg recording path" setting to deal with ffmpeg's point of view.
I don't know what that is though.

You might be able to change the permissions of a folder in the sdcard to the same as Kodi so it is writeable.
I expect you need a rooted phone.

Theoretically I could try to pipe the output of ffmpeg back into Kodi so it could write to the second sdcard but I got scared off doing that as some operating system specific issues cropped up.
It might have just been that it was troublesome within the binary IPTV Simple Client addon.
If I have the energy I'll have another look at it.

Another convoluted and probably tricky way is to find a network path that ffmpeg can write to, maybe an smb or nfs server running on the same device.
(2018-09-02, 12:48)primaeval Wrote: [ -> ]Good its working. I thought I'd dealt with the ffmpeg overwriting issue. Obviously I was dreaming.

Newer Android versions have increasingly restrictive permissions on where you can write to which is probably why your second sd card is causing problems.
ffmpeg is also run in a limited shell within Kodi as the Kodi process's user.
I'm not sure if adding the card as Adopted Storage solves the problem. It becomes more trusted then.
Be careful: I think that might wipe the card if you change it to Adopted Storage.
Yes. It will wipe the data, but it's pretty new with just some video files I added that I can replace. I've asked the folks at xda-developers about that. I was thinking of moving some apps over to the bigger card. But I came to agree with all the replies that flash drives will develop write/rewrite issues over time. Still if I don't move any apps to the card, and use it only for data storage, I wonder if I'd be okay. I did get the Android SDK setup on my PC and am able to run adb shell, which was one way I read about setting the 64 GB card as internal/adopted storage.
 
Quote:You might have to put a different path in the "ffmpeg recording path" setting to deal with ffmpeg's point of view.
I don't know what that is though.
Hah! Me neither Smile
 
Quote:You might be able to change the permissions of a folder in the sdcard to the same as Kodi so it is writeable.
I expect you need a rooted phone.
I rooted an older phone back in 2012. I've been reviewing my notes on what I did and have been searching for solutions for this phone.
 
Quote:Theoretically I could try to pipe the output of ffmpeg back into Kodi so it could write to the second sdcard but I got scared off doing that as some operating system specific issues cropped up.
It might have just been that it was troublesome within the binary IPTV Simple Client addon.
If I have the energy I'll have another look at it.
I'll keep checking in to see if you come up with anything.
 
Quote:Another convoluted and probably tricky way is to find a network path that ffmpeg can write to, maybe an smb or nfs server running on the same device.
I'll look into that. It's been a pretty intensive crash course in dealing with the android OS the past few days. I set up a Linux Mint flash drive 3-4 years ago, but it seems I'm forgotten a lot about linux. Thanks for getting things this far though primaeval.
You can try my "pipe" branch as an experiment.
https://github.com/primaeval/plugin.vide.../tree/pipe
If you download the zip remember to take of the branch from the inner folder before you install it, ie -pipe.

It pipes the output of ffmpeg back into Kodi and kodi writes to your "Kodi recording folder" with its normal file writing operations.
That means it should write to wherever Kodi has permission to write to, including network folders and hopefully your second sdcard.

I'm not sure if it is going to work on all platforms and is the best way to do it.
Already it seemed to use a log of Kodi memory and cpu.
I'll keep experimenting.
(2018-09-02, 18:56)primaeval Wrote: [ -> ]You can try my "pipe" branch as an experiment.
https://github.com/primaeval/plugin.vide.../tree/pipe
If you download the zip remember to take of the branch from the inner folder before you install it, ie -pipe.

It pipes the output of ffmpeg back into Kodi and kodi writes to your "Kodi recording folder" with its normal file writing operations.
That means it should write to wherever Kodi has permission to write to, including network folders and hopefully your second sdcard.

I'm not sure if it is going to work on all platforms and is the best way to do it.
Already it seemed to use a log of Kodi memory and cpu.
I'll keep experimenting.
I'm not quite sure what you mean by, ".. take of the branch from the inner folder before you install it, ie -pipe." The zip contains the folder "plugin.video.iptv.recorder-pipe" which is the only reference to -pipe inside. Are you suggesting modifying something inside the zip before 'installing from zip'? Or do you want me to extract some files in the zip and manually copy them to my current \addons\plugin.video.iptv.recorder folder?

I tested the original again and found that it does write ts files outside of the /Android folder on the internal 8 GB memory where Kodi resides. Though I'm sure you know that.
Yes. You need to rename that inner zip folder from plugin.video.iptv.recorder-pipe to plugin.video.iptv.recorder for Kodi to put it in the correct place.

Are you sure you can't write to your second sdcard?
I didn't have any problems on my Shield.
My setting is
Code:
<setting id="recordings" value="/storage/emulated/0/Movies/" />
Can Kodi actually see and write to your second sdcard if you use the internal File Manager?
(2018-09-03, 08:46)primaeval Wrote: [ -> ]Yes. You need to rename that inner zip folder from plugin.video.iptv.recorder-pipe to plugin.video.iptv.recorder for Kodi to put it in the correct place.

Are you sure you can't write to your second sdcard?
I didn't have any problems on my Shield.
My setting is
Code:
<setting id="recordings" value="/storage/emulated/0/Movies/" />
Can Kodi actually see and write to your second sdcard if you use the internal File Manager?
I gave File Manager a try, but it reported an error trying to copy a folder over to the 64 GB card. I have a similar path: "/storage/3A01-C1E0/Recordings" I do see your path in my file manager, but that 'Movies' folder is on my internal sdcard 8 GM memory card. Is that 'Movies' folder on your shield on an SD Card you added?
I'm pretty sure my sdcard is the one in the external slot in my Shield.
Nvidia did add some workarounds for external USB drives where they added a writeable top level folder called NVIDIA_SHIELD.

I expect you'll have to re-add the sdcard as Adopted Storage.

I'm just adding in the pipe command to the main branch of IPTV Recorder but it won't help you if Kodi doesn't have permission to write to your sdcard.

I've been googling sdcard permissions with Kodi and Android but there is nothing definitive.
https://forum.kodi.tv/showthread.php?tid=332669
https://forum.kodi.tv/showthread.php?tid...pid2720292
https://forum.kodi.tv/showthread.php?tid=304517