![]() |
|
|||||||
| HV20/HV30 24p workflow Information specifically about 24p workflow |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Legend
Join Date: Jun 2007
Location: Albuquerque, NM
Posts: 1,121
![]() ![]() ![]() ![]() |
I'm starting a new thread for AVISynth and vDub Templates and code snippets. These templates are used in the "Farnsworth" 3:2 pulldown system and can also be used with SSzudziks excellent "HV20Pulldown.exe" tool. (They can also of course be used stand-alone in many cases as well)
I politely request everyone to keep the chatter down and try to save the thread for posting functional code only. I'll start with a few of my personal favorites: My basic IVTC script, adapted from the stock script that comes with HV20pulldown.exe My version fixes a subtle bug in the original (interlaced 4:2:0 treated as a progressive frame before IVTC) This script promotes the 4:2:0 to 4:2:2 on decode to solve the problem. All of my scripts have this fix, since the 4:2:0 vs "interlace in a progressive frame" is a well documented bug that can seriously screw up many filters in AVISynth. It's safest to just promote the video to 4:2:2 right at the decoder to avoid the problem. (Slight hit in speed but it is VERY slight. Well worth the extra safety.) It also does a bit of chroma post processing to smooth the chroma. Code:
### Lordtangents HV20 Uber Inverse Telecine Template
### v0.1 June 16 2007
###
### Requires: DGDecode.dll, TIVTC.dll
### http://neuron2.net/dgmpgdec/dgmpgdec.html
### http://web.missouri.edu/~kes25c/
##### MAIN -- Do not edit unless you really know what you are doing!
v=MPEG2Source("__vid__", upConv=1, idct=3, iCC=true, iPP=true, cpu2="ooxxox")
a=MPASource("__aud__")
audiodub(v,a)
tfm(d2v="__vid__")
tdecimate()
Here is what I call my "UberScript" It slices! It DICES! It's got everything but the kitchen sink! ... But seriously, what it CAN do is: Noise Reduction, Image Scaling (to several handy preset sizes) and full range YCbCr to RGB conversion. You can disable the YCbCr to RGB conversion, but for best result with the scaling it's better to leave it in. You need a couple of extra plug-ins for the noise reduction. They are named at the op of the script. It's disabled by default so if you don't use the noise reduction you don't need the plug-ins. In case it isn't painfully obvious enough, the options of the script are configured in the section under the block labled "### Configuration section" Code:
### Lordtangents HV20 Uber Inverse Telecine Template + Full_Range_YCbCr2RGB
### v0.3 October 10 2007
###
### Requires: DGDecode.dll, TIVTC.dll
### Optional: TTempSmooth.dll and/or TNLMeans.dll for noise reduction
### http://neuron2.net/dgmpgdec/dgmpgdec.html
### http://web.missouri.edu/~kes25c/
### Configuration section
# Scale final output? ( 1 for true 0 for false )
Resize = 0
# # Uncomment your desired final resolution
# pixel aspect 1, 16:9 sizes ...
#==================================================
#final_xres = 1920 final_yres = 1080 # "1080p"
final_xres = 1280 final_yres = 720 # "720p"
#final_xres = 1024 final_yres = 576 # "1k"
#final_xres = 960 final_yres = 540 # "half res"
#final_xres = 864 final_yres = 486 # "486 high"
#final_xres = 720 final_yres = 406 # "720 wide"
#final_xres = 640 final_yres = 360 # "medium"
#final_xres = 320 final_yres = 180 # "Small"
#final_xres = 160 final_yres = 90 # Micro
# Set optional Noise/Grain Reduction level (requires TTempSmooth.dll & TNLMeans.dll )
# int 0-4 "0" means no noise reduction. Runs BEFORE resize for maximum effect.
# 1 is fast temporal smoothing only. Not too blury. Pretty fast.
# 2 is temporal smoothing plus some light 3D (spacial&temporal) means based smoothing. Still not to blury. Not too slow.
# 3 is heavier temporal smoothing plus heavier 3D means based smoothing. Softer. More grain killing power. Slow.
# 4 is even heavier temporal smoothing plus even heavier 3D means based smoothing. Soft. Huge grain killing power. Really Slow.
# 11-13 are special neat visualize modes
ReduceNoise = 0
##### MAIN -- Do not edit unless you really know what you are doing!
v=MPEG2Source("__vid__", upConv=1, idct=3, iCC=true, iPP=true, cpu2="ooxxox")
a=MPASource("__aud__")
audiodub(v,a)
tfm(d2v="__vid__")
tdecimate()
# Apply Noise reductioin...or not. Poormans switch function
(ReduceNoise==0) ? nop() : nop()
(ReduceNoise==1) ? TTempSmoothF(maxr=4, vis_blur=0) : nop()
(ReduceNoise==2) ? TTempSmoothF(maxr=4, vis_blur=0).TNLMeans(Ax=1, Ay=1, Az=1, sse=true) : nop()
(ReduceNoise==3) ? TTempSmoothF(maxr=5, vis_blur=0).TNLMeans(Ax=2, Ay=2, Az=2, sse=true) : nop()
(ReduceNoise==4) ? TTempSmoothF(maxr=6, vis_blur=0).TNLMeans(Ax=2, Ay=2, Az=3, sse=true) : nop()
(ReduceNoise==11) ? TTempSmoothF(maxr=4, vis_blur=1).invert() : nop()
(ReduceNoise==12) ? TTempSmoothF(maxr=4, vis_blur=2).invert() : nop()
(ReduceNoise==13) ? TTempSmoothF(maxr=4, vis_blur=3).invert() : nop()
clip=AssumeFPS(24000,1001)
# Full scale YCbCr --> RGB conversion before resize
ConvertToRGB(clip, matrix="PC.709")
# Resize ... or not ... not really anyway
(Resize==1) ? LanczosResize(final_xres,final_yres) : PointResize(Width(),Height())
Code:
### Lordtangents HV20 New Slow-Mo Template
### v0.1 October 1 2007
###
### Requires: yadif.dll
LoadCplugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
v=MPEG2Source("__vid__", upConv=1, idct=3, iCC=true, iPP=true, cpu2="ooxxox")
a=MPASource("__aud__")
VID=audiodub(v,a)
# Delace to 60p with yadif
Yadif(VID, mode=1 )
# Delace to 30p with yadif
# Yadif(VID, mode=0 )
# Now make frame rate 23.976
AssumeFPS(24000,1001)
I developed a set of scripts for "fake under-crank effect" specifically for use with the HV20s "long shutter speeds" of 1/6th and 1/12th sec. (In 24p mode) One of the cool things about the long shutter is since it's open so long even with frames basically deleted (what this script does) the motion blur looks natural for the supposed frame rate. It's as if the shots were actually done as "time laps" (or rather, "under-cranked", since we are still talking about frames-per-second and not seconds per frame... ) Code:
### Lordtangents HV20 "1/6th undercrank" Template
### v0.3 October 22 2007
###
### Requires: DGDecode.dll, TIVTC.dll, FDecimate.dll
### http://neuron2.net/dgmpgdec/dgmpgdec.html
### http://neuron2.net/fdecimate/fdecimate.html
### http://web.missouri.edu/~kes25c/
##### MAIN -- Do not edit unless you really know what you are doing!
v=MPEG2Source("__vid__", upConv=1, idct=3, iCC=true, iPP=true, cpu2="ooxxox")
a=MPASource("__aud__")
audiodub(v,a)
# For "6fps from 1/6th sec shutter" Like 360deg shutter at 6fps
FDecimate(rate=5.994)
# For "3fps from 1/6th sec shutter" Like 180deg shutter at 3fps
# FDecimate(rate=2.997)
AssumeFPS(24000,1001)
Code:
### Lordtangents HV20 "1/12th undercrank" Template
### v0.3 October 22 2007
###
### Requires: DGDecode.dll, TIVTC.dll, FDecimate.dll
### http://neuron2.net/dgmpgdec/dgmpgdec.html
### http://neuron2.net/fdecimate/fdecimate.html
### http://web.missouri.edu/~kes25c/
##### MAIN -- Do not edit unless you really know what you are doing!
v=MPEG2Source("__vid__", upConv=1, idct=3, iCC=true, iPP=true, cpu2="ooxxox")
a=MPASource("__aud__")
audiodub(v,a)
# For "12fps from 1/12th sec shutter" Like 360deg shutter at 12 fps
FDecimate(rate=11.988)
# For "6fps from 1/12th sec shutter" Like 180deg shutter at 6fps
# FDecimate(rate=5.994)
AssumeFPS(24000,1001)
You can force "full range" YCbCr to RGB conversion by putting this at the end of any of your scripts. Code:
# Full scale YCbCr --> RGB conversion before resize ConvertToRGB(clip, matrix="PC.709") |
|
|
|
|
|
#2 |
|
Legend
Join Date: Jun 2007
Location: Albuquerque, NM
Posts: 1,121
![]() ![]() ![]() ![]() |
This snippet fixes a bug in the default VDMCompressors.xml of HV20Pulldown.exe that forces conversion to RGB (Using the codec) The problem with this is, you get larger Lagarith files (RGB) but they are still not full-range. If you are going to work with the 4:2:0 data, it's better to just stay in 4:2:0 (aka YV12) and save the disk space. It also makes compression much faster. replace your Lagarith preset in your VDMCompressors.xml with this and you will get "Fast Recompress" rather than "Full Processing Mode" in vDub. (Full Processing Mode forces conversion to RGB since that's all vDub can handle internally) With "Fast Recompress" it will just recompress anything AVISynth hands to it. i.e., if you pass it 4:2:0, it will compress to 4:2:0. If you pass it 4:4:4 RGB, it will compress to RGB.
Code:
<Compressor>
<Name>Lagarith Lossless</Name>
<Script>
VirtualDub.RemoveInputStreams();
VirtualDub.stream[0].SetSource(0x73647561,0);
VirtualDub.stream[0].DeleteComments(1);
VirtualDub.stream[0].AdjustChapters(1);
VirtualDub.stream[0].SetMode(0);
VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
VirtualDub.stream[0].SetClipMode(1,1);
VirtualDub.stream[0].SetConversion(0,0,0,0,0);
VirtualDub.stream[0].SetVolume();
VirtualDub.stream[0].SetCompression();
VirtualDub.stream[0].EnableFilterGraph(0);
VirtualDub.stream[0].filters.Clear();
VirtualDub.video.DeleteComments(1);
VirtualDub.video.AdjustChapters(1);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(1);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetCompression(0x7367616c,0,10000,0);
VirtualDub.video.filters.Clear();
</Script>
</Compressor>
|
|
|
|
|
|
#3 |
|
Valued Member
Join Date: Apr 2007
Posts: 64
![]() |
Lordtangent, you are the AVISynth MASTER. I bow at your feet.
![]() |
|
|
|
|
|
#4 |
|
Senior Member
Join Date: Apr 2007
Location: Sammamish, WA
Posts: 130
![]() |
Here is a "compressor" for the HV20Pulldown that uses the Morgan MJPEG2000 that's been talked about in the other thread. I haven't been able to verify it it yet since the demo trial period is elapsed. But I was at least able to obtain this for anyone who wants to give it a try.
VirtualDub.RemoveInputStreams(); VirtualDub.stream[0].SetSource(0x73647561,0); VirtualDub.stream[0].DeleteComments(1); VirtualDub.stream[0].AdjustChapters(1); VirtualDub.stream[0].SetMode(0); VirtualDub.stream[0].SetInterleave(1,500,1,0,0); VirtualDub.stream[0].SetClipMode(1,1); VirtualDub.stream[0].SetConversion(0,0,0,0,0); VirtualDub.stream[0].SetVolume(); VirtualDub.stream[0].SetCompression(); VirtualDub.stream[0].EnableFilterGraph(0); VirtualDub.stream[0].filters.Clear(); VirtualDub.video.DeleteComments(1); VirtualDub.video.AdjustChapters(1); VirtualDub.video.SetDepth(24,24); VirtualDub.video.SetMode(3); VirtualDub.video.SetFrameRate(0,1); VirtualDub.video.SetIVTC(0,0,-1,0); VirtualDub.video.SetRange(0,0); VirtualDub.video.SetCompression(0x63326a6d,0,10000 ,0); VirtualDub.video.SetCompData(96,"TUoyQ1wAAAAAAAEAE AAAAAgAAAABAAAAAQAAAAYAAAAGAPMAAAAAAAAANAACAAAAAAA AAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA"); VirtualDub.video.filters.Clear(); Steve |
|
|
|
|
|
#5 |
|
Legend
Join Date: Jun 2007
Location: Albuquerque, NM
Posts: 1,121
![]() ![]() ![]() ![]() |
n this quick how-to we will learn how to make vDub templates that will allow us to customize compression settings and do all manor of post processing in vDub as we save our video out from the "HV20Pulldown.exe kit" in this example we will focus on MJPEG2000, since it has been a recent topic of conversation. But this approach works with any codec and combination of vDub filters.
1. In vDub Open up an avi or .avs file to get some video to work on. ( File > Open video file... ) 2. Now go to Video > Compression... to set the compression ![]() 3. In the Select video compression dialog box, select your desired compressor. (In this example we are using Morgan Multimedia M-JPEG2000). Once the desired codec is selected, you may click on the "Configure" box to set up the codec specific configuration details. ![]() 4. When you are done configuring everything click "OK" in the Configure dialog and "OK" on the Select video compression dialog box 5. Now we will save out the overall configuration of vDub using File > Save processing settings... ![]() 6. The Save Configuration dialog will pop up be sure to select "Sylia script for VirtualDub" as your Save as type. Give your setting a name and save them to disk. ![]() 7. Now you need to create a new entry in your HV20Pulldown.exe Virtual Dub Job Script Menu. It's easy. Run HV20Pulldown.exe and click the manage button in the Virtual Dub Job Script box. The VirtualDub Script Editor will pop up. ![]() 8. Open the Sylia script you just saved to disk in Notepad, Select All and Copy the Sylia Script code. ![]() 9. Now select all the code in the HV20Pulldown.exe VirtualDub Script Editor window and paste in the code you just copied. (Don't worry about the preset that was there. We are making new preset and will be saving it out under a new name) ![]() 10. Give your new preset a unique and descriptive name, so you don't forget what it does later. ![]() 11. Click the disk icon to save the new preset with the new name. ![]() You are done making your first output template. But let's not stop there! Since the Sylia Script can control ANYTHING that can be configured in vDub, we have full access to all of vDubs functionality though HV20Pulldown.exe and its Sylia Script template! You can use vDubs basic built-in filters, or even plug-in filters. (There are all kinds of great plug-ins like White Balance, smart de-noisers, smart sharpen, image stabilize, etc. And you though good software always cost a bundle of money?) List of many available filters: http://neuron2.net As an example, let's add a simple resize filter: 1. First we need to make sure "Full processing" is enabled. Select Video > Full processing mode 2. Now we can add the filter. Select Video > Filters... Which will bring up the Filters dialog. An unlimited number of filters can be added to the list. They are processed top to bottom. ![]() 3. Click the Add... button 4. Select Resize ![]() 5. There are many choices of filter kernel for the resize filter. For shrinking images, Lanczos3 is a good choice. Set the resolution you would like to resize to as well. You can preview your results with the preview button or hit OK when you are done. ![]() You can now add more filters if you like or follow the instructions in section one of this tutorial to save out a Sylia Script that can be copied into the HV20Pulldown.exe vDub templates. |
|
|
|
|
|
#6 |
|
Legend
Join Date: Jun 2007
Location: Albuquerque, NM
Posts: 1,121
![]() ![]() ![]() ![]() |
I tested my vDub MJPEG2000 templates enough to feel content they'll work for others.
The great thing about these ouput templates is that if need be, you can process full res and proxie res files from the same batch list in HV20Pulldown.exe. You only need select a new output template and "Working Directory" (so you don't clobber the last set of output media you made) I'm simply attaching a ZIP file with all the templates I created for my testing. I did it mostly with find and replace, so it didn't take me long. Hopefully this will save anyone else whose interested some time. You can take the templates you want and add them to your template list. Let me explain the naming convention so you understand what each script does. First thing to know is that unless otherwise noted, these templates are all using 4:4:4 RGB with 6 "Layers" 10 "Levels" Constant Quality and "Force Quality" enabled. They are specifically meant to be used in conjunction with my "full range" YCbCr to RGB pipeline. (They can be used with YCbCr material, but it will get converted to RGB when it is encoded anyway and you wont necessarily get full range conversion unless you use the correct corresponding AVISynth template) Beyond that, the name of each file documents additional variations of how that template is set up. example: 5-1_MJPEG2000.syl -- means "5:1" lossy R2_lossless_MJPEG2000.syl means 1/2 resolution (scaled down in vDub) with Lossless enabled (mathematically lossless) The "R" concept is something I picked up from work. R2 is 1/2 res. R3 is 1/3rd (not half again, but rather 1/3rd), and so on. Those templates are meant to be used if you want to make proxies with the same pixel aspect as the original. I've included settings with very high compression levels as well (up to 40:1) that could be useful for proxies. (No need to make the proxies any larger than required to get a good idea of whats going on!) 720p_8-1_MJPEG2000.syl, as it's name implies, is 1280x720 (resized in vDub) at 8:1 compression. The 720p settings might be useful if you just want to work in 720p full raster 16:9. After doing my tests I've decided that 8:1 is the best compromise of quality vs. Size. In fact, there is no visible loss in this mode. Moving from there, with HV20 HDV acquired media at least, Lossless is also a good choice is you want PERFECT quality. It's not particularly large (no larger than Lagarith), but you still get the Waveletty goodness. Here are the Sylia Script files all in one ZIP MJPEG2000_444_VDub_settings.zip Contents: lossless_MJPEG2000.syl 5-1_MJPEG2000.syl 8-1_MJPEG2000.syl 12-1_MJPEG2000.syl 20-1_MJPEG2000.syl 40-1_MJPEG2000.syl R2_lossless_MJPEG2000.syl R2_12-1_MJPEG2000.syl R2_20-1_MJPEG2000.syl R2_40-1_MJPEG2000.syl R2_5-1_MJPEG2000.syl R2_8-1_MJPEG2000.syl R3_lossless_MJPEG2000.syl R3_5-1_MJPEG2000.syl R3_8-1_MJPEG2000.syl R3_12-1_MJPEG2000.syl R3_20-1_MJPEG2000.syl R3_40-1_MJPEG2000.syl 720p_lossless_MJPEG2000.syl 720p_5-1_MJPEG2000.syl 720p_8-1_MJPEG2000.syl 720p_12-1_MJPEG2000.syl 720p_20-1_MJPEG2000.syl 720p_40-1_MJPEG2000.syl Last edited by lordtangent; 2007 November 3rd at 03:35.. |
|
|
|
|
|
#7 |
|
Valued Member
Join Date: Oct 2007
Posts: 42
![]() |
Hello! First I'd like to congrolate you for the massive work you've been doing! I'm learning so much and so fast!
However I have a issue now. I work in PAL and I was trying to use your UberScript. The thing I did was replace the assumeFPS line by this: clip=AssumeFPS(25, 1, true) But I get an error when opening the d2v file..it says that the d2v file is not a d2v file...I use HDVSplit for getting the footage..am I doing anything wrong? |
|
|
|
|
|
#8 |
|
Valued Member
Join Date: Oct 2007
Posts: 42
![]() |
Problem solved, I was using wrong version of TIVTC.dll
Could you just explain the changes we (PAL People) should do to your scripts in order to get good results? |
|
|
|
|
|
#9 | |
|
Legend
Join Date: Jun 2007
Location: Albuquerque, NM
Posts: 1,121
![]() ![]() ![]() ![]() |
Quote:
If you DO need to transcode your media for what ever reason, just leave all the IVTC stuff out. You don't need it. What you need to do is make your "25p in 50i" into true progressive frames. AVISynth has a command called AssumeFrameBased() that you can throw in a script to force the frames into progressive mode. It probably would not be a bad idea to convert the clip to 4:2:2 first also. (There are some sublte complications when working on interlaced 4:2:0 footage you need to be careful about. My Uber Script does 4:2:2 conversion by default on load) vDub works in progressive only. So having AVISynth do AssumeFrameBased() might not even be required. I haven't tested it so I don't know for sure. |
|
|
|
|
|
|
#10 |
|
Valued Member
Join Date: Oct 2007
Posts: 42
![]() |
I just want this to make proxy files in order to edit in low res.
Thank you alot for sharing your research ![]() |
|
|
|
|
|
#11 |
|
Junior Member
Join Date: Nov 2007
Posts: 3
![]() |
Hi, i'm begginer in the video edit world and it seems to be a very usefull tool for editing, i was wondering if someone could tell me where can i find a tutorial or something like that for learning how to use those scripts ,because, actually ,I dont have any idea about how to use them.
By the way, i've got my hv20 since a few days and i am very happy with it, its image quality is stunning. I have been trying many configurations to getting a nice low light performance but it seems to be dificult. is there any advice to get it work appropriately? Thank you Last edited by buster100; 2007 November 7th at 05:54.. |
|
|
|
|
|
#12 |
|
Legend
Join Date: Jun 2007
Location: Albuquerque, NM
Posts: 1,121
![]() ![]() ![]() ![]() |
The best places to learn how to use AVISynth are the AVISynth wiki page and the AVISynth forums on Doom9.org
http://avisynth.org http://www.doom9.org |
|
|
|
|
|
#13 |
|
Valued Member
Join Date: Oct 2007
Posts: 42
![]() |
just found this site: http://www.compression.ru/index_en.htm
Has pretty useful filters for both virtualdub and avisynth! |
|
|
|
|
|
#14 |
|
Junior Member
Join Date: Nov 2007
Posts: 3
![]() |
Thanks for your help, it'll be too helpfull for me.
Pd: Excuse my bad english. |
|
|
|
|
|
#15 |
|
Valued Member
Join Date: Jul 2007
Posts: 80
![]() |
Nice scripts. I have one to contribute. Since 1080/60i footage and 1920x540 footage at twice the framerate are essentially the same thing I have made a slo-mo workflow to convert this footage into slow-motion while using all of the vertical data and half of the horizontal data. This workflow separates the fields 540/30p at 50% speed, or even 540/24p at 40% speed or standard def (SD) versions as well. This saves disk space and overhead in general by providing only real data as opposed to doubling each field.
Note: These scripts are not meant to be used with 24p source footage. If you shot with your camera set to 24p, this method won't work well for you. Shoot in 60i for slo-mo. Here are my avs templates for slow-mo: http://www.hv20.info/yopu/slomo23976p.avs <-- takes 1080/60i to 960x540/23.976p 60% slower http://www.hv20.info/yopu/slomo2997p.avs <-- takes 1080/60i to 960x540/29.97p 50% slower http://www.hv20.info/yopu/slomoSD23976p.avs <-- takes 1080/60i to 720x480/23.976p 60% slower http://www.hv20.info/yopu/slomoSD2997p.avs <-- takes 1080/60i to 720x480/29.97p 50% slower Here is the significant code in those templates: separatefields BicubicResize(720,480) ### For 540p frame size ### BicubicResize(960,540) clip=AssumeFPS(24000,1001) ### framerate of 29.97 ### clip=AssumeFPS(30000,1001) ConvertToRGB24(clip, matrix="PC.709") And this code needs to be added to the VDMCompressors.xml file. The only change from the default template is that VirtualDub.video.SetMode(1); enables fast recompress. I have only provided the templare for Uncompressed RGB: <Compressor> <Name>Slow-mo Uncompressed RGB AVI</Name> <Script>VirtualDub.RemoveInputStreams(); VirtualDub.stream[0].SetSource(0x73647561,0); VirtualDub.stream[0].DeleteComments(1); VirtualDub.stream[0].AdjustChapters(1); VirtualDub.stream[0].SetMode(0); VirtualDub.stream[0].SetInterleave(1,500,1,0,0); VirtualDub.stream[0].SetClipMode(1,1); VirtualDub.stream[0].SetConversion(0,0,0,0,0); VirtualDub.stream[0].SetVolume(); VirtualDub.stream[0].SetCompression(); VirtualDub.stream[0].EnableFilterGraph(0); VirtualDub.stream[0].filters.Clear(); VirtualDub.video.DeleteComments(1); VirtualDub.video.AdjustChapters(1); VirtualDub.video.SetDepth(24,24); VirtualDub.video.SetMode(1); VirtualDub.video.SetFrameRate(0,1); VirtualDub.video.SetIVTC(0,0,-1,0); VirtualDub.video.SetCompression(); VirtualDub.video.filters.Clear();</Script> </Compressor> I point to the .avs script I want using the HV20Pulldown.exe program and it works like a charm. Also note that it won't really hurt to use the existing VDMCompressors.xml template though it will take longer (about 4x in my experience) as it does a full recompress of the footage as opposed to a fast recompress. Special thanks to the folks here at HV20, especially lordtangent. Thanks, Robert Last edited by RHKFilm; 2007 November 16th at 14:34.. |
|
|
|
|
|
#16 | |
|
Junior Member
Join Date: Jul 2007
Posts: 19
![]() |
Quote:
Heck, I'm just pleased as punch I have the workflow down for 1080-24p! (And can downrez to SD anamorphic DVD). FYI, my 2.4 GHz Core2Duo edits Lagarith YV12 files alright but I wonder if anyone (with too much cash) has tried this with a quad-core and if so how was it? Now I can worry about colorspaces...ringing...chroma artifacting.... |
|
|
|
|
|
|
#17 |
|
HV20 Addict
Join Date: Jul 2007
Posts: 573
![]() ![]() |
I want to thank lordtangent, SSzudzik, Eugenia, Farnsworth, and everyone else who contributed to developing and explaining these tools. I finally tried this and I love it.
Initially, my one concern as I tested it was the chroma thing; I wasn't quite getting the "smoothness" that DVFilm Maker provides. Then I read lordtangent's tute on adding filters. The chroma smoothing filter did the trick; in fact, I think I prefer it to DVFilm's look. Here are some screen shots of a test I did, in order of increasing chroma quality (to my eye): Original MPEG-2 file: http://hv20.info/yopu/Chroma_Test_MPG.bmp HV20Pulldown.exe without chroma smoother: http://hv20.info/yopu/Chroma_Test_HV20Pulldown.bmp DVFilm Maker's Output: http://hv20.info/yopu/Chroma_Test_DVFilm.bmp HV20Pulldown.exe with chroma smoothing: http://hv20.info/yopu/Chroma_Test_HV...n_Filtered.bmp Here's the script I used to transcode to MJPEG2K (the chroma smoother's at the end): VirtualDub.RemoveInputStreams(); VirtualDub.stream[0].SetSource(0x73647561,0); VirtualDub.stream[0].DeleteComments(1); VirtualDub.stream[0].AdjustChapters(1); VirtualDub.stream[0].SetMode(0); VirtualDub.stream[0].SetInterleave(1,500,1,0,0); VirtualDub.stream[0].SetClipMode(1,1); VirtualDub.stream[0].SetConversion(0,0,0,0,0); VirtualDub.stream[0].SetVolume(); VirtualDub.stream[0].SetCompression(); VirtualDub.stream[0].EnableFilterGraph(0); VirtualDub.stream[0].filters.Clear(); VirtualDub.video.DeleteComments(1); VirtualDub.video.AdjustChapters(1); VirtualDub.video.SetDepth(24,24); VirtualDub.video.SetMode(3); VirtualDub.video.SetFrameRate(0,1); VirtualDub.video.SetIVTC(0,0,-1,0); VirtualDub.video.SetCompression(0x63326a6d,0,10000 ,0); VirtualDub.video.SetCompData(96,"TUoyQ1wAAAAAAAEAE AAAAAgAAAABAAAAAQAAAAYAAAAKAOgDAAAAAAEANAACAAAAAAA AAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA"); VirtualDub.video.filters.Clear(); VirtualDub.video.filters.Add("chroma smoother"); VirtualDub.video.filters.instance[0].Config(2); P.S. One other thing I notice about using the chroma smoother is that it makes my files ~16% smaller; maybe it's kind of like noise reduction in that regard. Last edited by Frank; 2007 November 18th at 00:51.. |
|
|
|
|
|
#18 |
|
Valued Member
Join Date: Dec 2007
Location: Las Vegas, NV
Posts: 58
![]() |
This forum has made my life SO MUCH EASIER! I wanted the ability to shot 24p HDV but down convert to Widescreen DV for most non-visual effect editing in Premiere.
Since VirtualDubMod can't use "Microsoft DV" codec I found the free panasonic one http://www.free-codecs.com/download/...c_DV_Codec.htm works great and is what i used with these Setting in HV20Pulldown.exe. Delaney's HDV 23.976P to Widescreen DV Code:
VirtualDub.RemoveInputStreams();
VirtualDub.stream[0].SetSource(0x73647561,0);
VirtualDub.stream[0].DeleteComments(1);
VirtualDub.stream[0].AdjustChapters(1);
VirtualDub.stream[0].SetMode(0);
VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
VirtualDub.stream[0].SetClipMode(1,1);
VirtualDub.stream[0].SetConversion(0,0,0,0,0);
VirtualDub.stream[0].SetVolume();
VirtualDub.stream[0].SetCompression();
VirtualDub.stream[0].EnableFilterGraph(0);
VirtualDub.stream[0].filters.Clear();
VirtualDub.video.DeleteComments(1);
VirtualDub.video.AdjustChapters(1);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetCompression(0x64737664,0,10000,0);
VirtualDub.video.SetCompData(8,"ZHZzZAIAAAA=");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("chroma smoother");
VirtualDub.video.filters.instance[0].Config(2);
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[1].Config(720,480,0);
Hope this helps someone! |
|
|
|
|
|
#19 |
|
Junior Member
Join Date: Dec 2008
Posts: 3
![]() |
would you recommend upconversion to 4:2:2 even if there are no filters being applied and the output is just xvid?
|
|
|
|
|
|
#20 |
|
Junior Member
Join Date: Feb 2009
Location: New Jersey / New York Tri-State Area
Posts: 3
![]() |
"would you recommend upconversion to 4:2:2 even if there are no filters being applied and the output is just xvid?"
I would like to know the answer to this too. Cheers,
__________________
35mm & HD Video Production Services Company |
|
|
|
|
|
#21 |
|
Legend
Join Date: Jun 2007
Location: Albuquerque, NM
Posts: 1,121
![]() ![]() ![]() ![]() |
My template converts to 4:2:2 right at the decode from mpeg2. The reason for it is to help with the chroma problems interlaced 4:2:0 often suffers from. If you are doing inverse telecine, you ARE processing the video, even if you are not doing anything else. Converting to 4:2:2 helps with that processing.
|
|
|
|
|
|
#22 |
|
Junior Member
Join Date: Feb 2009
Location: New Jersey / New York Tri-State Area
Posts: 3
![]() |
Thanks. That's what I thought too.
Cheers, G
__________________
35mm & HD Video Production Services Company |
|
|
|
|
|
#23 |
|
Valued Member
Join Date: Sep 2007
Posts: 31
![]() |
just a question, is there a way to output to a jpeg file sequence? using the "HV20Pulldown.exe" tool? (would this be the right place to ask? maybe it could be included in the a script or in the "HV20Pulldown.exe" tool somehow?)
|
|
|
|
|
|
#24 |
|
Senior Member
Join Date: Jan 2009
Location: Oregon
Posts: 418
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
There is an avisynth function called ImageWriter that you could add to the avs script you use in HV20Pulldown. Check out the avisynth documentation for syntax.
|
|
|
|
|
|
#25 |
|
Junior Member
Join Date: Jul 2007
Posts: 16
![]() |
These codes are great, guys. This forum has been an invaluable source for my camera which I knew so little before. After reading around and getting my own 24p workflow together, I thought I might post some of my own compressor settings for Szudzik's convenient little program. The first is for my proxy files, they are Xvid files which are hacked to work with a Vegas 6.0 Timeline (the FourCC is changed to Divx). It took me a while to find a format that plays realtime and has small file sizes for HD proxies in Vegas, but I finally got this one to work. Obviously, you will need the codec Xvid for this to work. These can be added by going to "manage" next to compressor, and then copy and pasting the code into the text window. You then name the compressor ("720p Xvid proxy files for Vegas" or something of the like), and hit save. You can now use it whenever you want by selecting it in the compressor menu.
Here is the 720p version: Code:
VirtualDub.RemoveInputStreams();
VirtualDub.stream[0].SetSource(0x73647561,0);
VirtualDub.stream[0].DeleteComments(1);
VirtualDub.stream[0].AdjustChapters(1);
VirtualDub.stream[0].SetMode(0);
VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
VirtualDub.stream[0].SetClipMode(1,1);
VirtualDub.stream[0].SetConversion(0,0,0,0,0);
VirtualDub.stream[0].SetVolume();
VirtualDub.stream[0].SetCompression();
VirtualDub.stream[0].EnableFilterGraph(0);
VirtualDub.stream[0].filters.Clear();
VirtualDub.video.DeleteComments(1);
VirtualDub.video.AddComment(0x00000002,"ISFT","VirtualDubMod 1.5.10.2 (build 2540/release)");
VirtualDub.video.AdjustChapters(1);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetCompression(0x64697678,0,10000,0);
VirtualDub.video.SetCompData(3532,"AAAAALwCAACQsggALlx2aWRlby5wYXNzAAAuAHAAYQBzAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAEAAEhpZ2hkZWYAZABlAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAEdlbmVyYWwgcHVycG9zZQBwAHUAcgBwAG8AcwBlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAIERITFRcZGxESExUXGRscFBUWFxgaHB4VFhcYGhweIBYXGBocHiAjFxgaHB4gIyYZGhweICMmKRscHiAjJiktEBESExQVFhcREhMUFRYXGBITFBUWFxgZExQVFhcYGhsUFRYXGRobHBUWFxgaGxweFhcYGhscHh8XGBkbHB4fIQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAACWAAAAZAAAAAEAAAAAAAAABAAAAAMAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAZAAAAPQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABkAAAAZAAAAAEAAAAKAAAAAQAAABQAAAAAAAAAAAAAAAUAAAAFAAAABQAAAAAoCgAAAAAAAQAAAAEAAAAeAAAAAAAAAAIAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAEAAAAAAAAALAEAAAAAAAABAAAAHwAAAAEAAAAfAAAAAQAAAB8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA==");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[0].Config(1280,720,4);
|
|
|
|
| Sponsored Links | |
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|