Log in

View Full Version : Output many clips from one file


goorawin
13th December 2015, 05:33
I have 100's of hours of material that has been transferred from analogue to a digital format. Each hour contains many segments. Segment have a few seconds of black between them.
I would like to be able to use an avs script to encode each segment as an individual clip, without doing it manually.

Currently I have used this script to find the first black frame or last frame of a segment. This establishes the segments.

filename = "E:\output_blank_frames.txt"
global blankthreshold=25

DSS2("E:\News Archive 001\C0001.MXF")

i=AssumeTFF
j=trim(i,1,0) #Previous frame

WriteFileIf(last, filename, "(AverageLuma(i)<blankthreshold)&&AverageLuma(j)>blankthreshold", "current_frame+1", append = false)

Has anyone any suggestions as to how this information could be added directly to a script to output
individual clips from the one input file?

It would be even better if we could also remove all the black (first to last frame between segments) but that is not essential.

Any help would be very much appreciated.

johnmeyer
13th December 2015, 06:48
That looks like one of my script fragments. I take the frame numbers and import them to Sony Vegas Pro (my NLE). The reason I use that editing program is that it has its own scripting language, and I can cut and remove segments, based on these frame numbers.

Because of this workflow, I don't have the need to delete frames within AVISynth. However, I think if you look at the decimate portion of IVTC (Tdecimate), I think it lets you import a list of frames you want to delete.

In the same script from which you probably got that code I also included these lines, all of which were commented out:

#The line below finds the LAST blank frame.
WriteFileIf(last, filename, "(AverageLuma(i)>blankthreshold)&&AverageLuma(j)<blankthreshold", "current_frame+1", append = false)

#This line below will output EVERY frame that is below threshold, which results in LOTS of frames
#Normally you don't do this, but it is included for those who want this capability.
#WriteFileIf(last, filename, "(AverageLuma(i)<blankthreshold)", "current_frame+1", append = false)

So, if you output every frame that falls below the threshold, you should be able to feed that to TDecimate. This is a two-pass process, but it should work.

goorawin
13th December 2015, 09:13
Thank you for the prompt reply.
Yes, that is one your script, I just removed the parts I was not using in this instance.
I'm not familiar with Tdecimate, so will look into it.
However I'm sure that will still not output individual clips of all the segments, will it?

The big problem is I'm talking about 1000's of segments so put it on a timeline is not a practical option. It has to be automated.
Anyway thanks again

johnmeyer
13th December 2015, 17:23
I think there may be a way to do what you want using "trim" along with conditional logic (WriteFileIf), but I have not done that myself because I use the AVISynth-Vegas workflow. In Sony Vegas, I wrote a script which I use all the time which is a "batch file render" script. I create regions from the markers I import and then render each region as a separate file. The creation of individual files is completely automated, but before I invoke that script, I always first scrub the timeline, looking for problems (which I always find).

Hopefully someone else will chime in with a way you can do this in AVISynth. One issue I expect you will have, however, is that you might get some really small clips in the middle of "blank" clips when the blankthreshold is temporarily exceeded. I expect this problem because film transfers are never entirely clean, and there are always all sorts of unexpected flashes and changes in densities that can fool any automated script. This is one reason why I use this AVISynth-Vegas workflow, because I find that nothing can be completely automated without creating a huge mess that takes more time to clean up than if I had taken a few minutes for each reel scrubbing the NLE timeline at 2X-4X real time, looking for problems and correcting them in the NLE.

StainlessS
13th December 2015, 18:02
Give this a try (only tested with the two dummy tests)


# RenderSegments.avs

# Requires RT_Stats, GSCript, TWriteAVI v2.0

# Dummy TEST

ColorBars.ConvertToYV12.Killaudio

A=Trim(0,-100)
B=A.FlipHorizontal
C=A.Flipvertical
A=A.Subtitle("A")
B=B.Subtitle("B")
C=C.Subtitle("C")
K=A.BlankClip(Length=10)

