Forum Requesting help with aspect ratios for processing and output
 Ask Question Join / Register FAQ Search Today's Posts Mark Forums Read

#1
03-29-2019, 02:52 AM
 ehbowen Free Member Join Date: Feb 2018 Location: Houston, Texas Posts: 339 Thanked 64 Times in 57 Posts
I apologize for going over old ground again. I have finally got it through my head that you want to capture legacy video in 720x480. My question, now, is the proper aspect ratio when doing the intermediate stages of processing the captured video with an eye to preparing it for streaming/direct viewing as an mp4 and/or eventually burning it to DVD or Blu-Ray.

My current project is a compilation of construction walk-through videos which were made when my current day job workplace was being built fifteen years ago. They've been sitting on the shelf unused; we currently don't even have a VHS player. There's actually about twenty different training tapes from various items of equipment; I volunteered to do one tape as a demonstration with an eye to being paid on the remaining ones if this one comes out satisfactory.

The videos were, apparently, originally shot with a Hi8 camcorder (Hi8 logo appears occasionally). However, they were all transferred to a single VHS tape in EP mode. It's possible that the original Hi8 tapes are still in the back of a file cabinet somewhere, but for right now all I have is the VHS. I captured it the other night in one pass using my Mitsubishi HS-HD2000U >S-Video> TBC-4000 >S-Video> ATI AIW X1800 workflow. I still have the VHS tape in hand if one of our experts would recommend a second capture attempt.

I'm still not certain of the eventual destination. I know I want to render it to MP4 (and I have) for viewing directly on a computer, but I may be asked to burn it to DVD and/or Blu-ray for storage (you can fit a lot of SD video on a single Blu-ray; there's almost 4 hours of material on just this one VHS tape). My aspect ratio question regards how to handle it during the intermediate steps when your planned final aspect ratio is 4:3.

So I've done a pair of tests. The first is a clip of the emergency generator walk-through; the second is the smoke control system. For both clips I cropped the garbage from the bottom and a little from the side, then ran it through Neat Video for noise reduction and finally resized the output. For the generator clip I resized it to 640x480; for the smoke control clip I letterboxed it to 720x480. Editing and rendering to mp4 was done in Corel VideoStudio 2018; the actual mp4 clips shown here were extracted from the VideoStudio output by Avidemux. The "GenClipCapt" and "SmokeClipCapt" are direct stream copies of the raw .avi capture; "GenClipProc" and "SmokeClipProc" are direct stream copies of the processed output before editing and rendering to mp4.

Truthfully my audience for this tape is not especially picky, but I'm wanting to learn how to do this right. So help is welcomed. Thanks.

Attached Files
Someday, 12:01 PM
 Ads / Sponsors Join Date: ∞ Posts: 42 Thanks: ∞ Thanked 42 Times in 42 Posts
#2
03-29-2019, 11:06 PM
 sanlyn Premium Member Join Date: Aug 2009 Location: N. Carolina and NY, USA Posts: 3,648 Thanked 1,274 Times in 978 Posts
Quote:
 Originally Posted by ehbowen The videos were, apparently, originally shot with a Hi8 camcorder (Hi8 logo appears occasionally). However, they were all transferred to a single VHS tape in EP mode.
Ouch! That smarts!

Quote:
 Originally Posted by ehbowen I'm still not certain of the eventual destination. I know I want to render it to MP4 (and I have) for viewing directly on a computer, but I may be asked to burn it to DVD and/or Blu-ray for storage (you can fit a lot of SD video on a single Blu-ray; there's almost 4 hours of material on just this one VHS tape). My aspect ratio question regards how to handle it during the intermediate steps when your planned final aspect ratio is 4:3.
You seem to be on the right track so far. I'm posting a script and some samples of what i think is an easy way to get into multiple final encodes.

However, you should avoid the following:

For both clips I cropped the garbage from the bottom and a little from the side, then ran it through Neat Video for noise reduction and finally resized the output. [/QUOTE]I don't see any necessity to crop off from the sides, but it's up to you, But resizing to fill the frame vertically -- that's an ouch! . From the results I can see that the aspect ratio is stretched vertically. You ought to crop off the bottom noise but leave the replacement pixels, because the part that you resize to flll the borders will be covered by TV overscan (yes, modern HDTV does have overscan and on most sets it can't be disabled). Besides, Hi8 and many other consumer video cameras don't really shoot a 4:3 image, it's less like 1.3333:1 and more like academy movie 1.378:1, which is just slightly wider. That means that a slight letterbox is common for such videos and I see it on Turner Classic movies all the time. In the Avisynth script, I used cropping that keeps all of the core image intact.

Another major problem you have is that no attempt was made to control the signal level during capture. the result is some very bad bright clipping and easily visible loss of detail in highlights. There is also some detail loss and murky, grimy shadows because of crushed blacks. The red arrows in the image below show the clipping areas:

If you submitted that video for local broadcast or a CCTV network, it would be refused because of those bad levels. I was able to retrieve just a little of the clipped brights and keep the darks from looking so grimy by adjusting levels in YUV in the Avisynth script;

I added some color tweaking in RGB later in VirtualDub, along with a slight touch of NeatVideo. I hesitated to use NV because I had no reliable sample frame from your clips, but the result was still too noisy with all the generational mistracking damage.

I made a plain vanilla interlaced version of the generator clip. I was not satisfied with the way the multi-generation tape totally screwed up the interlacing. I don't think it's possible to clean up the bad edge buzzing and aliasing by keeping the video interlaced -- and the video is further damaged by all the mistracking in the area of the generator itself. The interlaced version I came up with is attached as GenClipCapt_Bad_Interlace.mp4.

The samples I'm attaching are physically progressive @29.97fps. The script produces a progressive video by dropping the even-numbered framer (I thought the odd-numberd frames looked cleaner). The clip comes mfrom the script at 720x480. Although it's physically progressive, it's encoded with interlace flags for DVD and for BluRay, which are normally interlaced or encoded as such. For standard definition BluRay it's required. So I'm attaching and MPEG DVD version as GenClipCapt_DVD.mpg. I'm also attaching a BluRay version encoded with h.264 but in an mp4 container (we can't post m2ts files). The BD menu version is attached as GenClipCapt_BluRay.mp4 and is BDMV compatible except for the mp4 container and the AAC audio track, which will have to be Dolby AC3 for BluRay. The target h.264 bitrate for the BDMV version was 7000 vbr, which is about the limit for any improvement in Standard Def Bluray, higher bitrates would be a waste. That bitrate would probably allow 4 hours of video on one side of a BD disc. 7000vbr in jh.264 would be the equivalent of about 10000 to 12000 vbr in MPEG, but you can't use bitrates that high for DVD.

The other attachment is GenClipCapt_4x3p.mp4, which is the results of the 720x480 script resized to square-pixel 640x480 and encoded as h.264 progressive for computer play or web posting.

Here is my script for the 720x480 version (you don't have to use this same script., it's very sloooow):

Code:
Import("D:\Avisynth 2.5\plugins\ContrastMask.avs")
Import("D:\Avisynth 2.5\plugins\RemoveDirtMC.avs")
Import("D:\Avisynth 2.5\plugins\Santiag_v16.avs")
Import("D:\Avisynth 2.5\plugins\MDG2.avs")

AviSource("D:\forum\faq\ehbowen\D\GenClipCapt.avi")
ColorYUV(cont_y=-25)
Levels(14,0.95,255,16,245,dither=true,coring=false)
Tweak(sat=1.1,cont=1.10,dither=true,coring=false)
AssumeTFF()

### ---   Note: input is already required YUY2 for filters below.  --- ###
### --- These filters and routines address edge halos and aliasing --- ###
SeparateFields()
w = width
h = height
nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=w*2, fheight=h*2) # restore width
FixVHSOversharp(20,16,12)
FixVHSOversharp(20,8,4)
FixVHSOversharpL(20,12,8)
Spline36Resize(w,h) ### --- restore original dimensions
Santiag(2,2)
AssumeFieldBased()
Weave()

ConvertToYV12(interlaced=true,ChromaOutPlacement="MPEG2",matrix="Rec601")
SeparateFields()
DeHalo_Alpha(rx=2.1,ry=2.1)
MDG2()
RemoveDirtMC(30,false)
Weave()
QTGMC(preset="Medium",ChromaNoise=true,DenoiseMC=true,border=true,Rep0=1).SelectOdd()
AWarpSharp2()
return last
In order to get the 640x480 version, I opened that saved 720x480 progressive file and used the code below to resize. The 640x480 is encoded as progressive.

Code:
###--- change the path statement to match your system ---###
AviSource("Drive:\path\to\720x480po_videp.avi")
ConvertToYUY2(matrix="rec601",interlaced=false,ChromaInPlacement="MPEG2")
Spline36resize(640,480)
ConvertToYV12(matrix="rec601",interlaced=false,ChromaOutPlacement="MPEG2")

Attached Images
Attached Files
#3
03-30-2019, 01:54 AM
 ehbowen Free Member Join Date: Feb 2018 Location: Houston, Texas Posts: 339 Thanked 64 Times in 57 Posts
Thank you, sir! I will have to take a very close look at this on my next day off!

 Tags aspect ratio, resizing

 Similar Threads Thread Thread Starter Forum Replies Last Post Kereellis Edit Video, Audio 5 10-26-2019 01:26 PM ehbowen Restore, Filter, Improve Quality 0 01-15-2019 02:34 PM AwaySailing Encode, Convert for discs 0 10-14-2018 08:44 AM WuxiIxuw Encode, Convert for discs 10 05-10-2012 02:53 PM