I posted 0.5 for linux only. let me know if thats better
it also has the -dump switch that I use with my dual:
example:
capto -q -p /Storage -dump -f –
Will dump everything on the tablo to /Storage and DELETE it from the tablo.
I posted 0.5 for linux only. let me know if thats better
it also has the -dump switch that I use with my dual:
example:
capto -q -p /Storage -dump -f –
Will dump everything on the tablo to /Storage and DELETE it from the tablo.
Your work on capto is commendable - no doubt! I haven’t fully used it, but find it beneficial. Couple notes:
You provide direction to install curl, libdate-manip-perl and another, not ffmpeg. You include a static version, probably for simplistic reasons. Irregardless, it’s version N-82118-g85d23e5-static 20160904
while the current is g4a976200d7 built on 20181101
- the archive link only goes back to 2017
Although capto isn’t OSS your static distribution of ffmpeg is, and of course All static builds available here are licensed under the GNU General Public License version 3.
Which reads in part:
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. […] And you must show them these terms so they know their rights.
Just because tablotv doesn’t pass on GPL, or any EULA, it’s probably not an exemption included in your NDA.
Again, capto is great work. I really just needed a way to get episode names to match up with the numbers. Great for archiving and “no internet” viewing.
the cli is your friend
You seem quite concerned with this, unfortunately I am not.
You can specify an alternative path to ffmpeg with: -ffmpeg /path
Thanks, I tried the 0.5 version, but get the same result with the unquoted string error:
jmenke@emily:~/tablodump$ capto -e 1035648 -f plex
[capto] datetime => Sun Nov 26 07:00:00 2017
[capto] duration => 2114
[capto] epid => 1035648
[capto] episode => 04
[capto] epoch => 1511701200
[capto] eptitle => Tunnels, Beakmania & Trains
[capto] recid => 914411
[capto] season => 02
[capto] series => Beakman's World
[capto] title => Beakman's World - s02e04 - Tunnels, Beakmania & Trains
[capto] type => series
[capto] watchid => 1035648
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] Beakman's World - s02e04 - Tunnels, Beakmania & Trains.mp4
sh: 1: Syntax error: Unterminated quoted string
[capto]
[capto] Export Completed in: 0h 0m 6s
Also, it looks like perl isn’t properly populating the include path, as it can’t find utf8_heavy, which is located in the same path where it pulled utf8.pm:
jmenke@emily:~/tablodump$ capto -s Painting
Can't locate utf8_heavy.pl in @INC (@INC contains: /tmp/par-6a6d656e6b65/cache-167dafd6df8ada86d94a1d67988ba75da6c65d14/inc/lib /tmp/par-6a6d656e6b65/cache-167dafd6df8ada86d94a1d67988ba75da6c65d14/inc CODE(0x55f9b9f97540) CODE(0x55f9b9f97738)) at /usr/share/perl/5.24/utf8.pm line 16.
jmenke@emily:~/tablodump$ locate utf8_heavy.pl
/usr/lib/x86_64-linux-gnu/perl-base/utf8_heavy.pl
/usr/share/perl/5.24.1/utf8_heavy.pl
(/usr/share/perl/5.24 is a symlink to /usr/share/perl.5.24.1):
jmenke@emily:~/tablodump$ ls -alh /usr/share/perl/5.24
lrwxrwxrwx 1 root root 6 Sep 25 2016 /usr/share/perl/5.24 -> 5.24.1
Im not sure here. I tricked mine to use your title for testing and its working fine. Sure you’re on 0.5?
nexus/root# /root/Dropbox/linux/capto/capto.pl -e 491136 -f plex
[capto] datetime => Wed Sep 12 22:30:00 2018
[capto] duration => 7279
[capto] epid => 491136
[capto] episode => 00
[capto] epoch => 1536816600
[capto] eptitle =>
[capto] recid => 491136
[capto] season => 00
[capto] series =>
[capto] title => Beakman’s World - s02e04 - Tunnels, Beakmania & Trains
[capto] type => movie
[capto] watchid => 491135
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] Beakman’s World - s02e04 - Tunnels, Beakmania & Trains.mp4
[capto] Progress: 00:03:05 / 02:01:19 (speed 18.5x) (size 39.87MB) [3%]
This is a problem with your perl install / system.
Maybe it fails with the first quote in series name. Which your test didn’t have.
[capto] series => Beakman’s World
Ill try that too. im building all 3 new 0.6 versions with updated ffmpegs. ill try to work on that quote issue before releasing.
Yes, definitely 0.5:
jmenke@emily:~$ which capto
/home/jmenke/bin/capto
jmenke@emily:~$ ls -alh which capto
lrwxrwxrwx 1 jmenke jmenke 35 Nov 8 21:38 /home/jmenke/bin/capto -> /home/jmenke/capto.v0.5.linux/capto
It appeared you used PAR Packer 1.036 to compile capto. https://metacpan.org/pod/pp notes:
If your packed program exits with an error message like
Can't locate utf8_heavy.pl in @INC (@INC contains: ...)
Same as @johnmenke, implying it’s not user issue. Suggesting the developer:
try to pack it with -u (or use -x).
-u , –unicode
Package Unicode support (essentially utf8_heavy.pl and everything below the directory unicore in your perl library).
This option exists because it is impossible to detect using static analysis if your program needs Unicode support at runtime. (Note: If your program contains
use utf8
this does not imply it needs Unicode support. It merely says that your program is written in UTF-8.)
He shows perl 5.24 mine shows 5.26 and 5.28 - maybe just enough changed between whatever version you started with.
Ok, version 0.6 is on the site for linux only.
changelog:
once its been tested ill update the other platforms. if its still broke ill keep making 0.6 versions until its not.
You’ve done great work! One note, seems if I use -f
and don’t specify .mp4
nothing happens.
/media/dvr$ capto -e 7728 -f Manifest -ffmpeg /usr/bin/ffmpeg
[capto] ffmpeg path set to: /usr/bin/ffmpeg
[capto] datetime => Mon Nov 05 22:00:00 2018
[capto] duration => 3682
[capto] epid => 7728
[capto] episode => 06
[capto] epoch => 1541473200
[capto] eptitle => Off Radar
[capto] recid => 6832
[capto] season => 01
[capto] series => Manifest
[capto] title => Manifest - s01e06 - Off Radar
[capto] type => series
[capto] watchid => 7728
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] Manifest
[capto] Progress: / 01:01:21 (speed ) (size 0.00MB) [0%]
[capto] Export Completed in: 0h 0m 0s
add .mp4 to the specified file name
:/media/dvr$ capto -e 7728 -f Manifest.mp4 -ffmpeg /usr/bin/ffmpeg
[capto] ffmpeg path set to: /usr/bin/ffmpeg
[capto] datetime => Mon Nov 05 22:00:00 2018
[capto] duration => 3682
[capto] epid => 7728
[capto] episode => 06
[capto] epoch => 1541473200
[capto] eptitle => Off Radar
[capto] recid => 6832
[capto] season => 01
[capto] series => Manifest
[capto] title => Manifest - s01e06 - Off Radar
[capto] type => series
[capto] watchid => 7728
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] Manifest.mp4
^Capto] Progress: 00:02:22 / 01:01:21 (speed 13.6x) (size 90.70MB) [4%]
I did ^C, but you can see the progress differences. And I did run ./capto from the archive dir with the distributed ffmpeg and same results.
Other than kind of knowing what it does, I have no real understanding of ffmpeg. When I use it to extract the files with out .mp4 it exits with error,
/media/dvr$ ffmpeg -i http://192.168.1.11:18080/pvr/7728/pl/playlist.m3u8 -bsf:a aac_adtstoasc -vcodec copy -acodec copy -crf 18 Manifest
Unable to find a suitable output format for 'Manifest'
Manifest: Invalid argument
add the extension and it works. So the issue may actually be an ffmpeg ‘thing’.
(I got the extraction line from ferris-tablo there’s a create an mp4 script using avcon)
There is a new v0.6 up that should fix this, please test.
It will auto add .mp4 on the filename if it doesn’t detect it. ffmpeg needs the extension to create the file properly.
Would love it if @johnmenke would test the quote character problem.
I did test the new version…
capto -v
capto v0.6
dj@htpc:~$ capto -e 7728 -f Manifest -ffmpeg /usr/bin/ffmpeg
[capto] ffmpeg path set to: /usr/bin/ffmpeg
[capto] datetime => Mon Nov 05 22:00:00 2018
[capto] duration => 3682
[capto] epid => 7728
[capto] episode => 06
[capto] epoch => 1541473200
[capto] eptitle => Off Radar
[capto] recid => 6832
[capto] season => 01
[capto] series => Manifest
[capto] title => Manifest - s01e06 - Off Radar
[capto] type => series
[capto] watchid => 7728
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] Manifest
[capto] Progress: / 01:01:21 (speed ) (size 0.00MB) [0%]
[capto] Export Completed in: 0h 0m 0s
Here I first capto -v then ran the command. If you’re telling me there is a new version, with the exact same version number - not sure I can’t keep track of that.
I did test single quote in show title and episode title without issue. Well, if I tried to -f “file name with 'in it.mp4” it still removed it. But file names really souldn’t have them. It overlooks ! in titles and “; , ?” in episode names, haven’t found an ampersand, colon or a paren yet. : ) Someday for some unknown reason they’ll throw a " in there.
It does seem to be working properly now:
jmenke@emily:~/tablodump$ capto -e 914414 -f plex
[capto] datetime => Sun Sep 10 07:00:00 2017
[capto] duration => 2114
[capto] epid => 914414
[capto] episode => 08
[capto] epoch => 1505044800
[capto] eptitle => Sound, Beakmania & Explosions
[capto] recid => 914411
[capto] season => 01
[capto] series => Beakman's World
[capto] title => Beakman's World - s01e08 - Sound, Beakmania & Explosions
[capto] type => series
[capto] watchid => 914414
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] Beakmans World - s01e08 - Sound, Beakmania and Explosions.mp4
[capto] Progress: 00:35:16 / 00:35:14 (speed 19.2x) (size 544.51MB) [100%]
[capto] Export Completed in: 0h 1m 50s
jmenke@emily:~/tablodump$ capto -s Beakman
[capto] [2017-09-10 07:00] (914414) Beakman's World - s01e08 - Sound, Beakmania & Explosions
Also, it the Perl include issue seems to have been resolved:
jmenke@emily:~/tablodump$ capto -s Beakman
[capto] [2017-09-10 07:00] (914414) Beakman's World - s01e08 - Sound, Beakmania & Explosions
Looks good! I’ve run this through some for loops and have moved several shows to Plex, then clearing up about half a terabyte of space on my Tablo disk.
One question… do you have plans for accepting multiple arguments? Deletion takes a while, due to the fact that it’s updating the database after every delete action. It would speed things up if I could pass it multiple arguments after the -d flag so that it would only need to update the database once it has deleted all of them.
Please redownload version 0.6.
new:
@johnmenke please retest the issue with the quote. make sure i didnt re-break it.
Downloading of titles that contain single quotes still functions.
I tested a bulk deletion from a generated search list:
jmenke@emily:~/tablodump$ echo $(capto -s TV 2>/dev/null | grep Dinosaur\ Train | awk '{print $4}' | sed s/[\(\)]//g | grep -v input) | sed s/\ /,/g
1338497,1338511,1338505,1338520,1341174,1342787,1344452,1344453,1345930,1351833,1353197,1357648,1362054,1372753,1374301,1376048,1376049,1377614,1377626
It appears to have worked just fine:
jmenke@emily:~/tablodump$ capto -d $(echo $(capto -s TV 2>/dev/null | grep Dinosaur\ Train | awk '{print $4}' | sed s/[\(\)]//g | grep -v input) | sed s/\ /,/g)
[capto] updating database, this may take a while...
[capto] DELETED: Dinosaur Train - s01e26 - Confuciusornis Says; Tiny's Tiny Doll
[capto] DELETED: Dinosaur Train - s03e10 - Tiny's Fishing Friend; Butterflies
[capto] DELETED: Dinosaur Train - s04e02 - Rollin' on the Riverboat: Part One; Rollin' on the Riverboat: Part Two
[capto] DELETED: Dinosaur Train - s01e18 - The Burrowers; Shiny's Sea Shells
[capto] DELETED: Dinosaur Train - s01e04 - I'm a T. Rex!; Ned the Quadruped
[capto] DELETED: Dinosaur Train - s01e30 - New Neighbors; Don's Collection
[capto] DELETED: Dinosaur Train - s01e00 - Hootin' Hadrosaurs!; Hatching Party
[capto] DELETED: Dinosaur Train - s04e10 - What's at the Center of the Earth? Troglobites! Minerals!
[capto] DELETED: Dinosaur Train - s01e11 - Derek the Deinonychus; Don's Dragonfly
[capto] DELETED: Dinosaur Train - s01e27 - Iggy Iguanodon; Shiny Can't Sleep
[capto] DELETED: Dinosaur Train - s01e33 - Buck-Tooth Bucky; Tiny's Tiny Place
[capto] DELETED: Dinosaur Train - s02e20 - The Egg Stealer?; To Grandparents' Nest We Go!
[capto] DELETED: Dinosaur Train - s01e23 - Triassic Turtle; Tank's Baby Brother
[capto] DELETED: Dinosaur Train - s01e29 - Long Claws; Tank's Sleep Over
[capto] DELETED: Dinosaur Train - s04e04 - Stop and Smell the Flowers; Moms' Campout
[capto] DELETED: Dinosaur Train - s01e37 - The Amazing Michelinoceras Brothers; Dad's Day Out
[capto] DELETED: Dinosaur Train - s04e09 - What's at the Center of the Earth? Layers!; What's at the Center of the Earth: Fossils!
[capto] DELETED: Dinosaur Train - s04e05 - Where Have All the Lizards Gone?; Conductor's Sleepover
[capto] DELETED: Dinosaur Train - s02e07 - That's Not a Dinosaur; Tiny's Garden
[capto] [1587624] CACHED: Monster Energy Cup Series: Can-Am 500
Much better, thanks for the feature add!
Updated all versions to 0.6. I was having some issues with the mac one so cant promise that will work. I cant seem to update my original post which sucks.
changelog
v0.6