API/interface to pull recorded show listings, metadata, and files off of the Tablo

@ShadowsPapa - Thanks!  I understand the wife’s desire for something she can touch.


I didn’t want to overstate the risk, but make sure you were aware of it.  I’m glad you have had good luck, but also the wisdom to have redundancy. 

I do recall reading back in the early days of CDs and DVDs that there were risks - of course those were the early days but still, how much could have possibly changed. Reminders are never a bad thing, I can be absent-minded at times, too (or get into a hurry).
Why risk all that time and effort to get something recorded and kept, only to put it into something risky. Thanks.

Ok, now back home and had chance to try the suggestions earlier in the thread.


I now have the TTG script and ffmpeg in the same directory, and it fails after the first download, seems to be a problem with ffmpeg still.  Here is the log from run to failure:

G-iMac:TToGo graham$ ./tablo2go-2.0.56.py -tablo:192.168.0.63 -ffmpeg:./ffmpeg -db:./tablo2go.db -output:/Users/graham/TToGo

[Mar 12 09:39:00 2015] - Starting TabloToGo Version 2.0.56

[Mar 12 09:39:00 2015] - Loading Cache Database

[Mar 12 09:39:15 2015] - Loading download history

[Mar 12 09:39:15 2015] - 0 shows and movies have already been downloaded

[Mar 12 09:39:16 2015] [192.168.0.63] - Found Tablo named *Manually Entered*

[Mar 12 09:39:16 2015] [192.168.0.63] - Loading meta-data for 374 recordings

[Mar 12 09:39:21 2015] [192.168.0.63] - 366 entries were cached

[Mar 12 09:39:21 2015] [192.168.0.63] - 362 new TV, 12 movies, and 0 sports

[Mar 12 09:39:21 2015] [192.168.0.63] - 3 matching videos are duplicative

[Mar 12 09:39:21 2015] [192.168.0.63] - 371 matching videos have been queued

[Mar 12 09:39:23 2015] [192.168.0.63] - Downloading "Two and a Half Men - S02E02 - Enjoy Those Garlic Balls"

[Mar 12 09:39:27 2015] [192.168.0.63] - Video has 221 segments

[Mar 12 09:39:33 2015] [192.168.0.63] -      3 MB,   1%, 5m 28s

[Mar 12 09:40:05 2015] [192.168.0.63] -     39 MB,   6%, 8m 49s

[Mar 12 09:41:17 2015] [192.168.0.63] -    133 MB,  13%, 11m 37s

[Mar 12 09:42:32 2015] [192.168.0.63] -    224 MB,  20%, 12m 5s

[Mar 12 09:43:44 2015] [192.168.0.63] -    314 MB,  27%, 11m 29s

[Mar 12 09:44:57 2015] [192.168.0.63] -    406 MB,  33%, 10m 42s

[Mar 12 09:46:03 2015] [192.168.0.63] -    508 MB,  40%, 9m 36s

[Mar 12 09:47:21 2015] [192.168.0.63] -    622 MB,  47%, 8m 44s

[Mar 12 09:48:01 2015] [192.168.0.63] -    705 MB,  54%, 7m 12s

[Mar 12 09:48:49 2015] [192.168.0.63] -    810 MB,  61%, 5m 57s

[Mar 12 09:49:31 2015] [192.168.0.63] -    919 MB,  67%, 4m 46s

[Mar 12 09:50:13 2015] [192.168.0.63] -   1025 MB,  74%, 3m 39s

[Mar 12 09:50:56 2015] [192.168.0.63] -   1131 MB,  81%, 2m 37s

[Mar 12 09:51:25 2015] [192.168.0.63] -   1225 MB,  88%, 1m 35s

[Mar 12 09:51:58 2015] [192.168.0.63] -   1343 MB,  95%, 0m 39s

[Mar 12 09:52:18 2015] [192.168.0.63] -   1417 MB, 100%, 0m 0s

[Mar 12 09:52:18 2015] [192.168.0.63] - Converting video to .mp4

[Mar 12 09:52:18 2015] [192.168.0.63] - Creating mp4 file

Traceback (most recent call last):

  File "./tablo2go-2.0.56.py", line 1051, in

    filename = get_video(ipaddr, show_id, tmsid, rDict(OPTIONS, ['ffmpeg.exe'], 'ffmpeg')[0], OPTIONS, FLAGS, show_proc)

  File "./tablo2go-2.0.56.py", line 871, in get_video

    subprocess.call(cmd)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call

    return Popen(*popenargs, **kwargs).wait()

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__

    errread, errwrite)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child

    raise child_exception

OSError: [Errno 13] Permission denied


Any help moist welcome!

@Graham , this is possibly a permissions issue with Mac OSX.  Try going to the tablo directory via the finder, and clicking on ffmpeg - you may get an error saying it wants permission to run, if so, go to settings, security, and click to allow it to run.  After you do this ffmpeg should run once, then try again.

@Graham - You are very close to success.  It looks like you have the full .ts file downloaded from the tablo and the next step fails (changing the container format to .mp4).  If you have vlc on your Mac, it will probably play the .ts file.