A+K+B+K+C # Test 1
#K+A+K+B+K+C+K # Test 2

###################################
###################################
###################################
# CONFIG

### Tune with THRESH, MX, and MINLEN : If lots of noise then raise THRESH to as much as 5.0%.
THRESH = 2.0 # As for YPlaneMax (% limit of of noise pixels to Ignore when finding YPlaneMax)
MX = 28 # Maximum BLACK (YPlaneMax)
MINLEN = 6 # Min number Frames in Black Seg

OUTDIR="OUT\" # Incl End Slash : OUT Directory MUST Exist
FOURCC="ULY0" # UT Video Codec
###################################
###################################
###################################

GSCript("""
FC = FrameCount() FileNum=0 n = 0
while(n < FC) {
if(n+MinLen<=FC) {
Len=0
For(i=n,n+MinLen-1) {
if(RT_YPlaneMax(Last,n=i,Threshold=THRESH)<=MX) {Len=Len+1}
else {i=FC}
}
if(Len==MinLen) {
NonBlack=FindNonBlack(Last,n,MinLen,MX,Threshold=THRESH)
NonBlack = (NonBlack<0) ? FC : NonBlack
RT_DebugF("Deleting %d to %d",n,NonBlack-1,name="RenderSegments: ")
n = NonBlack
}
}
if(n<FC) {
BlackStart = FindBlack(Last,n,MinLen,MX,Threshold=THRESH)
NonBlackEnd = (BlackStart==-1) ? FC-1 : BlackStart - 1
RT_DebugF("Keeping %d to %d",n,NonBlackEnd,name="RenderSegments: ")
TMP=Trim(n, -(NonBlackEnd-n+1))
FileNum = FileNum + 1
FN = RT_String("%s%06d.AVI",OUTDIR,Filenum)
Dummy = TMP.TWriteAVI(FN,OverWrite=True,FourCC=FOURCC).ForceProcessAVI
n = NonBlackEnd + 1
}
}
return MessageClip("DONE")

######################################
######################################
######################################

Function FindBlack(clip c,int Start,Int MinLen, Int YMax,Float "Threshold") {
c result=-1 FC=FrameCount Threshold=Float(Default(Threshold,0.4))
Assert(Start>=0 && Start<FC,"FindBlack: 0 <= Start < FrameCount")
Assert(MinLen>=1,"FindBlack: 1 <= MinLen")
SCur=Start MCur=SCur Ecur=(SCur+MinLen-1) OBreak=False
While(!OBreak && ECur<FC) {
n=ECur IBreak=False
while(n>=MCur && !IBreak) {
if(RT_YPlaneMax(Last,n=n,Threshold=Threshold)<=YMax) {n=n-1}
else {IBreak=True}
}
if(n<MCur) {
result=SCur
OBreak=True
} else {SCur=n+1 MCur=ECur+1 ECur=n+MinLen}
}
return result
}

Function FindNonBlack(clip c,int Start,Int MinLen, Int YMax, Float "Threshold") {
c FC = FrameCount result=-1 Threshold=Float(Default(Threshold,0.4))
Assert(Start>=0 && Start<FC,"FindNonBlack: 0 <= Start < FrameCount")
Assert(MinLen>=1,"FindNonBlack: 1 <= MinLen")
for(n=Start+MinLen,FC-1) {
if(RT_YPlaneMax(Last,n=n,Threshold=Threshold)>YMax) {
result = n
n = FC # Break
}
}
return result
}
""")



You can use AviSynthesizer_Mod in Batch mode to create lots of avs scripts from a template.

EDIT: I guess I could modify to output scripts rather than AVI.

EDIT; Updated

EDIT: Dont use MT with TWriteAVI, it already does its own threading and crashes if MT used.

StainlessS
13th December 2015, 18:47
And script to generate other scripts instead of lossless AVI clips.
RenderSegmentsSCRIPT.avs

# RenderSegmentsSCRIPT.avs

# Requires RT_Stats, GSCript

###################################
# CONFIG

VideoFilename = "D:\Gorawin\Dummy_1.AVI" # Edit to suite, FULL PATH
OUTDIR = "D:\GoraWin\OUT\" # Incl End Slash : OUT Directory MUST Exist, FULL PATH
GLOBAL_EDIT = "D:\Gorawin\Global_Edit.avs" # Global Edit filename, FULL PATH (EDIT/AFFECT AVS files after creation)

AviSource(VideoFilename) # Whatever source filter you want

### Tune with THRESH, MX, and MINLEN : If lots of noise then raise THRESH to no more than 5.0%.
THRESH = 2.0 # As for YPlaneMax (% limit of noise pixels to Ignore when finding YPlaneMax)
MX = 28 # Maximum BLACK (YPlaneMax)
MINLEN = 6 # Min number Frames in Black Seg (The longer the better for detection)

# Output Script Template
SCRIPT = ("""
Global VideoFilename = "___VideoFilename___" # Set As Globals, make available in GLOBAL_EDIT.AVS
Global FileName = "___FILENAME___" # Output AVS's own filename
Global TRIMSTART = ___TRIMSTART___
Global TRIMEND = ___TRIMEND___
GLOBAL_EDIT = "___GLOBAL_EDIT___" # Global Edit filename, FULL PATH
#
AviSource(VideoFilename) # Edit source filter to suite
Trim(TRIMSTART,TRIMEND)
# Whatever else you want to ADD in HERE
###
# Uncomment this and create GLOBAL_EDIT Import file, can affect/edit all scripts at once after creation.
Exist(GLOBAL_EDIT) ? Import(GLOBAL_EDIT) : NOP
###
# Whatever else you want to ADD in HERE
###
Return Last
""")

###################################
###################################
###################################


GSCript("""
FC = FrameCount() FileNum=0 n = 0
TMPT=RT_StrReplaceMulti(SCRIPT,"___VideoFilename___"+Chr(10)+"___GLOBAL_EDIT___"+Chr(10),VideoFilename+Chr(10)+GLOBAL_EDIT+Chr(10))
FNDSTR = RT_String("___FILENAME___\n___TRIMSTART___\n___TRIMEND___\n")
while(n < FC) {
if(n+MinLen<=FC) {
Len=0
For(i=n,n+MinLen-1) {
if(RT_YPlaneMax(Last,n=i,Threshold=THRESH)<=MX) {Len=Len+1}
else {i=FC}
}
if(Len==MinLen) {
NonBlack=FindNonBlack(Last,n,MinLen,MX,Threshold=THRESH)
NonBlack = (NonBlack<0) ? FC : NonBlack
RT_DebugF("Deleting %d to %d",n,NonBlack-1,name="RenderSegments: ")
n = NonBlack
}
}
if(n<FC) {
BlackStart = FindBlack(Last,n,MinLen,MX,Threshold=THRESH)
NonBlackEnd = (BlackStart==-1) ? FC-1 : BlackStart - 1
RT_DebugF("Keeping %d to %d",n,NonBlackEnd,name="RenderSegments: ")
FileNum = FileNum + 1
FN = RT_String("%s%06d.AVS",OUTDIR,Filenum)
REPSTR = RT_String("%s\n%d\n%d\n",FN,n,(NonBlackEnd==0)?-1:NonBlackEnd)
S=RT_StrReplaceMulti(TMPT,FNDSTR,REPSTR)
RT_WriteFile(FN,"%s",S)
n = NonBlackEnd + 1
}
}
return MessageClip("DONE")

######################################
######################################
######################################

Function FindBlack(clip c,int Start,Int MinLen, Int YMax,Float "Threshold") {
c result=-1 FC = FrameCount Threshold=Float(Default(Threshold,0.4))
Assert(Start>=0 && Start<FC,"FindBlack: 0 <= Start < FrameCount")
Assert(MinLen>=1,"FindBlack: 1 <= MinLen")
SCur=Start MCur=SCur Ecur=(SCur+MinLen-1) OBreak=False
While(!OBreak && ECur<FC) {
n=ECur IBreak=False
while(n>=MCur && !IBreak) {
if(RT_YPlaneMax(Last,n=n,Threshold=Threshold)<=YMax) {n=n-1}
else {IBreak=True}
}
if(n<MCur) {
result=SCur
OBreak=True
} else {SCur=n+1 MCur=ECur+1 ECur=n+MinLen}
}
return result
}

Function FindNonBlack(clip c,int Start,Int MinLen, Int YMax,Float "Threshold") {
c FC = FrameCount result=-1 Threshold=Float(Default(Threshold,0.4))
Assert(Start>=0 && Start<FC,"FindNonBlack: 0 <= Start < FrameCount")
Assert(MinLen>=1,"FindNonBlack: 1 <= MinLen")
for(n=Start+MinLen,FC-1) {
if(RT_YPlaneMax(Last,n=n,Threshold=Threshold)>YMax) {
result = n
n = FC # Break
}
}
return result
}
""")


