TiVo Community Forum banner
1 - 13 of 13 Posts

·
Cranky old novice
Joined
·
9,468 Posts
You caught me! The past 15 years I've spent on this site were just to butter you up so I could trick you into installing a hack on your PC.:smilingimp:
Yes the old super-moderator-is-a-hacker ploy.:rolleyes:
 

·
Cranky old novice
Joined
·
9,468 Posts
I have tried MG over several months with zero success . Usually comes up with no returns.
If you post specific details in the MG3 thread of the pyTiVo forum (link in signature) I will attempt to resolve your issue. Or start a new thread in this forum. (Don't want to clutter this thread with off-topic talk.)
 

·
Cranky old novice
Joined
·
9,468 Posts
Yes, when accessing my pyTivo shares from my TiVo, I select the file named "Hannibal-S02E11-Kō No Mono.mpg" and pyTivo does nothing. It doesn't open the next screen where I would select the episode to be transferred.

As I mentioned in my post, Easier to use pyTivo , I believe @moyekj has kmttg replace "odd" characters in the kmttg download process to prevent this from happening.

The problem arises when users rename their files to match the TVDB name or any other name with characters not accepted by pyTivo/TiVo.

I use MG3 to rename all my shows to match the TVDB name and so I found the issue.

Perhaps the best place to address this, in my particular workflow, is with MG3 and have it replace the offending characters, but what if other users are using different applications to rename files and have a similar problem?

Should the change be made to MG3 or to pyTivo?

@dlfl & @Dan203 - Thoughts?
If there is a general (algorithmic or functional) way to handle such substitutions in code, I would like to know of it. Otherwise you have to handle each such case individually, e.g., substitute 'o' for 'ō'. And there appear to be hundreds of such possibilities if you look at the unicode tables, so the only practical way to do it is for users to call attention to specific cases and suggest the desired substitute character. I have no problem doing that in MG3.
 

·
Cranky old novice
Joined
·
9,468 Posts
Upon refreshing my memory, the only problem MG3 has with "odd" characters is when it calls Atomic Parsley to embed metadata in output .mp4 files. That program (which is old, and which I don't maintain) chokes on file names including those characters. I built a work-around into mg3 in which the file being processed is temporarily renamed and then again renamed to the original name after the embedding process completes, so MG3 provides an output file name that includes the odd chars. In other words, MG3 has no problem with the odd characters as long as a table of substitute characters is pre-defined -- or if you're not configuring it to embed metadata in output .mp4 file. There may be a simpler (algorithmic) way to generate the temp file name by just detecting non-ASCII chars and subbing a dummy char (e.g., 'z'), or maybe just removing them -- it's just a temporary file name anyway.

But the above discussion and MG3 treatment doesn't address the problem @elprice7345 has defined.
 

·
Cranky old novice
Joined
·
9,468 Posts
I have no idea what language MG3 is written, but the problem of converting unicode to UTF-8 has been solved in most if not all. In python, there is a nice discussion and solution here: Converting Unicode Strings to 8-bit Strings
............
.......... There is a conversion routine that can convert some, but not all, unicode characters to a format it does support but on this particular file that conversion is failing.
..............
Dan,
I'm curious which function in Python 2.7 you are talking about, and what the "format it does support" is?

I played with the encode() function in 2.7 after reading the link posted by @minimeh, and if you are encoding to ASCII your choices are:
1. Remove the non-ascii characters.
or
2. Replace them by '?'
or
3. Throw an exception

Which function does a reasonable replacement for at least some characters, as you describe?
 

·
Cranky old novice
Joined
·
9,468 Posts
I was wrong about my original diagnosis. It wasn't ffmpeg, it was the way pyTivo calls ffmpeg. The function subprocess.Popen has an issue on Windows that it only supports a character set called cp1252, which seems to be a superset of ascii, but not full unicode. So it supports some, but not all, unicode characters.
My unaccenting solution for MG3 was done in C#. However I was curious about how to do it in Python and found there is at least one way to do it using unidecode.unidecode. This requires installing the unidecode package and importing unidecode in the code. I'm not sure what complications this may involve for your desktop distribution. Also, for this to solve the ffmpeg issue, you would have to construct the unaccented file name, temporarily rename the video file to the unaccented version, and pass that file name to ffmpeg via popen. Then rename the file to the original (accented) version after ffmpeg terminates.
 

·
Cranky old novice
Joined
·
9,468 Posts
.........
UPDATE2: Uninstalled...again...and then used "Run as administrator" on the Windows installer. Seems to have done the trick. Not a difficult thing to do at all, of course, but would've saved a lot of time & trouble if the download website had simply suggested that.
Does your normal logon account have admin privileges? I suspect most forum readers run that way. If you don't, that might explain the need for "run as administrator".

These account privilege features are a PITA for windows users, most of whom don't really understand the details. I understand they are trying to protect us from ourselves but it just seems there must be a better way.
 

·
Cranky old novice
Joined
·
9,468 Posts
kmttg is abandoned in the sense that it won't be updated going forward. This is mostly because there was no one able to provide the "key" needed for much of kmttg's awesome functionality. Therefore that functionality won't work when the current key in use expires.
However, all the rest of kmttg's functionality will continue to work, in particular you should still be able to download and run the downloaded file through the same processing chain. One thing that won't work there is if you depend on naming the downloaded file with certain data such as the series number or episode number.

If you're using VRD to decrypt the downloaded file, kmttg will have VRD do the decryption and QSF in the same step, no extra file space needed. If you're running out of space it isn't the QSF step causing the problem it is probably the decryption.
I author two programs (links in signature) that can automate, or semi-automate, renaming video files based on metadata and placing them in folders created and named based on metadata.

VAP6 requires VRD TV Suite 6 to be installed. It monitors a folder where you (or I assume KMTTG) would place downloaded files and then processes them with VRD, renames and relocates the output based on metadata obtained from theTVDB.com or TMDb.com. All automatic, once set up.

Metagenerator 3 (MG3) doesn't require VRD to be installed and doesn't monitor a folder or do automated processing, although it has modes that process all videos in a folder based on a button click. It can embed metadata in output .mp4 or .wtv files, but cannot recode videos like VAP6 can.

Both programs run only on Windows, using the .NET framework. Neither program has very good documentation but I monitor their threads and will respond with help when needed.
 

·
Cranky old novice
Joined
·
9,468 Posts
Doesn't Metagenerator 3 use mind/rpc? So won't it have the same issue with the certificate when it expires in December?
MG3 uses mind/rpc only to search for seriesId's and programId's so yes, those two items will no longer be available. But all the other metadata is obtained from other sources which don't depend on the certificate.
 

·
Cranky old novice
Joined
·
9,468 Posts
So after the certificate expires you'll no longer be able to use MG3 for pyTivo uploads because it wont be able to match the data from the TVDB to the requires TiVo series and program IDs right?
Just to be clear, MG3 doesn't do any TiVo uploads or downloads itself. It creates <video_file_name>.txt files that pyTiVo can use to send metadata along with video files uploaded from PC to TiVo (to the degree that operation is still possible). I think you know this but other thread readers may not.

After the certificate expires those .txt files will no longer be able to include seriesId and programId items. I **think** that still will work to include metadata with files uploaded to TiVo's still running TE3, since the many other metadata items will still be in the .txt file. (Neither MG3 or VAP6 require series or program id's to look up metadata.) Functionality such as grouping probably won't work without the programId and seriesId items although these can be edited into the .txt files if one knows values that work.
 

·
Cranky old novice
Joined
·
9,468 Posts
Yeah that's basically what I meant. After the expiration it wont be able to get the uploaded recordings to group with their recorded counterparts. That sucks. Was always a nice feature of MG3.

Does anyone know when the TiVo app itself will be updated with the new certificate? Maybe we can convince a hacker on reddit to grab the certificate, or do a little collection to pay someone to do it. (assuming it's not actually impossible now)
@moyekj ,the author of KMTTG, has been the source of certificates for MG3 and AFAIK he has given up on getting a new certificate. See the following post in the KMTTG thread and the next 5 or 6 posts after it:
New program for 1 step TTG downloads, decryption, encoding - kmttg
 
1 - 13 of 13 Posts
Top