I think the @jskenney suggestion to make sure ffmpeg is marked with execute permission will solve your issue (it explains why you would get that “Permission Denied” error).

If that isn’t it, the next thing to check is to make sure you don’t have a case sensitivity problem (I can’t recall if Mac file-names are or not). If your ffmpeg has upper case letters in it (for example it is FFmpeg) then match them with the option (e.g. ffmpeg:./ffmpeg vs -ffmpeg:./FFmpeg).

It does seem to be permissions.  The valid had the ‘non-apple developer issue’, so I fiofrce opened it and now it runs OK in isolation, giving the options listed as expected.


The I checked the UNIX file permissions, and added execute permission, but it still fails.

G-iMac:TToGo graham$ ./ffmpeg -db:./tablo2go.db -output:/Users/graham/TToGo/

-bash: ./ffmpeg: Permission denied

G-iMac:TToGo graham$ ls -alx

. .. .DS_Store

EP005927330026.ts ffmpeg tablo.log

tablo2go-2.0.56.py tablo2go.db

G-iMac:TToGo graham$ ls -al

total 2804216

drwxr-xr-x   8 graham  staff         272 Mar 12 10:57 .

drwxr-xr-x+ 29 graham  staff         986 Mar 12 07:35 ..

-rw-r--r--@  1 graham  staff        6148 Mar 12 10:17 .DS_Store

-rw-r--r--   1 graham  staff  1417532032 Mar 12 10:57 EP005927330026.ts

-rw-rw-rw-@  1 graham  staff      392068 Mar  8 15:00 ffmpeg

-rw-r--r--   1 graham  staff        8177 Mar 12 10:57 tablo.log

-rwxr-xr-x@  1 graham  staff       52018 Jan 29 13:45 tablo2go-2.0.56.py

-rw-r--r--   1 graham  staff    17756648 Mar 12 10:50 tablo2go.db

G-iMac:TToGo graham$ chmod +x ffmpeg

G-iMac:TToGo graham$ ls -al

total 2804216

drwxr-xr-x   8 graham  staff         272 Mar 12 10:57 .

drwxr-xr-x+ 29 graham  staff         986 Mar 12 07:35 ..

-rw-r--r--@  1 graham  staff        6148 Mar 12 10:17 .DS_Store

-rw-r--r--   1 graham  staff  1417532032 Mar 12 10:57 EP005927330026.ts

-rwxrwxrwx@  1 graham  staff      392068 Mar  8 15:00 ffmpeg

-rw-r--r--   1 graham  staff        8177 Mar 12 10:57 tablo.log

-rwxr-xr-x@  1 graham  staff       52018 Jan 29 13:45 tablo2go-2.0.56.py

-rw-r--r--   1 graham  staff    17756648 Mar 12 10:50 tablo2go.db

G-iMac:TToGo graham$ ./ffmpeg -db:./tablo2go.db -output:/Users/graham/TToGo/

-bash: ./ffmpeg: cannot execute binary file


I'm running out of ideas.  :-(

@Graham


The permissions look wrong.

Type:

chmod 755 ffmpeg

then try to run it from the command line with

./ffmpeg

if that works try tablo2go again with tablo2go.py -ffmpeg:./ffmpeg

I’ll give it  whirl tonight!  Thanks

well, I have it working.  Wish I knew exactly why!  All I did was rename theta file to be easier to get right in a CL, move a couple of files out of the folder (they were only related to Tivo) and checked the command line.


Viola!

Thanks for all the help and guidance folks!

Has anyone had a problem with tabl2go working with the new firmware 2.1.24?

It’s working for me on 2.1.24.


Cheers

@Graham  Thanks.  Is Tablo2go still at 2.0.56 ?

That’s what I’m running!


Cheers

@Graham.  Thanks, again.


Well, that’s the same environment I have.  It suddenly quit working.  I’m starting to believe that the Tablo is the problem  :(

BTW - does Tablo respond to pings?

BTW - does Tablo respond to pings?

I don’t know.  I tend to use my.tablotv.com in Chrome to connect.

Tablo does more now… e.g. creating thumbnails for Roku.  So it’s under more load.  Pulling the ts files requires some effort and if the Tablo is busy (busy now doesn’t just mean recording), then those pulls can fail.  When it’s not so busy, the web i/f used by the various pulling programs will respond again.  This problem will affect the tablo2go.py, surlatablo.py and possibly the Plex channel (to a lesser extent).



How can you properly use the not: attribute to skip download of only a few specific programs?  I want to download almost all of my primetime recordings for plex but not any news programs, soap operas or game shows. I tried the command below and it appears to find only the programs I want to download but fails to queue them up (No videos have been queued).  I am using database and history files.


tablo2go.py -a not:family fued,jeopardy,general hospital,days of our lives,48 hours,2020


is there in the API an option to delete the recoding yet?


How can you properly use the not: attribute to skip download of only a few specific programs? 

tablo2go.py -a not:family fued,jeopardy,general hospital,days of our lives,48 hours,2020


I after a few attempts I noticed it’s simply -not . So for example if I want to ignore both ABC World News and NBC Nightly News I do a -not News. I then show this in my output…


1 new TV, 0 movies, and 0 sports

For whatever reason you exclude the colon.