Converting .TiVo files

Mar 23, 2013 at 9:53 PM
Edited Mar 23, 2013 at 10:05 PM
Here's my situation. I have a Ceton InfiniTV PCIe that is no longer working as a ClearQAM tuner for WMC. After talking with Ceton they say they do not "Officially" support the tuner as a ClearQAM tuner.

My next theory now is to just continue using our TiVo and using the TiVo Desktop software to transfer the files to the monitoring folder for MCEBuddy. The TiVo Desktop software now allows you to subscribe to shows so the transfer is seamless.

The .TiVo files play fine on the computer doing the conversion but the resulting .mp4 file is garbled with NO audio. Any suggestions on settings to try for the .TiVo extensions?

I have the settings the basic "MP4 Normal" profile and I have not modified anything else besides "uncheck" Rename and sort. I have MCEBuddy output the file to the "Automatically Add to iTunes" folder and let iTunes handle the rest of the organization. Seems like it could be a promising workflow for getting the Shows onto our iPads and AppleTV's.

Thank you anyone that has any suggestions. If this process works I will probably sale my Ceton on eBay and get a new 4 tuner TiVo.

Mike

EDIT: I've also noticed all the .TiVo files end up doing a first step of Re-ReMuxing due to audio error, which may explain the audio loss.

EDIT2: Here's a post that references HERE - It's not a one step process, but I've done it. Download Direct Show Filter Dump from this page, which will convert the .tivo file into something you can use, and then use HandBrake to convert it for Apple TV use.

Is this something doable within MCEBuddy?
Mar 23, 2013 at 11:09 PM
Worked like a charm ... beautiful output. Any way to duplicate the job of 'Direct Show Filter Dump' within MCEBuddy?

The metadata isn't anywhere close, so next will be figuring out how to get it renamed to something that TVDB can handle a majority of the time.
Coordinator
Mar 23, 2013 at 11:20 PM
Can you upload a sample TiVo video to the MCEBudyd FTP SERver to see how to tackle it (no more than 400MB)
Mar 23, 2013 at 11:52 PM
I created a folder called TiVo and you are getting a copy of my sons favorite show on Sprout ;) It's a SD show and not HD.
Mar 24, 2013 at 2:39 PM
My next problem with .TiVo files is the metadata. I'm pretty sure there isn't any metadata in the file. You can check the one I uploaded and the filename isn't really in a format that MCEBuddy can use to get any useful information back.

Any suggestions? I do not see any way in the TiVo Desktop software to customize the output name.

Here is another filename example.

Bates Motel - ''First You Dream, Then You Die'' (Recorded Mar 23, 2013, LIFEHD).TiVo

It is in the format "Show Name - Episode Name (recorded_date, channel)"

I would think the Show Name and Episode Name would be enough to get the extended info. Is there anything else you can do within MCEBuddy to assist in the Metadata?

Thank you,
Coordinator
Mar 24, 2013 at 2:44 PM
One step at at time.

To use the Dump filter did you need your TiVO MAK? I'm pretty sure since the video looks encrypted to me but want to check
Mar 24, 2013 at 2:50 PM
No, There are no settings for the Dump Filter except telling it what folder to monitor (which does not work since it tries to open the file why being transferred), and you can set it to delete the .TiVo file when it finishes.

Here you go ... Looks like it uses the TivoDecode Project

http://tivodecode.sourceforge.net
Mar 24, 2013 at 2:52 PM
I do have the TiVo Desktop software on the same computer. Might be possible it is reading the MAK from there or from Windows registry.
Mar 24, 2013 at 3:15 PM
If it seems like they are circumventing the encryption then another option for TiVo users would be to purchase TiVo Desktop Plus which will do some conversion. I can let it just convert to MPEG-2 then let MCBuddy handle it from there. That would still leave me with the metadata issues.
Coordinator
Mar 24, 2013 at 3:22 PM
So to be clear you need the MAK right? The TiVO Decode project mentions it uses the MAK file.

