KMTTG Tivo transfers not pulling metadata

I use KMTTG to transfer recordings from my Tivo and process them with MCEBuddy.
I have profile selections (e.g. encoding quality) based on what channel (call sign) the recording came from, e.g. HD channels get a different quality setting than the SD channels because the SD channels are already a lower quality to start with. Broadcasters are really milking that bandwidth for their side-channels.

In the MP2/AC3 file that gets pulled across with closed captioning, they only have : “showName”, “seasonNumber”, and “episodeNumber” attributes. The rest of the metadata, KMTTG writes out to a companion .TXT file.

The final output from MCEBuddy only appears to pull and add “SEASON”, and “EPISODE” entries (adding to the original 3 in the file). It does not pull any of the other information from the companion .TXT file into the processed file, nor does it use any of the information in applying the profile.

Meaning it processes under my “last resort” profile, not my “SDTV” profile, and none of the extra metadata extracted by KMTTG in the companion TXT file is incorporated into the final output.

Can MCEBuddy be improved to look for and include the companion metadata file before it applies the profile logic (to use that metadata in the profile conditions) and then to merge in the metadata with the processing?

In the alternative, are there settings in my KMTTG to merge in that metadata? I am sure it can, but that would require KMTTG to do the transcoding, and I don’t want to do that, as I want MCEBuddy to do it, and give MCEBuddy the raw MPEG2 file and the metadata, keeping KMTTG just to transfer the recordings off the TIVO.

I’ve got an example below.

title : My Greek Table With Diane Kochilas
seriesTitle : My Greek Table With Diane Kochilas
description : Diane discovers the history of her historic neighborhood in the heart of central Athens with the city's most renowned urban chronicler, and cooks up a delicious Spiced Roasted Chicken with Toasted Orzo Pilaf, Kale Caesar with Greek yogurt, and a Crispy Phyllo Ice Cream Sundae with Honey, Nuts and Halva. 
time : 2023-03-13T03:00:00Z
isEpisode : true
iso_duration : PT30M
originalAirDate : 2022-10-08T00:00:00Z
episodeTitle : Diane Discovers Athens
isEpisodic : true
showingBits : 515
tvRating : x3
episodeNumber : 307
displayMajorNumber : 9-4
callsign : KETCDT4
seriesId : SH0377963521
programId : EP0377963521-0465063736
vHost : Kochilas|Diane

As an aside, my profiles key off of that “callsign” matching “*DT4” (ends with “DT4”) to know that is an SD channel.

Mcebuddy extracts the metadata from the kmttg tivo companion TXT files. All of the metadata you mentioned is supported and processed by MCEBuddy. Will need your log file to see what’s going on

Quick question: Remind me what settings (and where) I need to adjust, and what level of logging?
I think I turned all of those off (or down to only “Error”) a very long time ago to eliminate that workload once things were working smoothly. Did I mention that things have been working smoothly with MCEBuddy for a very long time? :slight_smile:

I’m using Handbrake (which I think uses FFMPeg under the hood) , Comskip (which appears to have an embedded FFMPeg statically linked into it), and have HW NVenc enabled. Also, recently nVidia has added NVdec (decoding) and there are options to FFMPeg to turn it on, separate from using the existing NVenc (encoding) options in the various CLIs being called under the hood of MCEBuddy.

1 Like

Finally got around to turning up the log level and capturing an example file from the Tivo.

Oh, man, it’s a hot mess, and not MCEBuddy’s fault. So l ran another show pulled from the Tivo with KMTTG. What appears to be happpening is that these shows are PBS shows, of which many don’t have entries in TheTVDB (particularly in their first year run). However, the example one does have an entry (TheTVDB ShowID 338440).

Unfortunately, the Tivo guide data does get pulled over (in a .txt files as noted), and MCEBuddy does populate the metadata from it. And MCEBuddy does locate the show info in TheTVDB, because I have an override in the settings telling MCEBuddy what TheTVDB Show ID is.

Where things go sideways is that I’m pretty sure TheTVDB is correct about the show’s metadata, but from the get-go the Tivo guide data is the cuplrit. Tivo’s guide said the episode was “Season 2, Episode 3”, but the show title says “Episode 205”, and it turns out that neither of those are the true season and episode based on the content and the Tivo metadata (which match each other). That show seems to have actually been Season 4, Episode 5, and none of the Tivo season/episode information was actually true, and since it was used in the filename, there is no way to “fix” this other than possibly manually reviewing each show after I pull it from the Tivo and renaming it properly (not sure if that’s enough for MCEBuddy to ignore the metadata in the .mpg file and the Tivo metadata .txt file saying something different.

I’ve still not worked out a workflow where I can add a file manually to MCEBuddy that doesn’t do any transcoding or container format changes, but just forces a pull of metadata from TheTVDB and overwrites the metadata in the file. I would, of course have to manually rename the file to trigger the correct show and season, and episode to pull the metadata from. I think it might be a profile that looks at the Plex media folders, but does not monitor them for changes if that makes sense? The idea is that if I manually add files from those folders to the task list, they will get that one profile applied. I probably will also have to make sure none of the other profiles get triggered that are watching different folders.

e.g. /plex-media, /tivo-media, and /HDHomeRun-media

Basically, MCEBuddy monitors the last two and the output is placed over in the /plex-media location. So I would be manually re-processing these kinds of files after figuring out what the real season and episode numbers are and then renaming the file and adding it manually to MCEBuddy to overwrite the metadata.

One thing I did notice, is that stuffing TheTVDB metadata into the file overwrites the OTA Netowork and Channel info with the Network info from TheTVDB and removes the channel info (which TheTVDB would not have naturally). It might have something to do with the Tivo “callsign” field being copied into the “Network” field instead of the “TVChannel” field, where it gets overwritten by the “Network” value from TheTVDB. In the “My Greek Table” example, the “callsign” of “KETCDT4” and TVChannel of “9-4” are preserved by MCEBuddy, and it injects the proper “NetworkAffilliate” of “CREATE”. However, in my test example, MCEBuddy dropped all of that and overwrote the TVChannel with “RTEone” (the Irish TV network the show originally aired on).

I don’t know what to suggest should be the proper “correct” metadata should be, since there are clearly cases where the Tivo data is just wrong, and others where it should be preserved - on a field-by-field level.

Also, in the “My Greek Table” example I posted above, the “episodeNumber” seems to indicate that it is from Season 3, Episode 7. However, from TheTVDB, the episode is really from Season 4, Episode 1, and has a slightly different title. "S04E01 Diane Discovers Her New Athens ‘hood ". So yeah, it’s a hot mess and I’m blaming crummy station guide data, but also trying to work out a good workflow to address and fix the problem.