Trim
Raffriff42 (Talk | contribs) m (no "pad" in AudioTrim) |
Raffriff42 (Talk | contribs) m (one more touch-up) |
||
Line 13: | Line 13: | ||
{{Par2|length|int|0}} | {{Par2|length|int|0}} | ||
:In Avisynth v2.60, you may use the alternate syntax with named arguments; for example, | :In Avisynth v2.60, you may use the alternate syntax with named arguments; for example, | ||
− | :* <tt>Trim(3, | + | :* <tt>Trim(3, 7) </tt> → <tt> Trim(3, end=7)</tt> |
− | :* <tt>Trim(3, | + | :* <tt>Trim(3, -5)</tt> → <tt> Trim(3, length=5)</tt> |
:Unlike the first syntax, the alternate syntax has no discontinuous boundary values: {{FuncArg|end}}=0 means end at frame 0; {{FuncArg|length}}=0 means return a zero length clip. These are most useful in avoiding unexpected boundary conditions in your user functions. | :Unlike the first syntax, the alternate syntax has no discontinuous boundary values: {{FuncArg|end}}=0 means end at frame 0; {{FuncArg|length}}=0 means return a zero length clip. These are most useful in avoiding unexpected boundary conditions in your user functions. | ||
Line 31: | Line 31: | ||
}} | }} | ||
− | '''AudioTrim''' (in Avisynth v2.60) trims a clip based on ''time'', not on ''frames''. This is most useful for audio-only clips, where "frames" have no meaning. The returned clip includes only the audio (or video+audio) from time {{FuncArg|first}} up to and including time {{FuncArg|last}}. All time arguments are in seconds. | + | '''AudioTrim''' (in Avisynth v2.60) 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). The returned clip includes only the audio (or video+audio) from time {{FuncArg|first}} up to and including time {{FuncArg|last}}. All time arguments are in seconds. |
If you set a negative value for the second argument, that is '''-'''{{FuncArg|last}}, you will get a clip starting at {{FuncArg|first}} seconds and running for {{FuncArg|last}} seconds. If you set {{FuncArg|last}} to zero, you will get a clip starting at {{FuncArg|first}} seconds and running to the end of the clip. | If you set a negative value for the second argument, that is '''-'''{{FuncArg|last}}, you will get a clip starting at {{FuncArg|first}} seconds and running for {{FuncArg|last}} seconds. If you set {{FuncArg|last}} to zero, you will get a clip starting at {{FuncArg|first}} seconds and running to the end of the clip. | ||
Line 38: | Line 38: | ||
{{Par2|length|float|0.0}} | {{Par2|length|float|0.0}} | ||
:You may prefer the alternate syntax with named arguments; for example, | :You may prefer the alternate syntax with named arguments; for example, | ||
− | :* <tt>AudioTrim(3.0, | + | :* <tt>AudioTrim(3.0, 7.0) </tt> → <tt> AudioTrim(3.0, end=7.0)</tt> |
− | :* <tt>AudioTrim(3.0, | + | :* <tt>AudioTrim(3.0, -4.0)</tt> → <tt> AudioTrim(3.0, length=4.0)</tt> |
Revision as of 15:23, 7 January 2016
Contents |
Trim
Trim(clip, int first, int [-]last [, bool "pad"])
Trim(clip, int first, [int "end" , bool "pad"])
Trim(clip, int first, [int "length" , bool "pad"])
Trim trims a clip so that it includes only the frames first up to and including last. The audio is similarly trimmed so that it stays synchronized (see pad below). Remember AviSynth starts counting at frame 0.
If you set a negative value for the second argument, that is -last, you will get a clip starting at first and running for last frames. If you set last to zero, you will get a clip starting at first and running to the end of the clip.
int end = 0
int length = 0
- In Avisynth v2.60, you may use the alternate syntax with named arguments; for example,
- Trim(3, 7) → Trim(3, end=7)
- Trim(3, -5) → Trim(3, length=5)
- Unlike the first syntax, the alternate syntax has no discontinuous boundary values: end=0 means end at frame 0; length=0 means return a zero length clip. These are most useful in avoiding unexpected boundary conditions in your user functions.
bool pad = true
- 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 use pad=false when the soundtracks being joined were originally contiguous (see Splice)
- Trim with audio-only clips
In AviSynth v2.60, to trim an audio-only clip, you simply set a fake frame rate with AssumeFPS. In earlier versions you cannot do this: you must make a BlankClip, use AudioDub, trim that, and then KillVideo. Otherwise, AviSynth returns the error message "cannot trim if there is no video".
AudioTrim
AudioTrim(clip, float first, float [-]last)
AudioTrim(clip, float first [, float "end"])
AudioTrim(clip, float first [, float "length"])
AudioTrim (in Avisynth v2.60) 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). The returned clip includes only the audio (or video+audio) from time first up to and including time last. All time arguments are in seconds.
If you set a negative value for the second argument, that is -last, you will get a clip starting at first seconds and running for last seconds. If you set last to zero, you will get a clip starting at first seconds and running to the end of the clip.
float end = 0.0
float length = 0.0
- You may prefer the alternate syntax with named arguments; for example,
- AudioTrim(3.0, 7.0) → AudioTrim(3.0, end=7.0)
- AudioTrim(3.0, -4.0) → AudioTrim(3.0, length=4.0)
Examples
Trim(100,0) # delete the first 100 frames, audio padded # or trimmed to match the video length.
Trim(100,0,false) # delete the first 100 frames of audio and video, # the resulting stream lengths remain independent.
Trim(100,-100) # is the same as trim(100,199) ie, start=100, duration=100
Trim(100,199,false) # audio will be trimmed if longer but not # padded if shorter to frame 199
Trim(0,-1) # returns only the first frame Trim(0,end=0) # Trim(0,length=1) #
AudioTrim(1,5.5) # keeps the audio samples between 1 and 5.5 seconds AudioTrim(1,end=5.5) #
AudioTrim(1,-5.5) # cuts the first second and keeps the following 5.5 seconds AudioTrim(1,length=5.5) #
Changes
v2.60 | Added AudioTrim. Added length and end parameters. |
v2.56 | Added pad audio. |