I'm actually working on a directshow filter decoder for other files including WTV H264 it can also be used for TiVO but I need to figure out the MAK decryption thing.

Regarding the metadata, how does TiVO expose metadata today? Can you name the file in a custom format if so that could be used by MCEBuddy as a starting point.
The bsaic inforamtion needed is:
  1. Show name
  2. Episode Name OR Original Broadcast Date (not recorded date)
Mar 24, 2013 at 3:35 PM
No, The program I am using DOES NOT require the MAK. It is step 2 on this page. Post #110 from this forum talks about how this programs been around a while. I'm not sure how they do it but it works and works well.

As for Metadata there is no way that I can see to adjust the file output name but it does have the [Show Name - ''Episode Name'' (Recorded Date, Channel)]. It does enclose the Episode name in 2 single quotes so that may very well be what's throwing MCEBuddy off.
Mar 24, 2013 at 8:44 PM
Edited Mar 24, 2013 at 8:44 PM
Here's another nugget, If you can figure out how to handle the .TiVo files on your side the files have all the metadata in them you'll need. I was able to take a .TiVo file and run a program called pyTiVo Metadata File Generator and it outputted this text file:


description : After Mandy is accepted by two colleges, Kristin decides to re-evaluate her life; during a date with Ryan, Kristin runs into Jon (Jonathan Taylor Thomas), a former co-worker from the diner, who now owns a hip restaurant.
isEpisode : true
seriesTitle : Last Man Standing
title : Last Man Standing - College Girl
originalAirDate : 2013-03-22T00:00:00Z
episodeTitle : College Girl
seriesId : SH01419581
time : 2013-03-23T00:00:00Z
displayMajorNumber : 0
callsign : WSBDT
showingBits : 0
tvRating : x4
vDirector : Pasquin|John
vActor : Allen|Tim
vActor : Travis|Nancy
vActor : Ephraim|Molly
vActor : Dever|Kaitlyn
vActor : Fuller|Amanda
vActor : Sanders|Christoph
vActor : Morrison|Flynn
vActor : Elizondo|Hector


The program has a command line option and may be very easy to incorporate into your solution. Have it generate the .txt file and write it back as metadata once it is converted to .mpg OR use the txt file in your query to TVDB. It does require a MAK unless you have TiVo Desktop installed then it uses that.
Coordinator
Mar 25, 2013 at 2:40 AM
Okay so couple of things:
  1. I am unable to use the TivoDecode.exe without a MAK
  2. I am able to use the Dump FilterGraph to extract the streams from WTV and DVRMS files but am unable to do it for TIVO files - I suspect teh DirectDhow DLL fro TIVO files is required - anyone know where to get it from?
  3. For metadata - I can do with from file name or (preferably) from a XML/Text file. Let me know what you guys prefer - I will provide support ofr it, but the format needs to be consistent and I need samples.
Coordinator
Mar 25, 2013 at 2:44 AM
rboy1 wrote:
Okay so couple of things:
  1. I am unable to use the TivoDecode.exe without a MAK
  2. I am able to use the Dump FilterGraph to extract the streams from WTV and DVRMS files but am unable to do it for TIVO files - I suspect teh DirectDhow DLL fro TIVO files is required - anyone know where to get it from?
  3. For metadata - I can do with from file name or (preferably) from a XML/Text file. Let me know what you guys prefer - I will provide support ofr it, but the format needs to be consistent and I need samples.
Okay I got the Directshow Filter from teh TiV Desktop software but graph extract won't work, can't be decrypted without a MAK
Mar 25, 2013 at 3:13 AM
Any way to add a setting where the user puts in their MAK so TiVoDecode can use that. Each individual .TiVo file can only be unlocked by the MAK that created it. I can send you my MAK for dev purposes and testing if you need it.

