1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

New program for 1 step TTG downloads, decryption, encoding - kmttg

Discussion in 'TiVo Home Media Features & TiVoToGo' started by moyekj, Mar 15, 2008.

  1. May 21, 2014 #6841 of 10405
    ThAbtO

    ThAbtO TiVoholic by the bay

    6,715
    7
    Apr 6, 2000
    SF Bay Area
    [​IMG]
     

    Attached Files:

  2. May 21, 2014 #6842 of 10405
    dreite

    dreite New Member

    3
    0
    Nov 22, 2013
    New user here. kmttg is a very nice/handy program. Thanks for your efforts on this.

    Dave.
     
  3. May 21, 2014 #6843 of 10405
    lpwcomp

    lpwcomp Active Member

    8,075
    2
    May 6, 2002
    John's...
    Out of curiosity, I displayed the data on an entry in the guide. I found this line which explains the field name:

    Code:
     "partnerContentId": "epgProvider:ct.EP015679020039",
    So the "partner" in this case is TMS. TMS is the one who assigns both the seriesId and the programId.
     
  4. May 21, 2014 #6844 of 10405
    moyekj

    moyekj Well-Known Member

    11,128
    27
    Jan 23, 2006
    Mission...
    Turns out I already did know the connection between partnerCollectionId and programId because when you use RPC option to get NPL listings the translation from one to the other is already done in existing kmttg code. However previously I thought programId/partnerCollectionId was uniquely generated for a specific recording on a specific TiVo. But obviously that's not the case if upcoming recordings (in ToDo and guide) have them already.
     
  5. May 21, 2014 #6845 of 10405
    moyekj

    moyekj Well-Known Member

    11,128
    27
    Jan 23, 2006
    Mission...
    The code is checked in for next release.
     
  6. May 22, 2014 #6846 of 10405
    epstewart

    epstewart Member

    648
    0
    Mar 1, 2003
    Hi, all,

    I would like to upgrade the old version of CCextractor on my Mac (version 0.59) to the latest version, 0.69, so that I can use it with kmttg. But when I try to compile the new version (which I downloaded here) using the included build command

    Code:
    g++ -Dfopen64=fopen -Dopen64=open -Dlseek64=lseek -I../src/gpacmp4 -I ../src/libpng -I ../src/zlib -o ccextractor $(find ../src/ -name '*.cpp') $(find ../src/ -name '*.c')
    
    I get

    Code:
    [imac:~] eric% cd /Users/eric/Desktop/ccextractor\ 2/src 
    [imac:~/Desktop/ccextractor 2/src] eric% g++ -Dfopen64=fopen -Dopen64=open -Dlseek64=lseek -I../src/gpacmp4 -I ../src/libpng -I ../src/zlib -o ccextractor $(find ../src/ -name '*.cpp') $(find ../src/ -name '*.c')
    Illegal variable name.
    [imac:~/Desktop/ccextractor 2/src] eric% 
    
    Notice that I have changed directory in Terminal to ...

    Code:
    /Users/eric/Desktop/ccextractor\ 2/src
    ... so I think I am pointing to the directory that contains the source code.

    I believe I have Xcode duly installed on my Mac, so I don't that that is my problem.

    Anyway, I'm looking for someone who has figured out how to do this compile, or else someone who has a compiled Mac version and is willing to share it with me.

    Thanks in advance for any and all help and advice ...
     
  7. May 22, 2014 #6847 of 10405
    moyekj

    moyekj Well-Known Member

    11,128
    27
    Jan 23, 2006
    Mission...
    Eric, take the space out of "ccextractor 2" directory name. Spaces in files and directories in general in unix can cause issues/headaches so you should try and avoid them. Don't know if it will solve your issue here, but I'd start there.
     
  8. May 22, 2014 #6848 of 10405
    VikingCrown

    VikingCrown New Member

    1
    0
    Mar 3, 2014
    First off, fantastic program, I am looking for a preset or recommended settings to convert some kids shows for a road trip. They are for young kids so I am really not looking for crazy quality, much more interested in small size. The shows will be Sesame Street's (to be viewed on ipad mini) for the youngest and 30 min shows of Super Hero Squad (to be viewed on ipad 3) for the older one. Can someone recommend something for me?
     
  9. May 22, 2014 #6849 of 10405
    epstewart

    epstewart Member

    648
    0
    Mar 1, 2003
    Kevin,

    Thanks for the idea. Unfortunately, it didn't fix things, and I think that's because the space in "ccextractor 2" had a backslash escape character in front of it when I used it in the 'cd' command. Unix on the Mac is OK with that. I think I am going to have to do some research on the g++ command line that the author of CCExtractor recommended. The author does say up front that he does not have a Mac to test with, so he can't vouch that the command he includes actually works. I will try to investigate further tomorrow. Actually, the whole reason I want to download and compile CCExtractor is that I am trying to put together a "Prezi" presentation on the basics of using kmttg, including setting up to capture closed captions. I am trying to learn to use Prezi at the same time as I am making the presentation.
     
  10. May 22, 2014 #6850 of 10405
    bbc581

    bbc581 New Member

    1
    0
    May 22, 2014
    It appears as though there is potential here to automate the scheduling of conflicts elsewhere and a TiVo not be required. If I could avoid recordings being missed by leveraging MythBuntu and my HDHR-3CC it would definitely improve the Wife-Acceptance-Factor! Between this and Plex Media Server I would be one happy individual.
     
  11. May 23, 2014 #6851 of 10405
    epstewart

    epstewart Member

    648
    0
    Mar 1, 2003
    Kevin,

    I figured out how to compile ccextractor 0.69 on my Mac. I had to fudge the original command

    Code:
    g++ -Dfopen64=fopen -Dopen64=open -Dlseek64=lseek -I../src/gpacmp4 -I ../src/libpng -I ../src/zlib -o ccextractor $(find ../src/ -name '*.cpp') $(find ../src/ -name '*.c')
    to

    Code:
    g++ -Dfopen64=fopen -Dopen64=open -Dlseek64=lseek -I../src/gpacmp4 -I ../src/libpng -I ../src/zlib -o ccextractor ../src//608.cpp ../src//608_helpers.cpp ../src//608_sami.cpp ../src//608_smptett.cpp ../src//608_spupng.cpp ../src//608_srt.cpp ../src//708.cpp ../src//708_encoding.cpp ../src//activity.cpp ../src//asf_functions.cpp ../src//avc_functions.cpp ../src//cc_bitstream.cpp ../src//cc_decoders_common.cpp ../src//ccextractor.cpp ../src//constants.cpp ../src//encoding.cpp ../src//es_functions.cpp ../src//es_userdata.cpp ../src//file_functions.cpp ../src//general_loop.cpp ../src//gpacmp4/mp4.cpp ../src//myth.cpp ../src//output.cpp ../src//params.cpp ../src//params_dump.cpp ../src//sequencing.cpp ../src//stream_functions.cpp ../src//telxcc.cpp ../src//timing.cpp ../src//ts_functions.cpp ../src//utility.cpp ../src//wtv_functions.cpp ../src//xds.cpp  ../src//gpacmp4/av_parsers.c  ../src//gpacmp4/avc_ext.c  ../src//gpacmp4/avilib.c  ../src//gpacmp4/base_encoding.c  ../src//gpacmp4/bitstream.c  ../src//gpacmp4/box_code_3gpp.c  ../src//gpacmp4/box_code_apple.c  ../src//gpacmp4/box_code_base.c  ../src//gpacmp4/box_code_isma.c  ../src//gpacmp4/box_code_meta.c  ../src//gpacmp4/box_funcs.c  ../src//gpacmp4/data_map.c  ../src//gpacmp4/desc_private.c  ../src//gpacmp4/descriptors.c  ../src//gpacmp4/error.c  ../src//gpacmp4/gpac_ogg.c  ../src//gpacmp4/hinting.c  ../src//gpacmp4/ipmpx_code.c  ../src//gpacmp4/ipmpx_parse.c  ../src//gpacmp4/isom_intern.c  ../src//gpacmp4/isom_read.c  ../src//gpacmp4/isom_store.c  ../src//gpacmp4/isom_write.c  ../src//gpacmp4/list.c  ../src//gpacmp4/media.c  ../src//gpacmp4/media_odf.c  ../src//gpacmp4/meta.c  ../src//gpacmp4/movie_fragments.c  ../src//gpacmp4/odf_code.c  ../src//gpacmp4/odf_codec.c  ../src//gpacmp4/odf_command.c  ../src//gpacmp4/os_divers.c  ../src//gpacmp4/qos.c  ../src//gpacmp4/sample_descs.c  ../src//gpacmp4/slc.c  ../src//gpacmp4/stbl_read.c  ../src//gpacmp4/stbl_write.c  ../src//gpacmp4/track.c  ../src//gpacmp4/tx3g.c  ../src//gpacmp4/url.c  ../src//gpacmp4/utf.c  ../src//libpng/png.c  ../src//libpng/pngerror.c  ../src//libpng/pngmem.c  ../src//libpng/pngset.c  ../src//libpng/pngtrans.c  ../src//libpng/pngwio.c  ../src//libpng/pngwrite.c  ../src//libpng/pngwtran.c  ../src//libpng/pngwutil.c  ../src//zlib/adler32.c  ../src//zlib/crc32.c  ../src//zlib/deflate.c  ../src//zlib/inffast.c  ../src//zlib/inflate.c  ../src//zlib/inftrees.c  ../src//zlib/trees.c  ../src//zlib/zutil.c
    in which I simply listed all the input files after manually doing 'find" commands to locate them. There must be a simpler way ... but my Unix understanding is rudimentary.

    Anyway, would you consider possibly including an already compiled version of ccextractor in the list of required tools that are downloaded when you first initialize kmttg? Thanks.
     
  12. May 23, 2014 #6852 of 10405
    moyekj

    moyekj Well-Known Member

    11,128
    27
    Jan 23, 2006
    Mission...
    I don't have one for Mac platform, and don't know if I got one that you compiled what kind of dependencies on dynamic libraries it may have? i.e. It may be very specific to your particular Mac OS version only?
     
  13. May 23, 2014 #6853 of 10405
    epstewart

    epstewart Member

    648
    0
    Mar 1, 2003
    Kevin,

    I am researching this further by asking in an appropriate forum for c++ programmers (g++ is a GNU compiler for c++). I will also contact the author of CCExtractor, Carlos, to ask about it. But I believe CCExtractor does not use shared or dynamic libraries, as the author intends it to be platform independent. No shared/dynamic libraries seem to be used, though. I will report back after I confirm this ...
     
  14. May 23, 2014 #6854 of 10405
    plamumba

    plamumba New Member

    38
    0
    Mar 19, 2005
    I just noticed that when I do an advanced search on actors, I don't seem to get any that appear as "guest actors" (I think that's how they are described). Am I misunderstanding how to use this function? Thanks for the program and for your help.
     
  15. May 23, 2014 #6855 of 10405
    moyekj

    moyekj Well-Known Member

    11,128
    27
    Jan 23, 2006
    Mission...
    If you have an example show that you can find through Advanced Search that has such a "guest actor", you can select show in Search table and use "j" keyboard button to dump all the information about that show to kmttg message window.

    A small portion of information of a show information is displayed below. There is a "credit" JSONArray that has actor, producer and directory information. In advanced search, when you search only for an actor, TiVo will return matches for shows that have "credit" entries with "role" = "actor", as in the partial entry below.
    Code:
       "credit": [
          {
             "levelOfDetail": "high",
             "characterName": "Robin of Locksley",
             "last": "Costner",
             "role": "actor",
             "type": "credit",
             "first": "Kevin"
    ...
    
    I don't know if there is a role type specifically for guest actor and if it is categorized different than actor, or perhaps for guest actors not included in credits at all. You have to dump the data to see what's available.

    (The above entry I got was for an actor only advanced search for "Costner")
     
  16. May 23, 2014 #6856 of 10405
    plamumba

    plamumba New Member

    38
    0
    Mar 19, 2005
    I did a dump of the info, and it seems that the "guest actors" don't appear there. They do appear on the list one gets when hitting the "info" button on a program on the Tivo itself. Too bad, as it reduces the usefulness of searches, not your fault of course, but I often wonder what Tivo is thinking with the choices they make (apparently trying to increase their demise).

    Thanks for your help.
     
  17. May 23, 2014 #6857 of 10405
    epstewart

    epstewart Member

    648
    0
    Mar 1, 2003
    Kevin,

    I found out how to check for dynamic library usage in CCExtractor (on a Mac, the 'otool -L' command; on other machines, 'ldd'), and unfortunately the latest version does link to two dynamic libraries that are related to c++. And my older version uses a different set of dynamic libraries. I don't know whether these libraries are on every Mac or just those that have downloaded Xcode, which makes the g++ compiler available. This is very murky. It's possible that the necessary libraries are common to all Macs. The only way to tell might be to make CCExtractor available to all Mac kmttg users and see if there are any complaints. But I can see where that idea might not appeal to you ...

    BTW, I found out why the g++ command line I specified in an earlier post didn't work. It requires a 'bash' shell in the Mac Terminal, and I was using a different shell.
     
  18. May 24, 2014 #6858 of 10405
    wuzznuubi

    wuzznuubi New Member

    118
    0
    Jan 16, 2013
    Thanks!
    Couple questions on this;
    1. Is there any speed penalty or size limit to a large auto.history file? i.e. all files previously recorded that were moved to an archive?
    2. Would it be better to manually sort the auto.history file by programId (for kmttg) or does kmttg do that after ingesting it or does it matter?
      a) It's much easier for us humans to peruse when it's sorted that way
     
  19. May 24, 2014 #6859 of 10405
    moyekj

    moyekj Well-Known Member

    11,128
    27
    Jan 23, 2006
    Mission...
    Yes, if it becomes huge it will slow parsing down and increase memory use (since the whole file is cached in memory for speed purposes), so you clearing out old entries regularly is good practice.
    No, there's no sorting done - kmttg simply appends as it goes, so old entries will always be 1st unless you are sorting the file yourself, so generally clearing older entries is just a matter of clearing from start of file.
     
  20. May 24, 2014 #6860 of 10405
    wuzznuubi

    wuzznuubi New Member

    118
    0
    Jan 16, 2013
    Thanks again.
    Can't wait to try it out!
     

Share This Page