The question is strange to me. Just update and try it. If it breaks let me know. Ive not had a single issue and im pretty sure im on the newest version.
paranoia I guess. Iāve become relient on these tools - thanks!!
Well, now that youāve mentioned it. This is the second time Iāve recently seen this
Wide character in print at script/capto.pl line 771.
[capto] [2019-08-25 13:00] (140598) This Old House ā 40th Anniversary Special - s00e00 -
The previous was in a Star Trek episode - Ep 29: Operation ā Annihilate! (this was copyNpaste from MeTV)
Iāve pasted in to google and appears to be em dash You know, another one of those special characters they keep sticking in titles, descriptions and names from the guide data.
Itās unlikely related to firmware. It appears more of a warning than an error, itās annoying mostly. I export that show, delete it and all is well. I used capto -e ID with nothing else and worked as expected.
Thanks again for the work!
twg.org appears to be down???
Browser times out when trying to connect.
Are you asking 3 questions???
I no longer support HTTP/80. You can reach the site here:
https://www.twg.org/capto/
I asking you a question, questioning my laptop, and questioning my own incompetence/ignorance
Would Capto work locally, i.e., extract the files from an old Tablo drive that is mounted as a local drive?
Hi tgwaste,
I installed capto on Ubuntu 19.10 and tested. Initially, when I tried to download an episode, I would get this:
./capto -e 299072 -f /home/rreed/Downloads/1234
[capto] datetime => Mon Jan 20 08:30:00 2020
[capto] duration => 1848
[capto] epid => 299072
[capto] episode => 11
[capto] epoch => 1579527000
[capto] eptitle => Stoop Planters; Fireplace Insert
[capto] recid => 69863
[capto] season => 18
[capto] series => Ask This Old House
[capto] title => Ask This Old House - s18e11 - Stoop Planters; Fireplace Insert
[capto] type => series
[capto] watchid => 299072
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] /home/rreed/Downloads/1234.mp4
[capto] Progress: / (speed ) (size 0.00MB) [0%]
[capto] Export Completed in: 0h 0m 0s
And nothing downloaded. After some dinking around, I found that when I ran the ffmpeg binary in the capto directory, I get the error:
ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
So I moved the ffmpeg binary out of the folder and dropped a symlink in the folder to the ffmpeg binary already residing in /usr/bin. Then when I tried to download an episode, it worked, as shown below:
capto -e 299072 -f /home/rreed/Downloads/1234
[capto] datetime => Mon Jan 20 08:30:00 2020
[capto] duration => 1848
[capto] epid => 299072
[capto] episode => 11
[capto] epoch => 1579527000
[capto] eptitle => Stoop Planters; Fireplace Insert
[capto] recid => 69863
[capto] season => 18
[capto] series => Ask This Old House
[capto] title => Ask This Old House - s18e11 - Stoop Planters; Fireplace Insert
[capto] type => series
[capto] watchid => 299072
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] /home/rreed/Downloads/1234.mp4
[capto] Progress: 00:31:15 / 00:30:47 (speed 14x) (size 1048.49MB) [101%]
[capto] Export Completed in: 0h 2m 15s
But the video and audio are out of sync. Is there anything I can to force the video and audio to resync?
Bob Reed
P.S. And please, no jokes about the This Old House video. I needed files for testing!
apt-get install ffmpeg
Then use -ffmpeg /path/to/ffmpeg with capto to make it use that. Only have to do it once. Itāll save path.
This is all very confusing to me?
I just want to export my recordings? What do I do? Where do I get it?
Richard
https://www.twg.org/capto/
Click the download button
Use the instructions to install
Installation instructions:
tar -zxvf capto*tgz
apt-get -y install curl libdate-manip-perl libpar-packer-perl
./capto -u -ip ip_or_host_of_tablo
(example: ./capto -u -ip 10.0.1.6)
It works great on itās own but Iāve found wrapto to be a great āadd onā, but one thing at a time. You need to get capto itās relatively easy to use and has little configuration involved.
Iāve discovered ways to get some great use from it, dump a list of recordings to selectively export. But if you just want to export shows from your tablo it can just dump them all or you can specify which you want.
mac version?
FYI, I just downloaded and tried capto for the first time (version 0.6). I had an issue with symptoms similar to rebelās (immediate return with no transcoding).
After some experimentation, I found that if I specified the hostname in the -ip parameter (rather than the IP address), it caused capto to issue an invalid URL for the stream - for example:
http:///stream/pl.m3u8?Tzi7bDVq8b0nIO-Fs-BdyQ
(note the lack of a hostname or IP address in the URL).
By specifying the IP address, it works OK.
Any chance of getting that fixed?
ahagge,
This seems to actually be an issue with the Tablo API that @TabloSupport would need to fix. I have had similar issues with my toolā¦there is a prescribed process to get the streaming URLā¦it seems weird, but when you specify a name, which is not how Tablo knows itself, it doesnāt seem to issue a streaming url properlyā¦it seems to drop the host name out (presumably because the server doesnāt know itself by that nameā¦so, Capto is likely simply returning to you exactly what Tablo is giving it as the streaming URL
Discovered issues using names, virtually every aspect worksā¦ except streaming URL and youāve discovered. @LJ_LongWing has some introspect. Hereās some what Iāve found, if you care, itās not all specific to capto (witch I use daily) but issues are the same -
Iāve run across a small bug, where if an episode name contains a slash (/), it is not sanitized and becomes part of the output path rather than an escaped character as part of the file name. Here is an example:
jmenke@helga:/mnt/media/video/TV$ capto -s "Daytripper"
[capto] [2020-05-21 20:30] (2557072) The Daytripper - s11e11 - Palacios/Matagorda, TX
[capto] [2021-06-24 20:00] (3358302) The Daytripper - s09e02 - North Padre Island, TX
jmenke@helga:/mnt/media/video/TV$ capto -e 2557072 -f plex
[capto] datetime => Thu May 21 20:30:00 2020
[capto] duration => 1814
[capto] epid => 2557072
[capto] episode => 11
[capto] epoch => 1590111000
[capto] eptitle => Palacios/Matagorda, TX
[capto] recid => 1606349
[capto] season => 11
[capto] series => The Daytripper
[capto] title => The Daytripper - s11e11 - Palacios/Matagorda, TX
[capto] type => series
[capto] watchid => 2557072
[capto]
[capto] [Control-C to Abort]
[capto]
[capto] The Daytripper - s11e11 - Palacios/Matagorda TX.mp4
[capto] Progress: / 00:30:13 (speed ) (size 0.00MB) [0%]
[capto] Export Completed in: 0h 0m 4s
No error output, just as if it completed without any progress. A stack trace shows ffmpeg attempting to write to the file path and failing, likely because itās interpreting the specified file name as being prepended with a directory name:
wait4(9699, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 9699
write(1, "[capto] datetime => Thu May 21 20:30:00 2020\n", 45) = 45
write(1, "[capto] duration => 1814\n", 25) = 25
write(1, "[capto] epid => 2557072\n", 24) = 24
write(1, "[capto] episode => 11\n", 22) = 22
write(1, "[capto] epoch => 1590111000\n", 28) = 28
write(1, "[capto] eptitle => Palacios/Matagorda, TX\n", 42) = 42
write(1, "[capto] recid => 1606349\n", 25) = 25
write(1, "[capto] season => 11\n", 21) = 21
write(1, "[capto] series => The Daytripper\n", 33) = 33
write(1, "[capto] title => The Daytripper - s11e11 - Palacios/Matagorda, TX\n", 66) = 66
write(1, "[capto] type => series\n", 23) = 23
write(1, "[capto] watchid => 2557072\n", 27) = 27
write(1, "[capto] \n", 9) = 9
write(1, "[capto] [Control-C to Abort]\n", 29) = 29
write(1, "[capto] \n", 9) = 9
write(1, "[capto] The Daytripper - s11e11 - Palacios/Matagorda TX.mp4\n", 60) = 60
write(1, "[capto] Starting... \r", 25) = 25
stat("", 0x55e414c8e298) = -1 ENOENT (No such file or directory)
pipe([6, 7]) = 0
pipe([8, 9]) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fb89c0a8790) = 9701
close(9) = 0
close(7) = 0
read(8, "", 4) = 0
close(8) = 0
ioctl(6, TCGETS, 0x7ffc74204fb0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
read(6, "ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers\n built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516\n configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared\n WARNING: library configuration mismatch\n", 8192) = 1225
stat("The Daytripper - s11e11 - Palacios/Matagorda TX.mp4", 0x55e414c8e298) = -1 ENOENT (No such file or directory)
write(1, "[capto] Progress: / (speed ) (size 0.00MB) [0%] \r", 55) = 55
stat("The Daytripper - s11e11 - Palacios/Matagorda TX.mp4", 0x55e414c8e298) = -1 ENOENT (No such file or directory)
write(1, "[capto] Progress: / (speed ) (size 0.00MB) [0%] \r", 55) = 55
stat("The Daytripper - s11e11 - Palacios/Matagorda TX.mp4", 0x55e414c8e298) = -1 ENOENT (No such file or directory)
write(1, "[capto] Progress: / (speed ) (size 0.00MB) [0%] \r", 55) = 55
stat("The Daytripper - s11e11 - Palacios/Matagorda TX.mp4", 0x55e414c8e298) = -1 ENOENT (No such file or directory)
write(1, "[capto] Progress: / (speed ) (size 0.00MB) [0%] \r", 55) = 55
I"ve never used the -f plex
always quoted complete filenames - or used wrapto - Wrapto: Wrapper for Capto for Tablo in scripts.
ā¦so You may have to use -f "The Daytripper - s11e11 - Palacios/Matagorda TX.mp4
"
Well, I think thatās not exactly how it would be broken down for plex, but you probably already figured things out.
I have a feeling @tgwaste as moved on from capto and maybe even tablo from some of his posts
Yeah, even double-quoting the file name doesnāt work. I think they way itās handling the file name before passing it to ffmpeg is simply not sanitizing that slash, so fmpeg is interpreting it as a literal relative path, and itās trying to stat a file name in a directory that doesnāt exist.
I got around it by just changing the name (modifying the slash to an underscore).
I hadnāt realized he had abandoned the Tablo platform, but I see what you mean from his most recent activity.
I had problems with capto a year or so ago with the TLS or what it was with the HTTPS/security ādealā. It wouldnāt always process the file, I had it scripted to delete afterwards and I would end up loosing recordings.
It was really really great to have it all scripted via cron jobs and not have to worry about anything along with wrapto. I miss them both
So I havenāt worked with it recently. I donāt recall ever having any issue with it not clearing special characters. I recall it always doing a great job. I do recall having some issues, with what I had and the developer, the had some settings/configurations different for their shell that werenāt āregularā.
I believe capto comes āself containedā with itās own perl runtime, and maybe ffmpeg or your own, runs in your shell as you may have it configured.