Tablo Ripper - Automatically download new recordings

Thanks! It’s always nice when someone posts ‘answers’. I’ll take care of that oversight and let you know when there’s an update.

No problem. I prefer solutions to bugs that just say “It’s broke!” too. :slightly_smiling: Also it probably goes with out saying but just to save a potential headache, note the quotes are actually in both the description and synopsis tags. I didn’t want to call focus to just one particular parameter. Even though I’ve pulled the recording (thanks to the tool working out most of the ffmpeg command for me) I’ll keep the recording around so I can test a fix whenever you get around to it. No rush for me though as I worked around it but I’m sure others will run into similar eventually too.

Thanks for hanging on to that recording, that helps alot. When you get a chance, could you install the new version and give it a try?

Thank you for creating this tool - my understanding is that it is expected to automatically find ‘new’ recordings and automatically rip the new recordings without any intervention - is that correct? If so, while I have been testing this tool - I am either missing a setting, or ??

I have been running 2.0.7/8 and the same results. I can load the Tablo recordings, then either a) select recordings then Start (foreground) the recording or b) Start to identify any new recordings, and then it will record.

When I use the Foreground Start button, it works great - no errors, recording output to my Plex server. Whether I leave the foreground window open and do not start the background service, or when I start the background service and exit the foreground window, I still do not get any automatic rip recordings - only when I manually press the Start button.

I have also tried using the Sync button to mark previous recordings so that only new will record - to no avail. I do not have any filters for ‘new’ or ‘exclude’ and I have the start and end time fields blank (and have also tried 0:00 - 24:00 to no avail).

Thoughts - should it be a matter of set it and forget it, or does it require manual intervention?

TIA.

My main goal/requirement is that you can set it and forget it.

Let me explain a bit and see if we can get on the same page. TabloRipper keeps track of new recordings that have been successfully ripped in this file:

C:\ProgramData\TabloRipper\Completed_XXX.xml

Where “XXX” is the name of your Tablo (that allows it to keep track of multiple Tablos independently).

When you hit the “Sync” button, the current Tablo recording list is copied to the Completed list, which means there are no new recordings. It’s an easy way to sync up when you want to start “new recordings” from a given point in time.

I suspect that’s the opposite of what you want to do. If you want all recordings to be “new”, then delete that file.

The background service is non-aggressive. It sleeps for several minutes, wakes up, looks at the current Tablo recording list, compares it to the Completed list, and decides if there’s anything it needs to rip. If not, it goes back to sleep.

If your background service isn’t working, the first place to check is the windows “services” list to ensure it’s running. You can get there from “Control Panel, Administrative Tools, Services”. Look for “Tablo Ripper Service”. Is it running?

If it is running, but not working, it’s quite possible you set the output folder to a location where the service doesn’t have “permission”. The service doesn’t run as your user, it uses a windows system account. Be sure you point the TabloRipper output folder to one that has read/write access for “everyone”. Ask Google for help if you need more info on setting permissions.

The background “Start” button works just like the background service, except it’s running as “you” instead of a windows system account. Assuming it works (now that you’d given it something to do by deleting the Completed file), then the background service will work too - once you have the permissions straightened out.

Let me know if you have more questions.

Thank you for the quick response - I have noticed you are very active on this thread, that is much appreciated.

Previously I have not seen that Completed_XXX.xml file in that folder (nor anywhere) - but I will check again tonight.

The background service is started, and is shown via Task Manager as running. Since I could manually rip to the output folder (a network share), I did not consider permissions as an issue (overlooking the service may/would be using a different user).

I will check into that as well tonight.

A related (as has been stated in other forums as the Wife Acceptance Factor) key question - all the shows [manually] rip perfectly into folders, with season info etc - sans one… the WAF show - The Young and the Restless. That show does not create, or locate into a folder. Rather, that one show rips to a simple file name (no season info, etc).mp4 at the root of the TV Shows folder (instead of into a The Young and the Restless Folder) the way all the other recordings do with their output.

Is there a setting or config I can change/review/modify to fix that one show?

Finally - one other config question - is there a way to change the output from creating a “TV Shows” folder, to using an existing folder or creating a new folder without spaces in the file name (e.g. “TVShows”)? I am working at syncing programs from HDHomeRun and Tablo into one folder, but the HDHomeRun DVR software will not run with a space in the output folder name (via OSX config file).

