Capto for Tablo (CLI Grabber)

Can’t run on Mac OS Mojave:

Manta:capto.v0.6.macos jkeenan$ ./capto -u 192.168.111.25
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: CODE(0x7fc1a0da1458) /var/folders/j5/hp16sj9j077g4c8cszk56pv80000gq/T/par-6a6b65656e616e/cache-614779a50441313fe3639a87e1dcffeb89149e6f/inc/lib /var/folders/j5/hp16sj9j077g4c8cszk56pv80000gq/T/par-6a6b65656e616e/cache-614779a50441313fe3639a87e1dcffeb89149e6f/inc CODE(0x7fc1a0c8e5b0) CODE(0x7fc1a0c8eb00)) at script/capto.pl line 7.
BEGIN failed--compilation aborted at script/capto.pl line 7.

All the steps on the linked web page were followed.

Manta:capto.v0.6.macos jkeenan$ sudo cpanm install JSON
Password:
install is up to date. (0.01)
JSON is up to date. (2.97001)

Which I warned about in my previous post. I haven’t been able to find a fix. Apple loves to break their very expensive crap.

capto seems to be working fine, other than actually downloading:

% capto -e 829605 -f out.mp4

[capto] datetime => Sun Nov 25 19:00:00 2018
[capto] duration => 3682
[capto] epid => 829605
[capto] episode => 02
[capto] epoch => 1543190400
[capto] eptitle => Surviving the Holocaust
[capto] recid => 627041
[capto] season => 02
[capto] series => We'll Meet Again
[capto] title => We'll Meet Again - s02e02 - Surviving the Holocaust
[capto] type => series
[capto] watchid => 829605
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] out.mp4
[capto] Progress:  /  (speed ) (size 0.00MB) [0%]
[capto] Export Completed in: 0h 0m 1s

Ubuntu 18.04 (KDE Neon actually), Perl 5.26, ffmpeg 3.4.4, capto versions 0.5 and 0.6, Tablo 2.2.22.

Any ideas?

try another show? same results? try with the included ffmpeg?

OK, tried several shows and with the included ffmpeg. No change.

redownload v0.6 and try again, this time adding: -debug to your syntax.
that should give you the full ffmpeg command its using. try running that whole command to see what happens.

OK, tried that (very helpful).

The included ffmpeg gives an error for missing libva.so.1. I could find no package to supply it. As a hack, I symlinked libva.so.2 to it. That got me to another error:

failed: Connection refused
http://tablo.local:21200/stream/pl.m3u8?A8-h1xwlW-BVFJY25GtA-g: Connection refused

Tried the system ffmpeg also, which gave that same error.

Tried ‘telnet tablo.local 21200’ which also gave connection refused.
(telnet to the default port gave the “Welcome to Slipstream” login)

cant help ya on this. its a system thing. you did an apt-get on ffmpeg ?

connection refused is a tablo problem btw. check firewall and all of that.

I get Unknown option: debug
Of course I don’t know thing about this, I’ve know the port to be 18080. When I use http://[tabloIP]:21200/ I get unable to connect as well
Even so, wouldn’t his URI need to specify episodeID
Just wondering, I don’t have any specs on this… Admitting, I primarily use capto to get show names and use ffmpeg directly to save files. Now I’m also using it to delete them from the tablotv device.

-debug only works on latest 0.6 (latest as in today) for 64bit linux.
we dont know what ffmpeg command hes using. he didnt supply it.

I couldn’t see how this would be firewall related (the connection reaches the tablo and it is refused there), but removed all the iptables rules anyway. No difference.

djk44883 nailed it. It works swell on port 18080. Both with the supplied ffmpeg and with the system ffmpeg (got identical results).

I have no idea which ports the tablo uses and for what, but for now I can write a wrapper to change this.

Thanks tgwaste for all your work and help on this. Thanks djk44883 for the lead.

Your’re killing me dude! How many version 0.6 are there? how can I track them?!?
Could you consider 0.6.1, 0.6.2, 0.6.3 similar? …just a suggestion.

Otherwise, again, your work is greatly appreciated!

@djk44883 in my message I said “redownload v0.6 and try again”

@rebel no idea why there are port issues but the ports for the url stream are supplied by the Tablo. capto doesn’t do anything with ports.

OK… I did, it says I can use -c to get channel data. It actually prints out code with data from /guide/series/XXX and /recordings/series/episodes/XXXX ?
Not http://[tabloIP]:8885/guide/channels[XX]

I don’t mean to be difficult, or give you a hassle.:neutral_face:

Thats part of some new features that I haven’t said a word about.
Dont use that :slight_smile: Its not supported yet.

:see_no_evil: :hear_no_evil: :speak_no_evil:

Interesting. I’m ok with my little wrapper hack:

exec /usr/bin/ffmpeg "${@//:21200/:18080}"

and know where to look, what to tweak if problems recur. Keep it in mind for any similar reports.

Thanks for all your help and for your work on this project.

@tgwaste, @wbill3d, @CaptoUser
Can anyone confirm any issues upgrading tablo firmware 2.2.26 using

$ capto -v
capto v0.6 by tgwaste  

[] issues
[] no issues
[] unknown

Everything had been working as-is, no use for com-skip… so I left well enough alone :man_shrugging:

I haven’t done any extensive testing, but also haven’t seen any problems with my regular cronjobs that call wrapto and capto.

I believe one of capto’s claims to fame, is that it uses the proprietary API and should be stable between point releases.

1 Like