Tablo Exporter - Export Tablo Recordings

I’ll give it a shot and let you know how it went.


-Rodger

Weird … i am not showing any recordings beyond Feb 20, 2015 … is there some kind of internal limit for how many shows are displayed?



@ericgus no, I am guessing maybe an issue with some meta data. I needed to handle that thanks. Download the latest I just uploaded and run via command line and send me the error via PM

C:\\Users\\Eric\\Desktop\\tabloexporter>java -jar TabloExport.jar

Tablo :  -  -
java.io.FileNotFoundException: http://192.168.0.105:18080/pvr/287726/meta.txt
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
        at java.net.URL.openStream(Unknown Source)
        at tabloexport.MainController.readJsonFromUrl(MainController.java:287)
        at tabloexport.MainController.loadTabloData(MainController.java:340)
        at tabloexport.MainController.access$300(MainController.java:77)
        at tabloexport.MainController$1.handle(MainController.java:155)
        at tabloexport.MainController$1.handle(MainController.java:146)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
        at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
        at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
        at javafx.event.Event.fireEvent(Unknown Source)
        at javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
        at javafx.scene.Scene$ClickGenerator.access$8100(Unknown Source)
        at javafx.scene.Scene$MouseHandler.process(Unknown Source)
        at javafx.scene.Scene$MouseHandler.access$1500(Unknown Source)
        at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
        at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$350(Unknown Source)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$205/3867127.get(Unknown Source)
        at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
        at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
        at com.sun.glass.ui.View.notifyMouse(Unknown Source)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$145(Unknown Source)
        at com.sun.glass.ui.win.WinApplication$$Lambda$36/17230114.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Stopped

Ok, should have continued on though right? Or should I say loaded all your data

Ok, should have continued on though right? Or should I say loaded all your data

No … would seem it died right when it hit that … 

@ericgus you sure you got the latest? It catches that and ignores, but prints out the exception

I can redownload it again but is there any command line flag to show version to verify? . (I only downloaded it a few mins prior to my first post above)

@ericgus, might have been my mistake, just uploaded a newer version hopefully that won’t stop, but should still print the error


And no, I need to add a version number in there

Ok … I must just have grabbed the older one … re downloaded it and NOW its working … showing all the correct episodes … (I am still trying to figure out what show that was that failed and/or how to delete it since it just seems to only be 5 seconds of video (its from PBS … that much I can tell) … 

@ericgus, does it show up in recordings on the Tablo App??

@ericgus, does it show up in recordings on the Tablo App??

thats what I am trying to do … the only thing around that time frame is a thomas the tank engine episode… which would more or less fit … but the timestamps seem off.

This looks great so far! … exactly what I have been looking for … but I did notice its chewing up CPU like crazy during the download … I presume you are “converting” to mp4 in the process… anyway we can just get the “raw” ts stream dump to a file … I prefer to convert it to my own preferred formats (one which is a weird divx variant used by our in-car video headrests) and another is a custom AppleTV format I prefer for my Plex server) … (both of which I already have Handbrake templates for) … so I wouldnt need or want this tool to convert it since I will be converting it again anyway and I would prefer not to encur even more “loss” to the video if possible… 

I also noticed the converted/downloaded video has some audio sync issues not present with the web playback from the tablo app.

@ericgus  I am doing a fast download and convert. I could slow it down during, but kind of defeats the purpose of what I was doing.


And no, not going to download the ts files, again not what my purpose was. However, I do plan on allowing other formats. Not sure Dvix will be one of them however.

@ericgus about the sync issue. This is interesting. I did notice if I was using the computer at the same time doing other stuff it had some issues. Maybe try not doing anything else?


Also, maybe the slow down might help, just not sure I wanted to do that.
@ericgus  I am doing a fast download and convert. I could slow it down during, but kind of defeats the purpose of what I was doing.

And no, not going to download the ts files, again not what my purpose was. However, I do plan on allowing other formats. Not sure Dvix will be one of them however.

The divx format is so odd I doubt you could get it right … it took me a lot (and I mean a WHOLE LOT) of screwing around to get a video format the head rests would even touch (despite they advertised em as mp4 compatible – ha!)

@ericgus yea I have heard that, although could they use avi?


And no, not going to download the ts files, again not what my purpose was. However, I do plan on allowing other formats. Not sure Dvix will be one of them however.

I was thinking something more along the lines of just a simple concatenated file. … without any parsing… it should be fairly simple to implement… perhaps a check box when you are prompted for a location ? … it doesnt have to be complicated…

Yea, it will mean a lot more coding that I am not currently doing and you could use other processes to do that :wink: