Archiving SVCD success

rudolphadam@y... rudolphadam at y...
Wed, 24 Oct 2001 18:04:06 -0000


I have had ALOT of success converting extracted streams to SVCD, so I 
thought I'd share my technique with you all. Definition of ALOT? 
Basically everything I want to convert, converts.

It tends to be a lengthy procedure requiring major HD space, but it 
does work well if you have time & patience.

Hardware/Software
TiVo 140Hr/v2.5.1/32MB on digital cable
TiVoNET
ExtractStream 0.3 (but recently the new one... thanks! It's better!)
Windows ME
DVD2AVI
Huffy lo-loss video codec
Adobe Premiere 6
Sound Forge 4
Winamp
LSX Mpeg encoder
Nero


I record everything at 'high' quality because of the amount of time 
the extracted streams contain. Using digital cable through the 
composite video input on the TiVo, both high & best quality 
recordings are 480x480 (SVCD standard). The issue is really the 2Gig 
limit I have using Winblowz with Netcat. With high quality, I get 
about 80 minutes/2Gig m2v, best 57 minutes/2Gig m2v.

Aight, the steps...
-Grab your program from the TiVo to the PC (.m2v, .m2a)
-Convert the .m2a to .wav using Winamp (or whatever)
-Open the .wav in Sound Forge (or whatever) and do the following
-- Normalize to -1.75db (peak, not RMS)
-- Resample to 44.1Khz
-Open the .m2v in DVD2AVI
-- Settings:
Field Operation: None
Color Space: RGB 24bit
YUV->RGB: PC Scale
Don't process Audio
-- Save AVI using Huffy codec
(converts to about 4.5 minutes/2Gig .avi
This is where the major HD space comes in)

OK, at this point you have everything you need to do the conversion 
to a valid SVCD .mpg file using Premiere & LSX. Oh, but you ain't 
done yet! How long have these steps taken so far? Well I'm running 
an Athlon 1.4Ghz so your times may vary...
Dump TiVo to PC:
Best - real time
High - ~80% real time
Convert .m2a to .wav:
seconds
Convert .wav (normalize/resample):
< 5 minutes/30minute .wav
Convert .m2v to many .avis:
~90% real time

So at this point, just under 2x real time. Premiere/LSX takes about 
3.5:1 on my machine. I always burn @ 4x because 8x or faster 
sometimes glitches. All in all the whole process takes about 6:1 
including ripping commercials/editing in Premiere.

If you are not familiar with how to do video editing in Premiere, 
well, you're SOL. I cannot give you a complete rundown on how to do 
the process. Learn it, it's a great program and the lite version 
comes free with cheap capture cards. I use Premiere with .avi's 
because it's EASY to remove commercials, add transitions like fade, 
etc. and, well, you just can't open the .m2v in it :(

What about the video/audio sync? Well that's an issue. You just 
can't import all the converted files into Premiere & expect to export 
a perfectly synced .mpg. However, since the video & audio timelines 
are seperate, you can shift the video stream forward by a few frames 
relative to the audio. Everything I have converted so far has needed 
the video stream shifted forward, somewhere between 8 & 14 frames. 
An easy way to tell if the video/audio is in sync from within 
Premiere is to just play or frame advance it. You can see/hear if it 
is or not. Sometimes you get lucky and have a closeup of someone 
speaking a word beginning in 'P' or 'B', once I had a someone 
snapping their fingers. That was an easy sync. Shifting the streams 
around in Premiere makes for an easy process to sync up the 
audio/video.

If you really want to, you can remove the green bar & the closed 
caption data line in Premiere too. Personally, I do not. Why? 
Because I play the final SVCDs on a DVD player. When the disc plays 
back on the TV, you don't see them. Seems to me if you crop the 
video you will lose some of it on playback to a TV, especially if you 
don't see the offending green line anyway. Besides, I don't get no 
3.5:1 conversion time out of Premiere if I start applying filters. I 
suppose if I wanted to watch the video on the PC, or a notebook on a 
plane/train, I might consider it. Of course if I was to watch the 
video on a PC I'd probably go the extra mile to do a interlace->non-
interlace conversion too. SVCD standards allow for interlaced video 
though, and it looks perfect on a DVD player->TV. Seems like a lot 
of extra work/time to apply all the filters necessary to make it PC 
compatible. I'll live with the green bar on the PC. Isn't the whole 
point to archive video that you have recorded on the TiVo? You watch 
the video on a TV originally. Wouldn't you want to watch your 
archives the same way? Ok, enough opinions... this is supposed to be 
an information share!

OK, here's the most important information I can give. It is possible 
to tweak the final SVCD video bitrate to fill a CDR to whatever 
length your video is. I have had success in getting 35 minutes up to 
55 minutes of video to completely fill an 80min CDR. Be aware that 
lowering the bitrate to fit 55 minutes of video will degrade it 
obviously. I usually try to keep it below 50 minutes. For a 2hr 
movie I usually split it into three CDs of ~40 minutes each. Very 
good quality. Very. (2) 30 minute shows less commercials is about 
44 minutes. (1) 60 minute show less commercials is around 40 minutes.
That's pretty much how I convert stuff. (2) 30 minute shows/CD or 
(1) 60 minute show/CD (less commercials of course).

For the LSX encoder, here is the formula I use to get the right 
encoding rate the first time...

(Constant/time) = stream rate
(stream rate-audio rate) = video rate
For LSX, constant=104750 (for an 80min CDR)

Example:
you have to export 42:30 from Premiere
42:30 = 42.5 minutes
(104750/42.5) = 2464.7 (round up to 2465)
(2465 - 224audio) = 2241
If you encode your video @ 2241 and audio @ 224, you will end up with 
a .mpg file that should just about fill an 80min CDR. Should be 
somewhere around 79 minutes of CDR space. Not bad. Oh, if you end 
up with a final number of >2440, drop it to 2440. The max bitrate 
for SVCD standard is around 2600 kbit/s.

I should mention that I never use VBR either on the TiVo, or the 
exported SVCD. Mostly because the magic constant number I figured 
out for LSX wouldn't work. I don't see how any constant would be 
consistent using VBR. Oh, and ExtractStream doesn't work with VBR 
right? I never tried.

So if this helps anyone, cool. I've been doing this for about a 
month now & only once did I have trouble (the new ExtractStream would 
probably have worked in that case). I have sucessfully converted 
movies, all the 'Red Dwarf's that have been playing on BBC America, 
Enterprise episodes, Sopranos, etc. Natually no commercials! About 
40 hours of SVCDs so far & going.

It is do-able, and it works DAMN good. Thanks to everyone who has 
helped in this field. Hacking the TiVo, who would have thought?