TiVo Community Forum banner
  • TiVoCommunity.com Ambassador Program Now Open! >>> Click Here

.TIVO with CAPTIONS on Mac

8K views 55 replies 4 participants last post by  orinaccio 
#1 ·
How can I save a high quality .TIVO file to my Mac that can be later uploaded to the Tivo Roamio Plus preserving Closed Captions?

I have cTivo, kmttg, pytivo and would buy Tivo Desktop to run in Windows 7 under Parallels if that works best.

I just want the best quality .TIVO file on my computer hard disk to put back to the TIVO with closed captions. Then I'll be ecstatic!

If Tivo Desktop does that and runs on a Mac in Parallels then I'll buy it.

Thanks much,
-deac
 
#2 ·
All you need to do is when downloading from your TiVos with kmttg under config->Program Options make sure following is enabled:
"Download TiVo files in Transport Stream format"

Then, using pyTivo if you transfer these TS .TiVo files back to your TiVo the captions will be intact.
(Be advised though that by turning on above option you won't be able to decrypt the .TiVo files or do anything else with them other than transfer back to your TiVos).
 
#3 ·
All you need to do is when downloading from your TiVos with kmttg under config->Program Options make sure following is enabled:
"Download TiVo files in Transport Stream format"

Then, using pyTivo if you transfer these TS .TiVo files back to your TiVo the captions will be intact.
(Be advised though that by turning on above option you won't be able to decrypt the .TiVo files or do anything else with them other than transfer back to your TiVos).
Kevin,
Thanks much for the tips. I've tried it now several times and am unable to copy the .TIVO files up to the TiVo: "Transfer prohibited by the copyright holder". How do I get around this error so I can upload a .TIVO with captions?

Here is a total recap of the various settings and results. -------
1. New: Your suggestion to check TS:
My settings for the the result described above are:
..... Check "Download TiVo files in Transport Stream format"
..... and uncheck all checkboxes on the main kmttg page.
I select the show, click START JOBS and it does download to the Mac but gives the copyright error above when I try to upload back to the TiVo.

2. TS and all other boxes checked - they fail as you said they would.

3. When I uncheck TS and recheck decrypt, etc. , the resulting mp4 file does upload, but has no captions as before.
 
#5 ·
You should use an updated version of wmcbrine pyTivo to pull TS .TiVo files back to your TiVos and that will work. If you're using an old pyTivo it won't work.
Failed again:
I just downloaded the latest mcbrine fork zip and unzipped it, copied my old pytivo.conf file (which uses the same ffmpeg as kmttg), relaunched and still get the copyright error.

It's using python 2.7.6.

Is there another configuration parameter I need to check?
 
#6 ·
The "copyright" error for pyTivo means that ffmpeg is not able to extract information from the .TiVo file. Post here the results of running:
ffmpeg -i yourFile.TiVo

If it's not returning basic video + audio information then that's the problem as pyTivo uses ffmpeg to get that information. Perhaps updating ffmpeg to a recent version will solve the problem. (I don't recall what version of ffmpeg for Mac is in kmttg package but it's likely old).
 
#7 ·
The "copyright" error for pyTivo means that ffmpeg is not able to extract information from the .TiVo file. Post here the results of running:
ffmpeg -i yourFile.TiVo
1. Problem solved:
You nailed it, as usual, I found the latest ffmpeg, 2.2.1, on ffmpeg.org and it does preserve captions when uploaded back to the Tivo. (It took a day of my making various mistakes, but finally got it right. :) Thanks much).
... ffmpeg -i '2 Broke Girls.TIVO' ... shows lines such as
[mpeg2video @ 0x7fef19808000] ac-tex damaged at 20 0
[mpeg2video @ 0x7fef19808000] ac-tex damaged at 19 1

but none with "audio". And these lines says "damaged" and "skipped", is that a problem? If so, any suggestions to fix it?

2. New Problem:
I got it to work fine on a couple of 30 minute programs. But on 2-3 hour movies it most often does not download the whole recording, most are only a few minutes of the show. It appears to be incomplete download since the .TIVO files are much smaller than the recording size shown in kmttg.

Settings:
...I have two Macs similarly configured and both have the same premature behavior.
...Neither Mac had a premature download problem with the old ffmpeg.
...I am using the same new ffmpeg for both kmttg and pyTivo.
...I just updated to kmttg v1p0r.

I didn't have this problem before when I was losing the captions and the only change I can think of is the new ffmpeg and update to kmttg v1p0r.

Any ideas what might cause this premature truncation in downloads?
 
#8 ·
ffmpeg is not used at all for downloads so is not a factor for truncated .TiVo files.
Sounds like TS downloads (with "Download TiVo files in Transport Stream format" turned on) is the difference that matters. If you turn that off and try downloading same show that is currently being truncated you might find you get the whole show that way. If that's the case then it's a TiVo side bug where it's not serving up TS .TiVo files properly, and nothing can be done on client side to fix it.

However, note that PS .TiVo files do have captions, and if you decrypt them and then transfer back to your Roamio using pyTivo with ts=on setting then you will still get captions just fine on the TiVo. i.e. The difference is you'll have to decrypt them before transferring back to TiVo compared to the case of TS .TiVo files where you don't need to decrypt.
 
#9 ·
Note that PS .TiVo files do have captions, and if you decrypt them and then transfer back to your Roamio using pyTivo with ts=on setting then you will still get captions just fine on the TiVo.
I find now that sometimes my kmttg downloaded .mpg and .mp4 files do retain the closed captions in the original show on the Tivo and sometimes they do not.

Is there a setting in kmttg that I'm inadvertently changing to disable download of captions present in the original?

CURRENT SETTINGS:
Is it true that unchecking TS reverts back to PS, Program Stream, so you're using one or the other?

I did uncheck TS and checked decrypt and then set pytivo Server Settings to include "ts = on".

Now I need a new .mpg file that contains captions from the original, so that's where I'm stuck at the moment.
 
#10 ·
OK, let's take a step back to review now:

1. With kmttg "Download TiVo files in Transport Stream format" setting off (default setting), when you download you get PS .TiVo files. With it turned on you get TS .TiVo files.

2. Because of a TiVo side bug, video files with captions have to be transferred back in TS container in order for captions to work on the TiVo.

3. TiVos can only play back video files with captions very specific requirements, so unless the video originated from a TiVo recording itself, chances are you will not get captions to work when transferring to a TiVo regardless of any pyTivo settings.

4. With pyTivo, when you transfer back .TiVo files using pull method (initiated from the TiVo), it will leave the .TiVo files as is regardless any settings. So if you transfer back PS .TiVo files you will lose captions. If you transfer back TS .TiVo files you will retain captions.

5. tivodecode which is used to decrypt .TiVo files only works properly for PS .TiVo downloads, so if you want to be able to decrypt .TiVo files you must download in PS .TiVo format.

6. Once you decrypt PS .TiVo file to .mpg it will be PS container , so if you transfer that back to TiVo it must be remuxed to TS container to preserve captions (because of bug listed in point #2). Setting pyTivo ts=on setting will make that happen automatically when transferring back, thus preserving captions.

7. If you do further processing of .mpg file such as encoding to H.264 in mp4 container, then in most cases even if the encoder can retain captions, it won't be in proper format that TiVo understands, so transferring that back to TiVo even with pyTivo with ts=on setting won't yield captions on the TiVo.

8. If you enable "QS Fix" task in kmttg and are using ProjectX for it (instead of VideoRedo), ProjectX does not retain captions, so the resulting .mpg file will lose captions. Using VideoRedo for "QS Fix" tasks does properly retain captions.
 
#11 ·
KEVIN:
I can’t adequately express my appreciation for the time and effort you have expended to continue to guide me. Your last message is especially well written and full of useful information; I have saved it to my notes file. I will continue to search documentation also, but so far your help has been the absolute most help.

Q: Is your point 3, “… unless the video originated from a TiVo recording itself, chances are you will not get captions to work ….” saying that home videos or other sources won’t have captions when uploaded? If so, that’s not a problem for me. All videos I’m dealing with now are recorded on the Tivo and downloaded using kmttg.

My goal is to download a Tivo Roamio Plus recording to a Mac disk file such that I can later upload the file back to the same Tivo box with the best quality video possible and preserving captions. It seems to be a fairly straight-forward goal, but still I have yet to achieve it.

Here is my summary of my understanding of my options to do this - I would greatly appreciate your correcting any errors:

1. = = = = Using PS , no QS Fix , mpg file, ts=on, Pull :
Download in PS (TS not checked) & decrypt to mpg, then Pull the mpg file using pytivo with “ts = on”. I have failed to get this to work yet.

1a. I tried on several recordings using kmttg, however the resultant .mpg file did not have captions, so,
of course, the uploaded file did not have captions either.

1b. I tried the download with cTivo set to MPEG-2 HD format, but it did not leave the mpg file that I could find. The mp4 had captions on the computer in Quicktime but not when uploaded.


2. = = = = Using TS , .TIVO file, VideoRedo:
Buy and use VideoRedo instead of ProjectX, download with TS checked and which allows QS Fix. Won’t the $50 version of VideoRedo work for keeping captions? (Still keeping this one open.)


Q: Are there any ways to Push from the computer to the Tivo that might be more successful, or does my inability to Pull a file mean that file wouldn’t Push either?

Q: Is there a way to start kmttg on the decrypt step using a previously downloaded .TIVO file?

Thanks so much for your help.
-deac
 
#12 ·
1. = = = = Using PS , no QS Fix , mpg file, ts=on, Pull :
Download in PS (TS not checked) & decrypt to mpg, then Pull the mpg file using pytivo with "ts = on". I have failed to get this to work yet.
What's failing in this sequence exactly? The pyTivo doesn't pull or that is working but you're not getting captions on the TiVo?

1a. I tried on several recordings using kmttg, however the resultant .mpg file did not have captions, so,
of course, the uploaded file did not have captions either.
If the recording on TiVo has captions then the decrypted .mpg file will have captions too. Not sure how you are determining there are no captions, but there almost certainly is. Use MediaInfo to examine the .mpg file and I think you'll see captions listed. You can even run MediaInfo on the .TiVo file itself to examine that for captions. Also if you run kmttg "captions" task on the .mpg file you'll most likely get captions out of it. Post the Mediainfo information on the .TiVo and .mpg file here if you are not sure.

2. = = = = Using TS , .TIVO file, VideoRedo:
Buy and use VideoRedo instead of ProjectX, download with TS checked and which allows QS Fix. Won't the $50 version of VideoRedo work for keeping captions? (Still keeping this one open.)
Yes, the $50 version can decrypt and run QS fix on either TS or PS .TiVo files and will preserve captions unlike projectX which strips them out.

Q: Are there any ways to Push from the computer to the Tivo that might be more successful, or does my inability to Pull a file mean that file wouldn't Push either?
Need more details here on what is failing exactly, along with pyTivo log with debug=true set.

Q: Is there a way to start kmttg on the decrypt step using a previously downloaded .TIVO file?
Of course, that's what the FILES tab is for. Switch to FILES tab and find the .TiVo file and add it to the table, then select the entry in the table and enable the "decrypt" task and press START.
 
#13 ·
1. = = = = Using PS , no QS Fix , mpg file, ts=on, Pull : Fails
What's failing in this sequence exactly? The pyTivo doesn't pull or that is working but you're not getting captions on the TiVo?
Great question, I always check that the Tivo recording has captions (old 1930’s movies don’t, o.w. most do). But recordings with captions on the Tivo don’t download to mpg with captions. (BTW, cTivo mp4’s have captions and I upload them, but with no captions, at least I don't yet know how to get them up with captions. I guessed from your comments that cTivo uses ProjectX, but I don't know.)

e: 1a. I tried on several recordings [w/captions on Tivo] using kmttg, however the resultant .mpg file did not have captions, ….
Not sure how you are determining there are no captions, but there almost certainly is. Use MediaInfo ….
Excellent, I’ll try MediaInfo and the other approaches you described soon and respond with what I find. I’ve been looking at the mpg in QuickTime and uploading back to Tivo - both have no captions. Lately I just look at the Quicktime run of the mpg, but I'll find out about and use MediaInfo.

Also I'll find out how to do a pyTivo log with debug=true set and report on that.

Q: Is there a way to start kmttg on the decrypt step using a previously downloaded .TIVO file?
that's what the FILES tab is for. ….
Great news, I’ll give that a go also.

Thanks again for your invaluable help. I’m getting more hope that we can do this. Ha!

-deac
 
#14 ·
Kevin,

Quick questions:

Which encoding format gives the highest quality output?
I’ve been using ff_tivo_hd or hb_tivo_hd, which of these is better or does it matter?
Will that choice affect captions?

Is this correct: Setting ts=on allows a Pull upload of a PS mpg file to retain captions, but ts=on will not retain captions on the same PS .TIVO file since Tivo requires TS container for .TIVO files? So ts=on saves captions for mpg, but not for .TIVO.

I’ve now turned on pytivo logging with debug=true. I was redirecting both stdout and stderr to it but it seemed verbose so now I’m just redirecting stderr. Is there a way to force a pytivo error to check that it captures it?

I got MediaInfo and am doing some tests on my .TIVO and mpg files with captions and will post them shortly.

thank you very much,
-deac
 
#15 ·
Kevin,
Which encoding format gives the highest quality output?
I've been using ff_tivo_hd or hb_tivo_hd, which of these is better or does it matter?
Will that choice affect captions?
The HB one will probably take longer but give you a smaller file. Neither one will preserve captions - most HB and ffmpeg profiles encoding to mp4 container will kill captions. VideoRedo preserves them even for mp4 container. What's your target playback device? If it's a TiVo I wouldn't encode these at all.

Is this correct: Setting ts=on allows a Pull upload of a PS mpg file to retain captions, but ts=on will not retain captions on the same PS .TIVO file since Tivo requires TS container for .TIVO files? So ts=on saves captions for mpg, but not for .TIVO.
Yes. You always have to return to TiVo in TS container to preserve captions. .TiVo files in either container don't get touched by pyTivo on pulls, so PS .TiVo files get pulled back as is and captions won't work. PS .mpg files are remuxed to TS container on pulls with ts=on resulting in working captions on the TiVo.

I've now turned on pytivo logging with debug=true. I was redirecting both stdout and stderr to it but it seemed verbose so now I'm just redirecting stderr. Is there a way to force a pytivo error to check that it captures it?
A useful log needs to contain all messages, but I believe most useful stuff is on stdout anyway for pyTivo so you shouldn't throw that out. When posting here even if it's long just enclose in "code" tags.
 
#16 ·
If the recording on TiVo has captions then the decrypted .mpg file will have captions too. Not sure how you are determining there are no captions, but there almost certainly is. Use MediaInfo to examine the .mpg file and I think you'll see captions listed. You can even run MediaInfo on the .TiVo file itself to examine that for captions. Also if you run kmttg "captions" task on the .mpg file you'll most likely get captions out of it. Post the Mediainfo information on the .TiVo and .mpg file here if you are not sure.
How do I run "captions" task on a file? I used "FILES" to choose the .mpg file but don't see a choice in configuration or a button to check captions.

I downloaded MediaInfo as you suggested and have been experimenting with it. Here is an example for a movie that has great captions on the original recording on the Tivo but consistently has corrupt captions - garbled text with occasional correct words mixed in using VLC and no captions for Quicktime Player.

My kmttg settings are: PS (TS not checked), and "decrypt" checked. Should I add "metadata" or does that matter?

Thank you for looking at this MediaInfo output. Here is MediaInfo output for both files:

-------------------------------------------------------------------------------
momma mia .TiVo:
Text
ID : 224 (0xE0)-CC1
Format : EIA-608
Muxing mode : A/53 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Bit rate mode : Constant
Stream size : 0.00 Byte (0%)

-----------------------------------------
momma mia .mpg:
Text
ID : 224 (0xE0)-CC1
Format : EIA-608
Muxing mode : A/53 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Bit rate mode : Constant
Stream size : 0.00 Byte (0%)
-------------------------------------------------------------------------------
 
#17 ·
As expected, both the .TiVo and .mpg files have captions as shown by Mediainfo. You need to install "ccextractor" and enter path to it in kmttg in order for the "captions" task to be enabled in kmttg.

If you transfer back the .mpg file (not the .TiVo file) back to your TiVo with pyTivo with ts=on setting you should have functioning captions on the TiVo.
 
#18 ·
As expected, both the .TiVo and .mpg files have captions as shown by Mediainfo. You need to install "ccextractor" and enter path to it in kmttg in order for the "captions" task to be enabled in kmttg.

If you transfer back the .mpg file (not the .TiVo file) back to your TiVo with pyTivo with ts=on setting you should have functioning captions on the TiVo.
I did install ccextractor and confirmed that the .srt file matches the VLC captions for the mpg file. Thanks for that.

ISSUE 1:
Some Tivo recordings with good captions on the Tivo download fine with good captions and some I have been unable to get good captions after many attempts. Here's an example of Mamma Mia .srt captions:
------------------
1
00:00:14,414 --> 00:00:26,058
[ Won ma]
I he ava eadrm

2
00:00:37,320 --> 00:00:46,412
A sg ontohelp pe Wan
seu e th

3
00:00:46,414 --> 00:00:50,499
a fa
c tantufure
------------------

Sometimes a clear word shows up and sometimes it's close, e.g., "I he ava eadrm" should be "I have a dream", but it's mostly too garbled to make out.

I have the same recording on two Tivos that play clearly and have tried to download to 3 different Macs with the same result. Using PS down and "decrypt" only.

Do you have any ideas on how to fix this?

ISSUE 2:
I've been unable to Pull the mpg using pytivo with ts=on. The name shows up on the Tivo and I select "Transfer this recording" but when I try to play it, either right away or hours later, instead of playing it just says "Delete now" or "Keep this recording" as if the upload was actually empty.

Again I've tried this with different Macs and both Tivos and with several different .mpg files. For fun I tried to upload the .Tivo file and it succeeded but without captions as expected.

Any ideas on this one?

thanks so much,
-deac
 
#19 ·
ISSUE 1. Could be a PS download which requires remuxing by the TiVo is garbling the captions in some cases. As an experiment, download a show that has the garbled problem in TS format, then use pyTivo to transfer that TS .TiVo file back to your TiVo. If the captions survive that without getting garbled then you have some options to explore.

ISSUE 2. Are you using a recent version of ffmpeg? Execute the following to get version information and post here:
ffmpeg -version
 
#20 ·
ISSUE 2. Are you using a recent version of ffmpeg? Execute the following to get version information and post here:
ffmpeg -version
ffmpeg version 2.2.1 (From ffmpeg.org recently)

ISSUE 1. Could be a PS download which requires remuxing by the TiVo is garbling the captions in some cases. As an experiment, download a show that has the garbled problem in TS format, then use pyTivo to transfer that TS .TiVo file back to your TiVo. If the captions survive that without getting garbled then you have some options to explore.
YES! TS down (and no decrypt since I'm still using ProjectX) does upload retaining beautiful captions. This seems to have solved both Issues 1 and 2.

(Does leaving ts=on in pytivo hurt anything even though it was already in a TS container? It seems to have worked fine.)

So the .TIVO made with TS does work. What were some options you had in mind?
 
#21 ·
If you go back to my 1st post in this thread, the suggestion was to download TiVo files in TS format then use pyTivo to send it back:
All you need to do is when downloading from your TiVos with kmttg under config->Program Options make sure following is enabled:
"Download TiVo files in Transport Stream format"

Then, using pyTivo if you transfer these TS .TiVo files back to your TiVo the captions will be intact.
(Be advised though that by turning on above option you won't be able to decrypt the .TiVo files or do anything else with them other than transfer back to your TiVos).
The ts=on setting doesn't affect transfers for .TiVo files as they are left as is by pyTivo.

If the only goal is to archive shows for your TiVo then TS .TiVo files are the best option.

If you want to do something else with the downloaded files then the problem is TS .TiVo files can't be decrypted properly by tivodecode. VideoRedo (which runs on Windows only) with a minimal TiVo Desktop installation can handle decryption of these TS .TiVo files, so you'd need to find a way to be able to run Parallels or something with Windows to pursue that option.
 
#22 ·
If the only goal is to archive shows for your TiVo then TS .TiVo files are the best option.

If you want to do something else with the downloaded files then the problem is TS .TiVo files can't be decrypted properly by tivodecode. VideoRedo (which runs on Windows only) with a minimal TiVo Desktop installation can handle decryption of these TS .TiVo files, so you'd need to find a way to be able to run Parallels or something with Windows to pursue that option.
I would really like to be able to download one file that can be both played on other devices with captions like a .mpg as well as be uploaded back to the Tivo still retaining the captions. (We have this second goal with the TS .TIVO file).

Will a VideoRedo decoded .mpg file serve both of these purposes?

Is there possibly another decoder that does run on a Mac that can generate such a .mpg file from a TS .TIVO file?

I don't know why some PS decoded .mpg files have good captions and some do not even when played on the computer.

I fear I may have to resort to trying VideoRedo in Parallels, but at least that may give me one .mpg file that can also be uploaded.

Thank you for your long suffering advice to stay with me on this exploratory journey. You are an absoute champ.
 
#23 ·
Decrypting TS .TiVo file to a TS .mpg file and then returning the that .mpg file to TiVo with ts=on setting should work. In that case, pyTivo will know it doesn't need to remux the file so ffmpeg won't be in the picture so you shouldn't have an issue related to ffmpeg.

The only available solutions for decrypting .TiVo files that I know of are:
1. tivodecode - a cross-platform C-based program that can only really handle PS .TiVo files properly. (There are versions of tivodecode with TS support, but from my experience and others it has problems and doesn't work without issues for most TS .TiVo files. It either doesn't work at all or if it does, generates a .mpg file that has improperly decrypted segments resulting in heavy pixelation during playback).
2. Windows DirectShow with at least partial TiVo Desktop installation (VideoRedo uses DirectShow to decrypt .TiVo files).

So for TS .TiVo files there's no reliable way to decrypt them on platforms other than Windows that I know of.
 
#24 ·
Of course you always have the option to:
1. Download shows as TS .TiVo files for sole purpose of transferring back to TiVos
2. Download same shows as PS .TiVo files to different location as above for purposes other than transferring back to TiVos.
 
#25 ·
If you go back to my 1st post in this thread, the suggestion was to download TiVo files in TS format then use pyTivo to send it back:

If you want to do something else with the downloaded files then the problem is TS .TiVo files can't be decrypted properly by tivodecode. VideoRedo (which runs on Windows only) with a minimal TiVo Desktop installation can handle decryption of these TS .TiVo files, so you'd need to find a way to be able to run Parallels or something with Windows to pursue that option.
Thanks for this and your subsequent comments that suggest that to do what I want to do requires trying your suggestions here:
... Using VideoRedo on Windows.

So I created a fresh Windows 7 virtual machine in Parallels and installed the 15 day trial version of the $50 VideoRedo Plus 3.1, the latest on their website. In kmttg Configure... under VideoRedo I entered the VRD path and checked both:
... Decrypt using VideoRedo instead of tivodecode
... Show VideoRedo encoding profiles

When I saved the configuration an error message showed up:
... Configuration saved to file: C:\kmttg\config.ini
... Refreshing encoding profiles
... Encoding support requires VRD version 4.20.2.595 or later
... Version you are running is: 3.10.3.629 - Nov 9 2011
... Encountered problems obtaining encoding profiles from VideoRedo

Of the 3 versions of VideoRedo on their site, the only one at version 4.2 is the $96 TVSuite H.264. Since I can live with mpg and not requite mp4, I don't need the H.264, correct?

I unchecked "Show VideoRedo encoding profiles" and it saved okay. To just get uploadable mpg's with captions can I get along with the kmttg built in encoding profiles and not need the ones from VideoRedo?
 
#26 ·
If you are not encoding to H.264 you only need the $50 VideoRedo. Using VideoRedo kmttg will decrypt TS .TiVo files to a mpeg2 .ts file which you can subsequently transfer back to your TiVos with captions intact using pyTivo and/or further process for other devices using kmttg ffmpeg or handbrake encoding profiles.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top