As for metadata I personally would prefer by filename unless you can generate the txt file during the decode because its all in the .tivo file. All of the metadata I listed above was pulled from within the file. But if all you really need is Show Name and Episode Name, those are all listed in the filename generated by TiVo Desktop.

I personally would keep your TiVo file support compatible with TiVo Desktop and not cater to all the other variants like kmttg, pyTivo, etc. those are for the hardcore geeks and I feel your tool would be better served by staying with the official tool. Also because tools like kmttg can do everything MCEBuddy does except that Auto-Transfers are more difficult and that's what TiVo Desktop does well.
Coordinator
Mar 25, 2013 at 4:15 AM
Send me teh MAK file and let me see what progress I can make with it


On Sun, Mar 24, 2013 at 9:14 PM, hayesmd <notifications@codeplex.com> wrote:

From: hayesmd

Any way to add a setting where the user puts in their MAK so TiVoDecode can use that. Each individual .TiVo file can only be unlocked by the MAK that created it. I can send you my MAK for dev purposes and testing if you need it.

As for metadata I personally would prefer by filename unless you can generate the txt file during the decode because its all in the .tivo file. All of the metadata I listed above was pulled from within the file. But if all you really need is Show Name and Episode Name, those are all listed in the filename generated by TiVo Desktop.

I personally would keep your TiVo file support compatible with TiVo Desktop and not cater to all the other variants like kmttg, pyTivo, etc. those are for the hardcore geeks and I feel your tool would be better served by staying with the official tool. Also because tools like kmttg can do everything MCEBuddy does except that Auto-Transfers are more difficult and that's what TiVo Desktop does well.

Read the full discussion online.

To add a post to this discussion, reply to this email (mcebuddy2x@discussions.codeplex.com)

To start a new discussion for this project, email mcebuddy2x@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com


Coordinator
Mar 26, 2013 at 12:54 AM
Done, you'll find it in the next build, you need to enter the MAKKey in teh conversion task settings and it'll do the rest.
Mar 26, 2013 at 1:21 AM
Thank you for all your work, love the product and now this will complete my cycle.

TiVo Desktop to download my TV Shows automatically. It saves the files into the MCEBuddy monitor folder. MCEBuddy does it's job and writes the file out to my iTunes 'Automatically Import Folder'. From there the shows can be streamed practically anywhere.
Apr 3, 2013 at 1:49 PM
Last week I started having problems with the TiVo files. Here is a copy of one of the log files.

Originally, the tivodecode process was timing out which I resolved by setting the HangPeriod = 0. The error occurs when trying to convert the .mpg to a .ts. The .mpg is a valid file and plays just fine so the tivodecode process is doing its job.

Any suggestions?
Coordinator
Apr 3, 2013 at 2:36 PM
Upload a copy of the video to the MCEBuddy server, assuming the key hasn't changed it'll try to replicate and debug it.
Apr 3, 2013 at 4:04 PM
The file is uploading. It's done it on multiple files and this is the smallest file at 2.6gb.

Looking at the log it fails on:

ffmpeg.exe -probesize 100M -analyzeduration 300M -i "C:\temp\working0\Red Widow - ''The Captive'' (Recorded Mar 31, 2013, WSBDT)2.mpg" -vcodec copy -acodec copy -map 0:a -map 0:v -f mpegts "C:\temp\working0\Red Widow - ''The Captive'' (Recorded Mar 31, 2013, WSBDT)2.ts"

I ran that same command from commandline and it failed as well. I then used:

-probesize 100M -analyzeduration 300M -i "C:\temp\working0\Red Widow - ''The Captive'' (Recorded Mar 31, 2013, WSBDT)2.mpg" -vcodec mpeg2video -acodec copy -map 0:a -map 0:v -f mpegts "C:\temp\working0\Red Widow - ''The Captive'' (Recorded Mar 31, 2013, WSBDT)2.ts"

