SurLaTablo.py - Python program to query and convert Tablo recordings

I extracted this from data from “The Bucket List” recorded last night…

“Looks like a bunch of useless commercials”

"Yep"


http://endlessnow.com/ten/SurLaTablo/the-anti-commskip.gif   <- do not click if you have Chome, it’s 100M!!  Chrome can’t deal with a small animated Gif with many layers… it’s a bug.

Chrome friendly Just the Commercials (this is not sped up)



Looking forward to testing commercial skip.

Thanks,
Tom

Not so much of “commercial skip” but commercial remove…

Leaving out commercials for things other than TV is working ok.  For TV, many shows have something evil at the end called a “postscript” (well, that’s what I call it anyhow).  The problem is that it’s short, feels like a commercial and is indetectable.  About the only thing I can do is just keep everything at the end… it might start with the postscript, there might be a commercial or two and then the postscript… etc… and then I just leave the rest after that.

Do you mean the “end credits”? Anyway, that sounds like a reasonable compromise to me.

P.S. Any chance you could edit your previous post and just put a link to that huge animated GIF instead of showing it in the page? It seems to be causing Chrome to lag for me.

Not end credits… it’s the short little postscript added to the end of the show after the last bit of commercials that is often followed by the end theme and credits.  Unfortunately, the run length is commercial sized and virtually indistinguishable from the surrounding commercials.

@Joltarin, you’re right.  Chome is pretty broken with regards to animated gifs (sorry Chrome, you suck at animated Gifs).  With no apologies to Chrome fanboys… it’s broken,… oh by the way, Chrome is broken in the way it handles animated Gifs.  That’s not an opinion folks… it’s just broken. (I’m saying that because Chrome fanboyz can’t hear sometimes). :slight_smile:

I’ll fix er up… just a sec…


Oh, I see. I guess my preferred local 11 O'clock news does that. And I think I've seen Top Chef do that kind of thing in the middle of the commercial break preceding the "last act" (e.g. 3rd or 4th act) of the episode sometimes. Is it just me or do hour-long, scripted dramas tend not to do that?

Thanks for changing the GIF.

@Joltarin, I find the “postscript” thing to be very common with 60’s thru 80’s (90’s?) sitcoms.  But as another example, think of the small preview thing that you find at the end of Marvel’s Agents of Shield… I’m sure there are other contemporary examples.

Of course a preview might not be noticeable if missing.  Those postscripts on sitcoms sometimes have a “last laugh” sort of thing…


"Yep"


http://endlessnow.com/ten/SurLaTablo/the-anti-commskip.gif   <- do not click if you have Chome, it's 100M!!  Chrome can't deal with a small animated Gif with many layers... it's a bug.

Chrome friendly Just the Commercials (this is not sped up)



One movie has 30 minutes of commercials??? Help me SurlaTablo .8, you’re my only hope!


Thanks,
Tom

It is pretty ridiculous, but I’m pretty sure you figured that out (2 hour TV movie, when 99% of all movies are 1:30 in length).  Seems like it’s always been like that…


uh, animated GIFs are a thing of history… old technology, excess file size for what they are and do. GIF is originally a Compuserve invention as I recall. How long ago was that?


With that said, they’ve made a comeback over the past couple of years. And there is no universally accepted replacement.

Movies that are over 90 minutes are often edited to be closer to that length when shown on TV.  Not spending roughly a quarter of your time watching TV on watching commercials is a big reason to use a DVR.
With that said, they've made a comeback over the past couple of years. And there is no universally accepted replacement.

Yeah, one word: Tumblr.


Only Firefox and Safari 8+ support APNG (animated PNG). (Although Opera’s old, discontinued Presto engine did too.)

Update… so closed caption and/or translate to subtitle requires some effort on a commercial-less stream.  I may release this with that feature disabled if commercial skip is enabled until I can fix.

Yeah, removing a section of subtitles and re-sequencing the following section up to the next break, in a loop… I could see how that could pose a challenge. Thank you for your continued efforts.  B-)

Hope you are all getting ready!!

surlatablo.py -n -q ‘Marshall Road’ -c -z -k @ -y                                     
Working on:                             [./TV/Hazel/Season 4/Hazel - s04e10 - Mixup on Marshall Road]                                                                        
 Retrieving Tablo Data (27955):         [####################] 100%                   
 Searching for commercials:             [####################] 100%                   
 Removing commercials:                  [####################] 100%                   
 Transcoding (Mp4, .mp4):               [####################] 100%                   


Looks good. I’m ready!


Thanks,
Tom

I’m ready to give it a try. :slight_smile:

SurLaTablo 0.8 released.

Announcing 0.8 with commercial extraction (-z).  Right now if you enable commercial extraction, it will automatically turn off subtitle handling.  Just a limitation.  You can “feel” the transitions a bit where the commercials are removed.  But in my own testing, it is not horrible.

As with any commercial detection/extraction software, it isn’t perfect.  I tried to error on the side of “having commercials” over losing show content.  But there are way too many variables to guarantee anything.

So… would love to know how well it works for you anyway.  And while I can’t predict what show you record, often times a show will have similar characteristics “show to show”… so maybe I can troubleshoot.


0.8 -
   1. Moved 2nd exec of SLT_GLOBAL[‘CONF’] (surlatablo.conf) to happening
      after the module imports.  In particular this allows you to set
      tempfile.tempdir = ‘temp-file-dir’.
   2. Added commercial removal (-z).  I have not found a good way of
      creating subtitles that work with such a file though.  So for now,
      you cannot specify both -C -z, if you do the -C will get tossed.
      You can notice the “stitch” points in the resulting file.  The
      analysis and creation of the commerical-less file means twice the
      ammount of .ts (defaults to temp storage) is required.
   3. You can now override elements of the “options” array.  This is
      mainly so you can tweak the commercial detection and extraction
      variables.  Set with -o name=value:
          blackdetect_d  (.03) - This is length of black frames in seconds
              to be considered a valid black frame.  I can see cases
              where raising this to .04 is ok.  I wouldn’t make any
              other adjustment to this one.
          blackdetect_pic_th (1) - Ratio (coverage) to be considered as “black”.  I’d
              leave this alone.
          blackdetect_pix_th (.1) - How black is black?  Again, I would leave this
              alone.
          commercials_max_time (500) - If the routines seems to be stuck in
              commercials for more than this length in seconds, start adjusting
              the “interval” by “interval_reduce” for “reduce_attempts” times in
              order to try to find some show content.  Probably best to keep in
              the range of 400 - 600.
          interval (230) - Length in seconds from end of last black segment to next
              black segment.  If you make this too small, you’ll end up with
              commercials.  If you make this too high, you may miss some show.
              I’d keep this in the range of 200-300.
          reduce_attempts (3) - Number of times to attempt interval reduce in
              cases where we believe we may have missed some show.
          interval_reduce (30) - This is subtracted from the interval when
              it is believed that we are missing some show elements.  Done
              for “reduce_attempts” number of times before giving up.
          postscript (false) - Some TV shows in particular may have a very
              short postscript (at the end) situated in the midst of a sea of commercials.
              Since this almost impossible to detect, setting this option will
              grab the content from the last known black interval after the last
              known show segment to the end of the file.  Yes, you will get commercials,
              but you will also get the postscript segment.  Set this to a non
              empty string value to make it true.
      Other values could be added to the options array using -o.  I’d be very
      careful about adjusting other values.