View Full Version : My TV capture method...Is there a better way?
phin
9th December 2002, 15:27
Hello all, This is my first time posting but I've lurked for quite a while. I wanted to share with you my methods of TV capturing and see if anyone knows of a better way to do it.
My goal, and I'm sure I'm not alone, is to easily capture TV shows, remove commercials, archive the shows with the smallest file size possible while still allowing for a quality that is comfortably watchable at full screen....all this with the least amount of effort possible.
After experimenting with many different methods here is what I've decided on:
-With my AIW 8500dv and MMC 7.7 software I schedule caputures in MPEG-1, 488x366, 2,000 Kbps
-I edit commercials out using VirtualDub, then compress the video to Divx 5.02 1-pass 700 Kbps (Audio is set to direct stream copy)
-Then I open that file in Vegas Audio and render the audio to an mp3 file.
-Finally I use VirtualDub (the freeze/MP3 mod) to direct stream copy the audio and video back together.
I use VirtualDub's job control feature to do video compression for several files at once but the audio portion has to be done individually.
The raw MPEG-1 recordings are approximately 1 GB per hour of video.
The final Divx files are approsimately 600 MB per hour of video.
This process results in acceptible quality (for me) and I'm ok with the file sizes. The main thing I'd like to improve on is the amount of processing time it takes to achieve this. Ideally I'd like to use VirtualDub for crunching the Audio and Video in one step but as we all know, VD has a tendency to lock up and crash when doing both at the same time.
Any suggestions or comments on how I can do this better would be greatly appreciated.
Thanks.
Leuf
9th December 2002, 20:18
Originally posted by phin
My goal, and I'm sure I'm not alone, is to easily capture TV shows, remove commercials, archive the shows with the smallest file size possible while still allowing for a quality that is comfortably watchable at full screen....all this with the least amount of effort possible.
Of course everyone's idea of how much quality is enough is different. A couple comments on your approach: As I'm sure you know, if you are going to cap in one format and then reencode to another make sure the capture is done in the highest res, least compressed format you can manage. Huffyuv if possible, then mjpeg. I don't know if you can set MMC to use these, I cap directly in vdub. I've never had a problem encoding the audio at the same time in vdub.
600 mb/hr sounds a little high, especially at that res. You might want to experiment with 1-pass quality based encoding, between quant 4-6. You lose a little bit of filesize predictability, but gain a lot more quality per filesize than cbr without much more cpu time. I can get down to 220-250 mb per 42 minute running time 1 hr show, at 640x480. It's pushing it a little though, but you can get 3 eps on a cd that way.
Something completely different you might try, if you can get past the stigma attached to it, is to encode to realmedia. There are a lot of advantages. The encoder is very tolerant of bad sources, so you really dont have to mess with filtering if you dont want to. If you do filter you can get some very good results though. You cannot beat the filesizes you can acheive with anything else. 320x240 at 75 mb per 42 minutes, and the result is very watchable at fullscreen (YMMV). Of course the downside is the player is the spawn of evil and you really can't do anything but watch the file once its encoded. I can put up a sample if you like.
-Leuf
phin
9th December 2002, 21:09
Thanks for the reply Leuf. I actually purchased the PicView MJPEG Codec thinking that was going to be the ideal solution for me. Unfortunately I had bad problems with audio sync and that codec. I don't think it's my machine (AMD 1800+ with 512 MB DDR and a 120 GB HD with 8 MB cache) but who knows. I'll give it another try and see.
Thanks for suggesting 1-pass quality based, I've never tried that so it may very well help me with file sizes. I don't think Real would be an option for me because I'd like to get the commercials out.
One note about MMC. I know there are some who have had problems with this software in the past, but I'll have to say it has worked extremely well for me. Of course the program guide and scheduling capabilities are top notch. I can specify exactly what codec and settings I want for each capture (not just the built in ATI choices) I rarely ever drop a frame. The only issues I've seen with it are audio sync problems using MJPEG and Divx 5.02. Thats why I resorted to capturing in fairly high quality MPEG-1.
I appreciate the advice.
cjv
9th December 2002, 21:49
Originally posted by phin
My goal, and I'm sure I'm not alone, is to easily capture TV shows, remove commercials, archive the shows with the smallest file size possible while still allowing for a quality that is comfortably watchable at full screen....all this with the least amount of effort possible.
-With my AIW 8500dv and MMC 7.7 software I schedule caputures in MPEG-1, 488x366, 2,000 Kbps]
If you're satisfied with this quality and the final output, then great, but I'm sure you can achieve much better.
You bought MJPEG, which is a HUGE step in the right direction. Unfortunately, many find that MMC doesn't keep sync with codecs other than its own..and especially with high-bitrate codecs like mjpeg/huffy. I suggest changing you capture app, but I understand you like the ATI TV Guide.. (you must capture off cable/OTA?)
Did you know that with your machine and resolution, you should have no trouble capping direct to XviD. Use the h263 quant to help in noise reduction, and motion search 5 or even 6! This will eliminate the MPEG1 step altogether, save you a lot of time, and XviD is great and will give you great quality considering your current process.
-I edit commercials out using VirtualDub, then compress the video to Divx 5.02 1-pass 700 Kbps (Audio is set to direct stream copy)
If you're not using any filters, I can't even imagine the quality going from low-res MPEG1->DivX 1-pass CBR 700kbps!!!
If you capture straight to XviD, you can just load it in VDub, edit out the commericals then direct-stream copy it to a new file.
-Then I open that file in Vegas Audio and render the audio to an mp3 file.
That's great if you feel comfortable using Vegas, but there are many freeware/open source tools that can most likely do a much better job.
I would save your WAV from VDub and use BeSweet to normalize it and encode it using Lame/Vorbis with much higher quality then Vegas (I doubt they use the Lame encoder)
-Finally I use VirtualDub (the freeze/MP3 mod) to direct stream copy the audio and video back together.
Not sure what this mod does? I use nandub for muxing.
I use VirtualDub's job control feature to do video compression for several files at once but the audio portion has to be done individually.
You can eliminate this step.
The raw MPEG-1 recordings are approximately 1 GB per hour of video.
The final Divx files are approsimately 600 MB per hour of video.
Wow! Those files are HUGE considering the resolution. Capping to mjpeg and using a good temporal filter prior to encoding to DivX/XviD, you can easily cut those filesizes in half and probably improve the perceived quality.
This process results in acceptible quality (for me) and I'm ok with the file sizes. The main thing I'd like to improve on is the amount of processing time it takes to achieve this.
Capping to picvideo mjpeg will not cut the processing time. It will DEFINATELY result in better quality output then you are getting right now. Capping direct to XviD will cut your processing time in half and eliminate the MPEG1 altogether.
Unfortunately, sacrifices must be made. The better the quality you desire, the more time it will take. If you're currently satisfied with your final output, try the XviD way and I bet you will be more than happy (and save a lot of time too)
cjv
Leuf
11th December 2002, 05:33
Originally posted by phin
Thanks for suggesting 1-pass quality based, I've never tried that so it may very well help me with file sizes. I don't think Real would be an option for me because I'd like to get the commercials out.
Well, I would still cap to an intermediate file and then encode to rm, but you can trim/append files with the rmeditor as well. I never got capping with real on my aiw to work, but then I dont think I ever tried more than once. You really have to do 2-pass encoding for best results. I put up a sample (http://members.verizon.net/~vze3kkvm/test.rm) for the heck of it, about 900 kb. Total size for the ~41 min episode was 67 mb :) CQ divx encoding is probably easier though.
If you can bear the extra cpu time, running it through convolution3d in avisynth will do wonders for compressibility.
-Leuf
phin
11th December 2002, 18:05
Well, thanks to the great advice from cjv and Leuf, I've been able to substantially improve my capturing process. I've been doing some heavy testing for the past couple of days and as a result I've learned much about whats possible with my setup and whats not.
First of all, as much as I like MMC, cjv was right in that it has a terrible time keeping audio sync with codecs that are not built into it. MJPEG, Huffuv, Divx, and Xvid are out the question as far as capturing with MMC if you expect audio to be synced correctly.
I then began experimenting with capturing from VirtalDub using MJPEG at 640x480 (quality 18). The audio was fine on a 30 minute capture but seemed to gradually lose sync on a longer 2 hour job. Still, it was much better than MMC. Using Divx 1-pass quality based at 5 quant, resizing to 488x366, de-interlacing, and temporal smoothing at setting 3 I was able to achieve fantastic quality at file sizes that were around half of what my previous MPEG-1 attempts were. So for high quality capturing where I'm able to manually start VirtualDub, this method is probably best for me.
I started searching for a good way to schedule VirtualDub to record from TV but none of the available options worked very well for me. VirtualDub VCR was nice but it couldn't change channels on the fly. Some of the other variants relied on sending keystrokes via vb scripts, but still the channel changing was too tricky to use effectively. If someone could code a plug-in for VirtualDub that would reliably allow for scheduled tv recordings via a web based program grid (like TitanTV) we would have the next killer app on our hands! I may actually attempt this project but my C++ skills are not very strong (I'm a VB guy).
So, I decided to go back and see what I could do with MMC and the absolute highest quality MPEG-1 capture I could achieve. I boosted the MPEG-1 settings to 15 Mb/s, I-Frame Only, 640x480, and Motion Esimation at 100. This produced a file that was definately no larger than the MJPEG caps and I was surprised at how well the quality was. It was a heckuva lot better than my old MPEG-1 capture results! I ran this file through virtual dub, edited out the commercials, saved the wav and crunched it with BeSweet, resized to 488x366, applied a temporal smoother set to 3, compressed with Divx 1-pass at 5.9 quant, Muxed the mp3 and avi together with Nandub, and I'll have to say I'm very pleased with the result! Filesizes are half what they were before and the quality is VERY comfortable at full screen. There is no comparison between these files and the ones I spoke of in my first post in this thread! In fact, there is not a whole lot of difference in the quality of the MPEG-1->Divx and the MJPEG->Divx when you compair the final results of the two! Keep in mind that both types are about equal in filesize...obviously if I didn't mind a slightly bigger file the MJPEG method lets me render a better quality file whereas the MPEG-1 method doesn't allow me that luxary.
Bottom line: For people that can't break away from ATI's MMC recording softare because of it's handy program guide and scheduling, capturing at the highest quality MPEG-1 is your best bet...if you want the best quality at the smallest file sizes, and the least amount of processing time.
We can only hope that ATI will eventually release a version of MMC that can effectivly capture using other codecs without sync problems.
Thanks again for the advice cjv and Leuf.
cjv
11th December 2002, 19:55
Hi,
I'm curious...your settings sound MUCH better than before, but I notice you said your capturing in MPEG-1. Is there a reason for this? With your machine you should be able to use MPEG-2 no problem (MMC 7.7 even has hardware assist for MPEG-2). With MPEG-2, you can safely unselect the deinterlace box, and also the visual masking, so your captures are a full interlaced 29.970 fps.
Since you're re-encoding anyways, you can use either deinterlace or IVTC in VDub/Avisynth, which will give much better results imho then ATI's built in deinterlacer. I have done what you're doing in the past with MMC, and yes, the quality is very close to that of MJPEG. By adding the temporal filtering, you will hardly notice any compression artifacts, and you still get to use the built-in TV scheduler.
Anyways, it's just a suggestion..if you've found something that works well for you, then that's great, and all that matters!
cjv
phin
11th December 2002, 20:16
cjv,
The only reason I picked MPEG-1 was to simplify the editing process and avoid having to frameserve from DVD2AVI. If you think I can get better quality with MPEG-2 and still have respectable file sizes then I'll give it a shot. I never thought about turning off ATI's deinterlace and visual masking...good suggestion. I guess I should boost the MPEG-2 settings (bit rate and resolution) to the max eh?
Would you suggest using VirtualDub's built in de-interlace and temporal smoother filters as oppose to other filters?
Again, your advice is greatly appreciated. I'm looking forward to testing this!
cjv
11th December 2002, 20:52
I would use (and have used) 15mbps 720x480 MPEG-2, 48000Hz audio, I-frame only, ME 100% (use it, but it's almost useless with I-frame only), no deinterlace EVER, no 3:2 (it gets really confused), no visual masking.
If you're worried about editing, I think that VirtualDubMod can open MPEG-2 natively, just like VDub can with MPEG-1. However, I would personally always use DVD2AVI and then Avisynth. I would suggest if you don't already know Avisynth, to spend a day and learn the basics...you will have no trouble with your VB experience. And then you will be able to use the latest and greatest in video processing filters.
I can't really advise on any VDub filters, but if you go the Avisynth way, then there are some really, really great deinterlacers. TomsMoComp() and FieldDeinterlace() for pure video sources, and the Decomb package for IVTC.
If you capture from a non-digital source, I really suggest you try out PeachSmoother() before your temporal smoothing, and BlindPP() if you capture from digital cable or satellite. Replace your temporal smoothing with TemporalSoften()..or better yet try Convolution3d(), or FluxSmooth(). Sharpen it up with Unfilter() or MSharpen() if necessary. These are some REALLY professional-level filters.
The only real disadvantage I can see of using MMC and high-bitrate MPEG-1/2, as opposed to MJPEG and a capture app, (and this may not bother you in the least) is that ATI will automatically compress the incoming audio to 224kpbs MPEG-1 Layer 2. Unfortunately, their realtime encoder is not the greatest, and you cannot mux mp2 directly with a DivX. This means transcoding PCM->MP2->WAV->your desired format...which is sure to kill at least some of the highs.
Hope some of this helps,
cjv
catback
17th December 2002, 18:34
Originally posted by Leuf
I can get down to 220-250 mb per 42 minute running time 1 hr show, at 640x480. It's pushing it a little though, but you can get 3 eps on a cd that way.
-Leuf [/B]
Leuf,
Care to explain what video and audio bitrates you use? At your rate of 250 mb/42 minute, you can get almost 2 hours on a 700 MB cd.
I also capture and encode to divx at 640x480 resolution. However, I must keep the video bitrate in the 1500 range otherwise there will be noticeable macroblocks in the picture. At this video bitrate, I get only about 1 hour per 700 MB cd.
Leuf
19th December 2002, 18:17
Originally posted by catback
Leuf,
Care to explain what video and audio bitrates you use? At your rate of 250 mb/42 minute, you can get almost 2 hours on a 700 MB cd.
I also capture and encode to divx at 640x480 resolution. However, I must keep the video bitrate in the 1500 range otherwise there will be noticeable macroblocks in the picture. At this video bitrate, I get only about 1 hour per 700 MB cd.
Like I said, it's constant quality encoding, so there is no bitrate specified for the video, the audio is done at 128 kbit. So what filesize you get is going to depend on the source - especially how sharp it is. If I do ivtc with decomb, convolution3d, and a version of smart smoother I modified to only work on dark areas only on my slightly blurry aiw source, quant 5 gives me about a 220 mb size. If I add a sharpen by 20 quant 5 gives more like 300 mb, I have to raise the quant to around 5.6 to get down to 250. So it's really going to vary by your source.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.