I got hundreds of the timestamp errors, but the file did finish. Next I ran the resulting .ts file manually through Handbrake and the MP4 file created played just fine.

So, it seems like the issue resides with the parameters passed to ffmpeg "-vcodec copy -acodec copy -map 0:a -map 0:v -f mpegts "

Is there a place I can change these parameters? I tried changing them in the config file, but MCEBuddy never would use my new parameters I tried passing. I tried changing both references to the above params but the original params were always still used:

[FFMpegBackupRemux]
CopyRemux0=-ss 2 -i <source> -vcodec mpeg2video -acodec copy -map 0:a -map 0:v -f mpegts
SlowRemux0=-ss 2 -i <source> -vcodec mpeg2video -qscale 0 -r auto -acodec copy -map 0:a -map 0:v -f mpegts
SlowRemux1=-ss 2 -i <source> -vcodec mpeg2video -qscale 0 -r auto -acodec ac3 -ab 256k -map 0:a -map 0:v -f mpegts
RemuxDropThreshold=3.0
RemuxDuplicateThreshold=3.0

[DVRMSRemux]
Remux=-ss 2 -i <source> -vcodec mpeg2video -acodec copy -map 0:a -map 0:v -f mpegts
Coordinator
Apr 3, 2013 at 5:04 PM
Are you sure it's uploading?


Apr 3, 2013 at 5:16 PM
Yes, it's still uploading to the TIVO folder. It has 2.5 hours left.
Coordinator
Apr 3, 2013 at 5:46 PM
do you have a smaller sample about 200 to 300 mb?


Apr 3, 2013 at 5:52 PM
No, I don't. Not that produces the same error. I tried making a few smaller sample recordings on the tivo but that all processed fine.
Apr 4, 2013 at 12:29 PM
I did a little more testing and if I manually run tivodecode using the same parameters from the log file and then take the resulting .mpg file and put it in a monitored folder the .mpg file gets processed correctly. The log for the .mpg still shows all the timestamp errors, but it does process the file. I will upload the log for the tivo error and the mpg success into the TiVo folder for you to compare. The ffmpeg parameters for the 2 files are different so this should be as simple as modifying the default ffmpeg commands run against .tivo files.
Coordinator
Apr 4, 2013 at 12:32 PM
This has been fixed. Am making new changes to the next bETA to support the latest version of ffmpeg.

