TTG, Hydra, SkipMode

Discussion in 'Developers Corner' started by Jon Oexner, Nov 3, 2018.

  1. Jon Oexner

    Jon Oexner New Member

    2
    0
    Jun 2, 2017
    Hi all,

    I'm starting a hobby project to train a neural network to recognize commercial breaks. To do this, I'd like to retrieve recordings and commercial break information from my TiVO Bolt to use as training data. I have a couple of questions:
    • If I upgrade my Bolt to hydra, will TivoToGo still work?
    • Is there any documentation for the TTG protocol?
    FWIW, I've looked at moyekj's kmttg and have been (double-) reverse-engineering the protocol, but it's been slow going. My current end goal is a Raspberry Pi image that will populate skip mode data for recorded programs on TiVOs on the local network that haven't been entered by tivo.com.
     
  2. wmcbrine

    wmcbrine Well-Known Mumbler

    11,689
    806
    Aug 2, 2003
    You can take stuff off, but you can't put stuff back.

    Partial docs here: pyTivo Discussion Forum :: View topic - HMO Specifications

    They focus on photos and music, but video is similar. You can read the pyTivo code as well as KMTTG's for more details.
     
  3. Jon Oexner

    Jon Oexner New Member

    2
    0
    Jun 2, 2017
    Thanks so much for the response. AFAICT, there's no direct way to read or write a TiVO's SkipMode cache. Is that correct?
     
  4. wmcbrine

    wmcbrine Well-Known Mumbler

    11,689
    806
    Aug 2, 2003
    I dunno, ask @moyekj about that.
     
  5. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    50,936
    6,015
    Apr 17, 2000
    Nevada
    You can read the skip data but there isn't really a way to match it to the video. The way skip data works is it contains a list of start/end times for each segment of the show with a timecode relevant to the TiVo that was used to record and mark the segments. It then contains a big list of hashes that are generated from the captions and also contain timecodes. When your TiVo downloads the data it compares the hash data generated by the captions in your recording to the hash data in the list and then uses that to offset the timecodes of the segments relative to your recording. If your captions are corrupt, or the captions of the person who recorded the original show are corrupt, then skip doesn't work.

    When skip was forst released and moykej discovered the command to download the data I tried every common hash I could find to match what TiVo is using and I couldn't make it work. I used common words in the caption data to find matches throughout the data, but couldn't reverse the hash. Then again I'm not realy a crypto expert so someone more versed in that area might be able to crack it.

    The way autoskip works in kmttg is it uses a TiVo or Mini to play the show and then skips through the skip points recording their timecodes. It then uses this data to offset the skip segments download from TiVo rather than the hash of the caption data.
     
    ClearToLand likes this.
  6. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    50,936
    6,015
    Apr 17, 2000
    Nevada
    P.S. if you actually come up with a reliable way of commercial detection hit me up. We might consider buying/licensing it from you for VideoReDo.
     

Share This Page