Thanks.

  1. The Young and the Restless. Unfortunately there are some shows that don’t include “season/episode” metadata. Take a look at your Tablo recordings for that show - I suspect that info is “missing”. Assuming that’s the case, I’m not sure what we can do to automate a solution, but I’m open to idea? (yes, WAF is a TOP priority here too).

  2. I don’t currently have a way to override the output folder names, but there are a few other similar constants that I’ve moved to the “Settings.xml” file (same folder as the Completed file). I’ll see about moving that one too, which means you could edit the value I’m using to your heart’s content.

PS - I forgot to mention that you CAN change the user credentials of the background service manually, so it CAN run as “you” if you need it to, You just have to remember to update that change if/when you uninstall/reinstall the service.

Re: 1.) Ok, I will look into some type of automation options for copying into a folder that Plex can recognize for the TV Shows channel.

Re 2.) I will look for more info in that file - it was very basic when I reviewed it previously. Maybe I was not quite clear in my previous post - I don’t want to change the episode folder names - just the initial folder that Tablo Ripper creates upon first execution(rip) - the “TV/space/Shows” folder - does that make sense? For the HDHomeRun project - I have the output folder for recordings named: hdhomerun - then all the show subfolders reside under that parent folder, and are visible via the Channels beta app. Ideally, I would like the Tablo Ripper to use that same folder/location as the parent folder for all the show subfolder to reside.

The main reason for ripping and using the Tablo recordings at this time, is that Plex will provide an important feature for WAF, that is not yet available in Channels - pause/resume (at the same stopping point) previous recordings, and mark recordings as watched.

Re 3.) Yep, just forgot the service was using a different user than the ‘logged in’ user.

Again - thanks for your quick responses.

@Hotrod_Hemi

Re: 1.) A number of people on this thread (including myself) use MCE Buddy to post process the files that Tablo Ripper drops into the TV Show folder. You can do a lot of cool things in MCE Buddy, like rip commercials out (using Commskip), File Renaming, Encoding, etc.

To just move the files, you can set “Destination Path” and the conversion process to MP4 Unprocessed and then MCE Buddy will automatically process the files once they are in the Monitor Location (“TV Show” folder).

Another really nice feature in MCE is the ability to define custom file renaming. So you can have the video dropped into folders by Show, Season, etc.

1 Like

Thanks for the reminder and suggestion of MCE Buddy - I have been considering that option, but am trying to fully understand this tool and its feature sets/functions before adding one more variable yet.

Appreciate the positive ideas/features with MCE Buddy.

1 Like

Hmmm. I still see un-escaped quotes passing through in 2.0.9 and causing the ffmpeg command to fail. Here is the latest log snippet including the JSON responses getting the description and then the ffmpeg command generated:

3/31/2016 1:03:56 PM InvokeApi
3/31/2016 1:03:56 PM JSON: {“object_id”:77509,“path”:"/recordings/series/episodes/77509",“series_path”:"/recordings/series/77510",“season_path”:"/recordings/series/seasons/77511",“snapshot_image”:{“image_id”:80322,“has_title”:false},“airing_details”:{“datetime”:“2016-03-30T02:00Z”,“duration”:3600,“channel”:{“object_id”:12163,“path”:"/recordings/channels/12163",“channel”:{“call_sign”:“WUSA-HD”,“major”:9,“minor”:1,“network”:“CBS”,“resolution”:“1080i”}}},“video_details”:{“state”:“finished”,“size”:2666934272,“duration”:3920,“width”:1280,“height”:720,“schedule_offsets”:{“start”:-15,“end”:305}},“user_info”:{“position”:25,“watched”:false,“protected”:false},“episode”:{“title”:null,“description”:“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting “The Late Late Show.””,“number”:0},“qualifiers”:[“cc”]}
3/31/2016 1:03:56 PM InvokeApi
3/31/2016 1:03:57 PM JSON: {"/recordings/series/seasons/77511":{“object_id”:77511,“path”:"/recordings/series/seasons/77511",“series_path”:"/recordings/series/77510",“season”:{“number”:0,“name”:“0”},“season_counts”:{“airing_count”:1,“unwatched_count”:1,“protected_count”:0,“watched_and_protected_count”:0,“failed_count”:0}},"/recordings/series/77510":{“object_id”:77510,“path”:"/recordings/series/77510",“series”:{“title”:“The Late Late Show Carpool Karaoke Primetime Special”,“description”:“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting “The Late Late Show.””,“orig_air_date”:“2016-03-29”,“episode_runtime”:3600,“cast”:[“James Corden”,“Jennifer Lopez”],“awards”:null,“background_image”:{“image_id”:7962,“has_title”:true},“cover_image”:{“image_id”:7961,“has_title”:true},“thumbnail_image”:{“image_id”:7960,“has_title”:true}},“show_counts”:{“airing_count”:1,“unwatched_count”:1,“protected_count”:0,“watched_and_protected_count”:0,“failed_count”:0}}}
3/31/2016 1:03:57 PM RemuxRecording
3/31/2016 1:03:57 PM FFMPEG : C:\Program Files\TabloRipper\ffmpeg.exe
3/31/2016 1:03:57 PM TempOutput: E:\Tablo\tmp\Foreground_rip.mp4
3/31/2016 1:03:57 PM Output : E:\Tablo\TV Shows\The Late Late Show Carpool Karaoke Primetime Special - .77509.mp4
3/31/2016 1:03:57 PM InvokeApi
3/31/2016 1:03:57 PM JSON: {“token”:“1fe24c39-2df9-4886-9e21-83fc06d49134”,“expires”:“2016-04-01T17:03:57Z”,“playlist_url”:“http://192.168.1.8:80/stream/pl.m3u8?Jd5yMk7e9zAlLS8LGn0tWA",“bif_url_sd”:“http://192.168.1.8:80/stream/bif?Jd5yMk7e9zAlLS8LGn0tWA”,“bif_url_hd”:“http://192.168.1.8:80/stream/bif?Jd5yMk7e9zAlLS8LGn0tWA&hd”,“video_details”:{“width”:1280,"height”:720}}
3/31/2016 1:03:57 PM Options: -y -i http://192.168.1.8:80/stream/pl.m3u8?Jd5yMk7e9zAlLS8LGn0tWA -codec copy -strict -2 -c:a aac -threads 0 -metadata title="" -metadata description=“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting “The Late Late Show.”” -metadata synopsis=“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting “The Late Late Show.”” -metadata date=“2016-03-29 22:03:00” “E:\Tablo\tmp\Foreground_rip.mp4”
3/31/2016 1:03:57 PM Running as user: “C:\Program Files\TabloRipper\ffmpeg.exe” -y -i http://192.168.1.8:80/stream/pl.m3u8?Jd5yMk7e9zAlLS8LGn0tWA -codec copy -strict -2 -c:a aac -threads 0 -metadata title="" -metadata description=“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting “The Late Late Show.”” -metadata synopsis=“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting “The Late Late Show.”” -metadata date=“2016-03-29 22:03:00” “E:\Tablo\tmp\Foreground_rip.mp4” in C:\Program Files\TabloRipper
3/31/2016 1:03:59 PM Exception: Could not find file ‘E:\Tablo\tmp\Foreground_rip.mp4’.

Try it once more (just uploaded fix part #2)

2.0.11 works like a charm! The quotes are changed to single quote and the ffmpeg runs fine.

3/31/2016 8:24:19 PM Running as user: “C:\Program Files\TabloRipper\ffmpeg.exe” -y -i http://192.168.1.8:80/stream/pl.m3u8?htGfl6_IjnZcXXRQwcqTFA -codec copy -strict -2 -c:a aac -threads 0 -metadata title="" -metadata description=“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting ‘The Late Late Show.’” -metadata synopsis=“Singer Jennifer Lopez joins TV host James Corden for a new edition of the popular segment; Corden looks back on his favorite moments from his first year hosting ‘The Late Late Show.’” -metadata date=“2016-03-29 22:03:00” “E:\Tablo\tmp\Foreground_rip.mp4” in C:\Program Files\TabloRipper\

1 Like

And they say the third time is a charm? Thanks for your excellent description and log capture. That really helps SO much!

For TV episodes that are missing the Season/Episode (and probably Title), I wonder it creating a these values from the Air Date and Channel information would be an option.

For Example: The Young and the Restless that airs today (2016-04-01) on Channel 9 could become:
The Young and the Restless - s2016e0401 - Aired 2016-04-01 CH09

I have a few shows that have the same issue and I think this would work for me. Not sure how others feel about the solution or how much effort is involved for @CycleJ

Thanks,

1 Like

Great idea. Check out the latest version.

Thank you. I have tried it out and it looks good.

1 Like

Thanks for your Wiki suggestion and all your help getting it up and running. :grinning:

The old “readme” file is gone, replaced with a wiki that’s linked in the latest version.

Anyone else want to contribute? Please PM me your GitHub creds and I’ll hook you up.

So I installed the ripper and it took video from Tablo to my computer. ( I had to delete all the files from Tablo because the device was corrupt.) Well now that I factory reset my Tablo and it appears to be working fine can I now take the video files from my computer and reinstall them on the Tablo? If so how? Thanks in advance - Alan

Sorry, there’s nothing in the Tablo API to allow “uploading” files to your Tablo. It keeps an internal list of recordings, and merely copying them to the hard drive won’t add them to that list.