Demo GLOBAL_EDIT.AVS, Just puts subtitle on output script clips.

Return Subtitle(VideoFilename+"\n"+Filename+"\n TRIM("+String(TRIMSTART)+","+String(TRIMEND)+")",align=5,lsp=0)


One of the created scripts


Global VideoFilename = "D:\Gorawin\Dummy_1.AVI" # Set As Globals, make available in GLOBAL_EDIT.AVS
Global FileName = "D:\GoraWin\OUT\000001.AVS" # Output AVS's own filename
Global TRIMSTART = 0
Global TRIMEND = 99
GLOBAL_EDIT = "D:\Gorawin\Global_Edit.avs" # Global Edit filename, FULL PATH
#
AviSource(VideoFilename) # Edit source filter to suite
Trim(TRIMSTART,TRIMEND)
# Whatever else you want to ADD in HERE
###
# Uncomment this and create GLOBAL_EDIT Import file, can affect/edit all scripts at once after creation.
Exist(GLOBAL_EDIT) ? Import(GLOBAL_EDIT) : NOP
###
# Whatever else you want to ADD in HERE
###
Return Last



EDIT: Script to show YPlaneMax at several Theshold settings, so you may judge how noisy your clips are and set appropriate THRESH & MX.
(View Black frames only)


Avisource("F:\V\Cabaret.avi")

SSS=("""
n=current_frame
T00=RT_YPlaneMax(Last,n=n,Threshold=0.0)
T05=RT_YPlaneMax(Last,n=n,Threshold=0.5)
T10=RT_YPlaneMax(Last,n=n,Threshold=1.0)
T15=RT_YPlaneMax(Last,n=n,Threshold=1.5)
T20=RT_YPlaneMax(Last,n=n,Threshold=2.0)
T25=RT_YPlaneMax(Last,n=n,Threshold=2.5)
T30=RT_YPlaneMax(Last,n=n,Threshold=3.0)
T35=RT_YPlaneMax(Last,n=n,Threshold=3.5)
T40=RT_YPlaneMax(Last,n=n,Threshold=4.0)
T45=RT_YPlaneMax(Last,n=n,Threshold=4.5)
T50=RT_YPlaneMax(Last,n=n,Threshold=5.0)
RT_Subtitle("%d] YPlaneMax @ Threshold %%\n" +
\ "0.0 %% = %d\n" +
\ "0.5 %% = %d\n" +
\ "1.0 %% = %d\n" +
\ "1.5 %% = %d\n" +
\ "2.0 %% = %d\n" +
\ "2.5 %% = %d\n" +
\ "3.0 %% = %d\n" +
\ "3.5 %% = %d\n" +
\ "4.0 %% = %d\n" +
\ "4.5 %% = %d\n" +
\ "5.0 %% = %d\n",
\ n,T00,T05,T10,T15,T20,T25,T30,T35,T40,T45,T50)
""")

