Trim / AudioTrim¶
Set of filters to trim audio and video:
Trim can trim video only clips and also clips with both audio and video.
AudioTrim can trim audio only clips and also clips with both audio and video.
Trim¶
Trims a clip – removes frames from one or both ends.
Trim cannot trim a clip if there is no video. Use AudioTrim for that case.
The resulting clip starts with frame number 0, and this must be taken into account when making additional edits using that clip. To view a clip's frame number at any point in your script, temporarily insert an Info or ShowFrameNumber statement.
Syntax and Parameters
For convenience, Trim can be called in four slightly different ways:
Trim (clip, int first_frame, int last_frame , bool "pad", bool "cache")
- clip
Source clip; all color formats and audio sample types supported.
- first_frame, last_frame
Returns a clip starting at
first_frame
and running up to and includinglast_frame
.For example,
Trim(3, 5)
returns source clip frames 3, 4 and 5.Remember, AviSynth starts counting at frame 0.
If you set
last_frame
to 0, you will get a clip starting atfirst_frame
and running to the end of the clip.
- pad
pad
causes the audio stream to be padded to align with the video stream. Otherwise the tail of a short audio stream is left so. You should usepad=false
when the soundtracks being joined were originally contiguous – compare to UnalignedSplice.Default: true
- cache
When set to false: lower memory consumption but may be slower. Benefits heavily depend on how trimmed clips are used later. See issue #274 for more information.
Default: true
Trim (clip, int first_frame, int -num_frames , bool "pad", bool "cache")
- first_frame, -num_frames
With a negative value for the second argument, you get a clip starting at
first_frame
and running fornum_frames
frames.For example,
Trim(0, -4)
returns source clip frames 0, 1, 2 and 3.
Trim (clip, int first_frame, int "end" , bool "pad", bool "cache")
- first_frame, end
Returns a clip starting at
first_frame
and running up to and including frameend
.For example,
Trim(3, end=7)
is equivalent toTrim(3, 7)
; both return frames 3, 4, 5, 6 and 7.end
default = 0; must be >=first_frame
.Unlike the
last_frame
syntax, theend
syntax has no discontinuous boundary values:end=0
means end at frame 0. This feature is useful in avoiding unexpected boundary conditions in your user functions.
Trim (clip, int first_frame, int "length" , bool "pad", bool "cache")
- first_frame, length
Returns a clip starting at
first_frame
and running forlength
frames.For example,
Trim(3, length=5)
is equivalent toTrim(3, -5)
; both return frames 3, 4, 5, 6 and 7.length
default = 0; must be >= 0.Unlike the
num_frames
syntax, thelength
syntax has no discontinuous boundary values:length=0
means return a zero length clip. This feature is useful in avoiding unexpected boundary conditions in your user functions.
AudioTrim¶
AudioTrim trims a clip based on time, not on frames. This is most useful for audio-only clips, where "frames" have no meaning anyway, and you may want to edit with finer precision than whole frames (at 30fps, 1 frame=33.3ms).
All time arguments are in seconds, floating-point.
Trims on audio-only clips are accurate to the nearest audio sample.
Trims on clips with video are accurate to the nearest whole video frame.
AudioTrim cannot trim a clip if there is no audio. Use Trim for that case.
The resulting clip starts with time = 0.0, and this must be taken into account when making additional edits to that clip. To view a clip's time at any point in your script, temporarily insert an Info or ShowTime statement.
Syntax and Parameters
For convenience, AudioTrim can be called in four slightly different ways:
AudioTrim (clip, float start_time, float end_time, bool "cache")
- clip
Source clip; all color formats and audio sample types supported.
- start_time, end_time
Returns a clip starting at
start_time
and running up to and including timeend_time
.For example,
AudioTrim(3.0, 5.0)
returns source clip from time 00:00:03.000 to 00:00:05.000.If you set
end_time
to 0.0, you will get a clip starting atstart_time
seconds and running to the end of the clip.
- cache
When set to false: lower memory consumption but may be slower. Benefits heavily depend on how trimmed clips are used later. See issue #274 for more information.
Default: true
AudioTrim (clip, float start_time, float -duration, bool "cache")
- start_time, -duration
With a negative value for the second argument, you will get a clip starting at
start_time
and running forduration
seconds.For example,
AudioTrim(0.0, -4.0)
returns the source clip from time 00:00:00.000 to 00:00:04.000.
AudioTrim (clip, float start_time, float "end", bool "cache")
- start_time, end
Returns a clip starting at
start_time
and running up to and including timeend
.For example,
AudioTrim(3.0, end=7.0)
is equivalent toAudioTrim(3.0, 7.0)
end
default = 0.0; must be >=start_time
.Unlike the
end_time
syntax, theend
syntax has no discontinuous boundary values:end=0.0
means return a zero-length clip. This feature is useful in avoiding unexpected boundary conditions in your user functions.
AudioTrim (clip, float start_time, float "length", bool "cache")
- start_time, length
Returns a clip starting at
start_time
and running forlength
seconds.For example,
AudioTrim(3.0, length=4.0)
is equivalent toAudioTrim(3.0, -4.0)
length
default = 0.0; must be >= 0.Unlike the duration syntax, the
length
syntax has no discontinuous boundary values:length=0.0
means return a zero-length clip. This feature is useful in avoiding unexpected boundary conditions in your user functions.
Examples¶
Return only the first frame (frame 0):
Trim(0, -1) Trim(0, end=0) Trim(0, length=1)
Return only the last frame:
Trim(FrameCount, -1) Trim(FrameCount, end=Framecount) Trim(FrameCount, length=1)
Return frames 100-199 (duration=100):
Trim(100, 199) Trim(100, -100)
Delete the first 100 frames; audio padded or trimmed to match the video length.
Trim(100, 0) # (pad=true by default)
Delete the first 100 frames of audio and video; the resulting stream lengths remain independent.
Trim(100, 0, pad=false)
Trim audio if longer than video (pad does affect this action):
Trim(0, FrameCount-1)
Audio will be trimmed if longer, but not padded if shorter to frame 199:
Trim(100, 199, pad=false)
AudioTrim: trim video if longer than audio:
AudioTrim(0, AudioDuration)
AudioTrim: keep the audio between 1.0 and 6.5 seconds (ie, delete the first second, keep the following 5.5 seconds):
AudioTrim(1, 6.5) AudioTrim(1, -5.5) AudioTrim(1, length=5.5)
Changelog¶
Version |
Changes |
---|---|
AviSynth+ 3.7.2 |
Added |
AviSynth 2.6.0 |
Added AudioTrim.
Added explicit
length and end parameters. |
AviSynth 2.5.6 |
Added |
$Date: 2022/03/12 14:59:42 $