Apr 4, 2013 at 12:48 PM
Thank you.
Coordinator
Jan 18 at 5:26 PM
For those looking to use the Fast TiVO transfers with TiVO desktop, while MCEBuddy now supports Fast TiVO tranfers when TiVO desktop is installed, NOTE that due to the limitations of the TiVO DirectShow filter MCEBuddy HAS to be run as command line engine (from Start Menu, not as a service) AND it must be 32bit MCEBuddy.
This is because the TiVO DirectShow filter used to decode fast transfers is a 32bit DLL and hence can only be accessed by 32bit MCEBuddy (and it doesn't work from Session 0 for some reason).

The other piece of good news, for those who want to manually remux the TiVO fast transfer files now with 2.3.15 MCEBuddy provide a command line program called
MCEBuddy.RemuxTiVOStreams.exe (which used TiVO Desktop DirectShow streams to decode the file and ffmpeg to remux it to ts)
It can be used like:
Usage: RemuxTiVOStreams <TiVOFile> <TempPath> <MAK> <AudioLanguage>

Enjoy!
Marked as answer by rboy1 on 1/21/2014 at 8:14 PM
Mar 27 at 5:37 PM
I'm trying to convert TiVo files as well, and running into metadata issues. From what I can tell, it's grabbing the subtitle but not the title of the show; it actually grabs some garbled metadata. Log file is below:

INFORMATION> 2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Extracting XML Tags
2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Extracting MediaPortal meta data
2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Extracting nPVR meta data
2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Extracting TiVO meta data
INFORMATION> 2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Downloading Series details
INFORMATION> 2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Skipping downloading Banner file
INFORMATION> 2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Recording Type Show
INFORMATION> 2014-03-27T13:30:04 MCEBuddy.MetaData.VideoMetaData --> Checking TheTVDB
WARNING> 2014-03-27T13:30:21 MCEBuddy.MetaData.VideoMetaData --> TheTVDB failed
INFORMATION> 2014-03-27T13:30:21 MCEBuddy.MetaData.VideoMetaData --> Checking TheMovieDB
WARNING> 2014-03-27T13:30:36 MCEBuddy.MetaData.VideoMetaData --> IMDB failed
INFORMATION> 2014-03-27T13:30:36 MCEBuddy.MetaData.VideoMetaData --> Checking TV.com
WARNING> 2014-03-27T13:31:12 MCEBuddy.MetaData.VideoMetaData --> TV.com failed
2014-03-27T13:31:12 MCEBuddy.MetaData.VideoMetaData --> Video Tags extracted -> Title: Extra
SubTitle: Advanced Advanced Dungeons & Dragons
Description: Amy Purdy ("Dancing With the Stars"); the hosts of "The View." Copyright Tribune Media Services, Inc.
Network:
Genres: Season: 0
Episode: 0
Banner:
Banner URL:
IMDB MovieId:
MovieDB MovieId:
TVDB SeriesId:
Is Show Movie: False
OriginalBroadcastDateTime: 2014-03-19T20:00:00
RecordedDateTime: 2014-03-20T19:30:00
CopyProtected: False

INFORMATION> 2014-03-27T13:31:12 MCEBuddy.Engine.ConversionJob --> File COMMUNITY.TiVo checking for showname filter ><
INFORMATION> 2014-03-27T13:31:12 MCEBuddy.Engine.ConversionJob --> File COMMUNITY.TiVo checking for network/channel filter ><
Coordinator
Mar 28 at 11:59 AM
Upload your metadata properties file also

Mar 29 at 2:50 AM
Yup, here's the txt file that pvitvo meta generator builds:

description : When Professor Hickey reveals that his estranged son (David Cross) has a baby, the gang decides to help them reunite through a game of Dungeons & Dragons.
isEpisode : true
seriesTitle : Community
title : Community
originalAirDate : 2014-03-20T00:00:00Z
episodeTitle : Advanced Advanced Dungeons & Dragons
seriesId : SH01154162
time : 2014-03-21T00:00:00Z
episodeNumber : 20166
showingBits : 0
tvRating : x4
vActor : McHale|Joel
vActor : Jacobs|Gillian
vActor : Brown|Yvette Nicole
vActor : Pudi|Danny
vActor : Brie|Alison
vActor : Chase|Chevy
vActor : Glover|Donald
vActor : Jeong|Ken
vActor : Rash|Jim
Coordinator
Mar 29 at 9:32 AM
Can you upload the whole file to the mcebuddy site, I would like to run it through mcebuddy and see what exactly is going on.
I'm assuming you're on the latest BETA


Coordinator
Mar 29 at 9:33 AM
Also upload the entire conversion log (not just the exceprt, I need to see what's happeneing before)


Mar 30 at 3:44 AM
Up on the latest beta now; copying it to the FTP...slowly....(folder labeled TIVO_Metadata_Issues).
Coordinator
Mar 30 at 6:55 AM
What is the txt file you've uploaded? Where did that come from?
MCEBuddy uses TdCat to extract the metadata from the tivo file and then parses it. In your temp directory it will create a file called:
COMMUNITY.xml

This is the file I need, you may not be able to copy it since the operation happens quickly. You will need to run tdcat with the following command to extract the xml file from your tivo file.

"C:\Program Files\MCEBuddy2x\tivo\tdcat.exe" -m 6673426470 -1 -o "D:\Tivo\COMMUNITY.xml" "D:\Tivo\COMMUNITY.TiVo"


Mar 31 at 3:17 AM
Son of a gun - after installing the latest beta I didn't try a completely clean process - clearing out all temp directories, re-downloading the show from tivo. After doing all that, all the meta data seems to be going through!
Mar 31 at 4:51 AM
Spoke too soon; seems I'm getting a remuxing error on FOX channels only (it seems). Uploading the log file to same directory above (TIVO_Metadata_Issues), and the actual files in .tar chunks, as well as the config file w/ makkey.
Coordinator
Apr 1 at 4:49 PM
I only see the log file and from which I notice the the decryption has files. Do you have TiVO desktop installed on your computer.

Also I will need the original TIVO file to reprodce the problem.


Apr 2 at 4:12 AM
Yup, using Tivo desktop. Uploading the original file now; sorry it's a bit slow, have to update in chunks (31 .tar files in total).
Coordinator
Apr 2 at 10:37 AM
Post back here when it'd done.


Coordinator
Apr 3 at 12:44 PM
some of the files are still missing I am unable to unzip it


Coordinator
Apr 3 at 12:44 PM
why don't you just upload the entire .tivo file directly as a single file instead of splitting it up.


Apr 3 at 4:15 PM
When trying to upload the whole file, I was getting an error every hour or so (connection timeout). Unfortunately I had to drill all the way down to a 100 mb file. Should all be up there now.
Coordinator
Apr 4 at 5:03 PM
Unfortunately it isn't working, one or more of the files are corrupted. Try uploading to dropbox instead and post the linkhere.


Apr 5 at 2:00 AM
Coordinator
Apr 5 at 11:57 PM
With the latest 2.3.15 build and TiVO desktop and MAK key entered, it's working fine. Here is what I got from the logs:

2014-04-05T16:49:20 MCEBuddy.MetaData.VideoMetaData --> Video Tags extracted ->
Title: New Girl
SubTitle: Sister III
Description: Nick and Jess must adjust to the lack of personal space when Jess moves into his bedroom; Cece thinks Abby (Linda Cardellini) is taking advantage of Schmidt; Winston struggles to get physically fit. Copyright Tribune Media Services, Inc.
Network:
Parental Rating:
Media Credits:
Genres: Season: 0
Episode: 0
Banner:
Banner URL:
IMDB MovieId:
MovieDB MovieId:
TVDB SeriesId:
Is Show Movie: False
Is Show Sports: False
OriginalBroadcastDateTime: 2014-03-03T19:00:00
RecordedDateTime: 2014-03-04T21:00:00
SeriesPremiereDate: 1899-12-31T19:00:00
CopyProtected: False


Apr 6 at 3:47 AM
Yup, got it working. My Fox is a .ts stream; wasn't working with 64bit but downgraded to x86, and it's all working. Thanks for the help.
Coordinator
Apr 6 at 12:43 PM
That's wierd, it should work no matter what platform (expect TiVO Desktop ONLY WORKS with x86 platform build). Can you upload the original TS file to the mcebuddy for analysis.


Apr 7 at 3:06 AM
The uploaded file is the original file I got off the TiVo; seems most channels' files are stored as .mpeg, while Fox is .ts. Seems there's some confusion between TiVo desktop and .ts files and remuxing. Either way, x86 works.
Coordinator
Apr 7 at 3:28 AM
The uploaded file I got was a .tivo file and not a .ts file FYI

Coordinator
Apr 15 at 4:21 AM
rboy1 wrote:
That's wierd, it should work no matter what platform (expect TiVO Desktop ONLY WORKS with x86 platform build). Can you upload the original TS file to the mcebuddy for analysis.
Now with the new MCEBuddy build, it's 100% platform independent managed code. What that means is that TiVO Desktop now works with MCEBuddy 64bit build (earlier it was limited to 32bit). However TiVO desktop streams remuxing still requires MCEBuddy engine to be running in command line mode (that is still a windows limitation) - just that now you can use 64bit mcebuddy.