New version of zss available... lotsa added features!

Roger Merchberger zmerch7 at y...
Fri, 8 Mar 2002 22:12:37 -0800 (PST)


Originally written by Edmond E. Shwayri:
> > Find this :
> > num_recs = (int) buf[0] /* +(((int)buf[1]) << 8) */ ;
> > And :
> > struct TyStreamHeader TyStream[0xff];
> > 
> > To :
> > struct TyStreamHeader TyStream[2000];

--- and Michael Patterson <mpatterson@a...> wrote: 
> Is there a place that a binary with these changes has been placed?

My latest version of zss, humbly labeled 0.53 is available on my
website:

http://www.30below.com/~zmerch/tivo/index.cfm

I've listed some usage information on my page, which I've updated to
give credit where credit was due (thanks Edmond!) & to outline a few
of the new features, but I'll detail them a little more now:

-v switch - now you can change the verbosity from the command line.
There was some logging put in there by Joe using the verbose tag, but
you'd have to recompile to use it -- I left that logging in, but you
need 3 -v switches on the command line to print it out... Warren,
some time back you asked why splitstream was so complicated? This is
one of the reasons - if I'm reading the code right, splitstream tries
to *predict* what the audio / video offsets are going to be, and
that's what this logging shows...

-d### - drop ### of first chunks from the stream. Very handy tool if
you know the first few chunks were on a different
channel/resolution/whatever...

-c### - process only that ### of chunks...

-t - analog for --time-offset - makes the command line shorter, if
desired.

At the end of the logging, it also states the max & min # of records
and which chunk they occured in, and the total number of audio &
video frames each that were output.

In the higher verbosity range, I've also plotted out which records
are audio & which are video as a string... for each chunk, you'll see
a line that reads something like:
AV-Chunk # 13013 : VVVVVVVAAAVVVVAAAAVVVVVVVVVVVV
Each 'V' was a video record, and each 'A' was an audio record.

Eventually, I want to change the string to include 'I', 'B', 'P' and
'G' (for GOP) records, and have it print out a list of GOP records &
the chunks they're in... Then, if the video records are *really*
small, then it would "probably" be a black frame, and the program
might be able to intelligently tell you where the commercials start &
stop...
... but I'm getting ahead of myself.

Anyway, one could put:

zss -v -v -v -d2 -c500 mykewlshowhere

and zss will:

1) log all sorts of crap! ;-)
2) drop the first 2 chunks
3) process only 500 chunks
4) assume: input from mykewlshowhere.ty
video output: mykewlshowhere.m2v
audio output: mykewlshowhere.m2a
bad tychunks: bad-mykewlshowhere.ty
log filename: mykewlshowhere.log

if you use the -t/--time-offset flag, the logs are displayed on
stdout.

Ironic that the one thing I wanted to do with zss - the multi-chunk
buffering on input - I wasn't able to get working... :-/

There might be other stuff I added, but I can't remember ezactly
right now... I've added quite o' bit of stuff, and I'm getting tired,
so...

Well, it's nap-time - I have to work in about 8 hours, and then I get
to move furniture... yay.

Lemme know what y'all think! Laterz,
Roger "Merch" Merchberger

__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/