Return ScriptClip(SSS)

goorawin
14th December 2015, 02:02
You are brilliant, thank you so much.
It works beautifully, in fact couldn't be better.
I did have to add “ “ to the following line to get it to work.
DirectShowSource(___VideoFilename___)
so it now reads
DirectShowSource("___VideoFilename___")

Anyway thanks again, it will save so much time.

One other point, I have started to play with Avistnth Plus and since it has Gscript built in, what changes to the Gscript section would have to be made to make it work in Avisynth Plus? Any idea?

StainlessS
14th December 2015, 02:33
Have made several changes since I discovered the missing quotes around ___VideoFilename___, update to current,
[including (I think) the Global_Edit option].

So far as I know, all you need do is remove the GScript(""" and closing """).

goorawin
14th December 2015, 02:40
Johnmeyer
In Sony Vegas, I wrote a script which I use all the time which is a "batch file render" script. I create regions from the markers I import and then render each region as a separate file. The creation of individual files is completely automated, but before I invoke that script, I always first scrub the timeline, looking for problems (which I always find).


I would like to know more about how you edit using Sony Vegas.
I use also use Vegas and do the following.
Convert all camera footage (1920x1080x50P) to a mov container (no renedering).
After completing the editing, save the project with all the timeline files into a new directory. Then I do all the processing required through AVS scripts on the these mov files before rendering them as ProRes for Vegas to load.

I find this works well however as Vegas will not trim (with handles) any of the clips using this format, you can end up with some very large files using this system. I do not think Vegas will trim any compressed format.

I have also edited the camera MTS files in Vegas and then done the processing to an avi format (UtVideo) and simply changed the extension back to mts. And that works with Vegas as well.

Using your system, does that only render the clip part that's used on the timeline?
If so I would be very interested to find out exactly how you do it. It could certainly save a lot of disc space.

johnmeyer
14th December 2015, 03:11
I find this works well however as Vegas will not trim (with handles) any of the clips using this format, you can end up with some very large files using this system. I do not think Vegas will trim any compressed format.

I have also edited the camera MTS files in Vegas and then done the processing to an avi format (UtVideo) and simply changed the extension back to mts. And that works with Vegas as well.

Using your system, does that only render the clip part that's used on the timeline?
If so I would be very interested to find out exactly how you do it. It could certainly save a lot of disc space.
I'm afraid I don't understand your question. Perhaps you are asking about "smart rendering," which means that if you do a "cuts-only" edit, where you are simply trimming clips, Vegas will output the smaller file (or individual clips, if you use the batch render), but without re-rendering. If that is your question, Vegas only smart renders to a few AVI formats, and if the stars align, certain simple MPEG-2 formats. It does not smart render MOV, H.264 (including MP4), etc.

However, I have created a very simple workaround that I've never published in any forum. It works with any format that ffmpeg can cut (which is almost all of them). All you do is save your edit using the EDL export option in Vegas. This creates a text file. I have then created a simple Excel spreadsheet that opens this EDL file and will create individual, trimmed files, for every file that you place on the Vegas timeline. All you need to do is download ffmpeg and place it in the same folder as your media. I have the Excel file set up to tell ffmpeg to do GOP cutting, meaning that the result will not be frame accurate. I did it this way because I didn't want to trust ffmpeg to do the rendering at GOP boundaries.

Since I have never published this, it is not yet tested by anyone but me, but it sure has saved me a ton of time, and it is really neat to be able to edit in Vegas, and then have all the clips trimmed without re-rendering.

WorBry
14th December 2015, 06:07
I have also edited the camera MTS files in Vegas and then done the processing to an avi format (UtVideo) and simply changed the extension back to mts. And that works with Vegas as well.


I'm also intrigued by this statement.

So you edit your native mts files on the timeline, render out to UTVideo (I assume setting up a custom VFW render profile to use UTVideo in place of Sony YUV ?) and then change the AVI extension to mts? Is that right? Just trying to understand what purpose that serves i.e. what is it that 'works' ?

Actually, I've just been running a trial of Vegas 13 and testing output to several lossless formats (UTVideo and MagicYUV in YV12 mode) as well as Cineform. One thing I have noticed with both UTVideo and MagicYUV is that the original 16-255 luma range of the source mts clips (1080/30PF AVCHD off a Canon HF-G10) gets clamped, not to 16-235 as one might suppose, but to 32-235. Yet rendering out to Cineform avi (Film Scan 1) the original 16-255 luma scale is preserved, as it is also when rendering out to Sony AVC and XAVC S using the preset profiles. Can anyone explain what's happening there ?

StainlessS
14th December 2015, 23:42
Goorawin,

Fixed cock-up (in below, should be FC=FrameCount NOT FC=FrameCount-1)in both code posts.



Function FindBlack(clip c,int Start,Int MinLen, Int YMax,Float "Threshold") {
c result=-1 FC=FrameCount Threshold=Float(Default(Threshold,0.4))
Assert(Start>=0 && Start<FC,"FindBlack: 0 <= Start < FrameCount")
Assert(MinLen>=1,"FindBlack: 1 <= MinLen")
SCur=Start MCur=SCur Ecur=(SCur+MinLen-1) OBreak=False
While(!OBreak && ECur<FC) {
n=ECur IBreak=False
while(n>=MCur && !IBreak) {
if(RT_YPlaneMax(Last,n=n,Threshold=Threshold)<=YMax) {n=n-1}
else {IBreak=True}
}
if(n<MCur) {
result=SCur
OBreak=True
} else {SCur=n+1 MCur=ECur+1 ECur=n+MinLen}
}
return result
}

Function FindNonBlack(clip c,int Start,Int MinLen, Int YMax,Float "Threshold") {
c FC=FrameCount result=-1 Threshold=Float(Default(Threshold,0.4))
Assert(Start>=0 && Start<FC,"FindNonBlack: 0 <= Start < FrameCount")
Assert(MinLen>=1,"FindNonBlack: 1 <= MinLen")
for(n=Start+MinLen,FC-1) {
if(RT_YPlaneMax(Last,n=n,Threshold=Threshold)>YMax) {
result = n
n = FC # Break
}
}
return result
}

goorawin
13th January 2016, 05:00
Sorry to have left the reply for so long, but with Christmas and everything else time just gets away so quickly.

I'm also intrigued by this statement.

So you edit your native mts files on the timeline, render out to UTVideo (I assume setting up a custom VFW render profile to use UTVideo in place of Sony YUV ?) and then change the AVI extension to mts? Is that right? Just trying to understand what purpose that serves i.e. what is it that 'works' ?


Actually, I've just been running a trial of Vegas 13 and testing output to several lossless formats (UTVideo and MagicYUV in YV12 mode) as well as Cineform. One thing I have noticed with both UTVideo and MagicYUV is that the original 16-255 luma range of the source mts clips (1080/30PF AVCHD off a Canon HF-G10) gets clamped, not to 16-235 as one might suppose, but to 32-235. Yet rendering out to Cineform avi (Film Scan 1) the original 16-255 luma scale is preserved, as it is also when rendering out to Sony AVC and XAVC S using the preset profiles. Can anyone explain what's happening there ?

Yes I edit in native 1920x1080x50P in Vegas and then process (noise reduction, colour correction, stabalize etc) outside Vegas using avisynth. Files are encoded to UTVideo (or another Format) with ffmpeg or ffmbc in AnotherGUI.
Those encoded files are renamed with the MTS extention and put back into vegas for final checking and outputted via frame serving. The reason I do this is because I believe I have much better control and get a cleaner and nicer result on Bluray, AVCHD and DVD.
As I mentioned, I have also used Prores but since upgrading to Windows 10 it seems to be causing more problems on the Vegas timeline.


I certainly do not have a levels problem with UTVideo but then I do know Vegas has a habit of mucking up levels with some formats unless every is setup correctly for them. So it does not surprise me that the output of UTVideo from Vegas would not be correct.

goorawin
13th January 2016, 05:08
I'm afraid I don't understand your question. Perhaps you are asking about "smart rendering," which means that if you do a "cuts-only" edit, where you are simply trimming clips, Vegas will output the smaller file (or individual clips, if you use the batch render), but without re-rendering. If that is your question, Vegas only smart renders to a few AVI formats, and if the stars align, certain simple MPEG-2 formats. It does not smart render MOV, H.264 (including MP4), etc.

However, I have created a very simple workaround that I've never published in any forum. It works with any format that ffmpeg can cut (which is almost all of them). All you do is save your edit using the EDL export option in Vegas. This creates a text file. I have then created a simple Excel spreadsheet that opens this EDL file and will create individual, trimmed files, for every file that you place on the Vegas timeline. All you need to do is download ffmpeg and place it in the same folder as your media. I have the Excel file set up to tell ffmpeg to do GOP cutting, meaning that the result will not be frame accurate. I did it this way because I didn't want to trust ffmpeg to do the rendering at GOP boundaries.

Since I have never published this, it is not yet tested by anyone but me, but it sure has saved me a ton of time, and it is really neat to be able to edit in Vegas, and then have all the clips trimmed without re-rendering.
What a great idea! If you even get around to doing something with it let me know. I'd love to try it.
I'm currently trying Resolve for that reason. It does trim an edl from Vegas which can then be imported back into Vegas. Resolve itself just does not handle enough formats for me. If it did I would consider it over Vegas.

WorBry
13th January 2016, 16:23
Sorry to have left the reply for so long, but with Christmas and everything else time just gets away so quickly.

No problem - hope you had a good one.

I don't have the Vegas trial running on my PC now, but might revisit this at some point.

Yes I edit in native 1920x1080x50P in Vegas and then process (noise reduction, colour correction, stabalize etc) outside Vegas using avisynth. Files are encoded to UTVideo (or another Format) with ffmpeg or ffmbc in AnotherGUI.

Ah OK, so you're not rendering out to UTVideo directly. So to what then?


Those encoded files are renamed with the MTS extention and put back into vegas for final checking and outputted via frame serving.

Interesting. I was just surprised that the .mts renamed files would be accepted.

As I mentioned, I have also used Prores but since upgrading to Windows 10 it seems to be causing more problems on the Vegas timeline.

I'm still running Win7 64-bit. Had a short lived foray into Win10, but rolled-back because of NAS access issues. Still no formal fix.

I certainly do not have a levels problem with UTVideo but then I do know Vegas has a habit of mucking up levels with some formats unless every is setup correctly for them. So it does not surprise me that the output of UTVideo from Vegas would not be correct.

Well I tried every possible configuration permutation possible, so I don't know what. That said, I did get direct output to MagicYUV to work with 16-255 luma scale preserved by setting the "Full YUV Range" option.

goorawin
13th January 2016, 23:19
Ah OK, so you're not rendering out to UTVideo directly. So to what then?

Interesting. I was just surprised that the .mts renamed files would be accepted.

.

The processed AVI clips are renamed to MTS and then replace the original MTS clips. Vegas then opens the project as if they were the original clips. No problems. I then do a final check of the project before exporting via frame serving.

As I mentioned, I am currently trying Davinci Resolve so I can trim the used clips (which Vegas no longer does). It works but I have to use a different format and there are some audio sync issues, which I am still to over come.
I know there are plugins for Vegas to trim clips but what I have tried so far I'm not happy with.