[FFmpeg-user] whats wrong with select between filter syntax

Travis Kelley rhatguy at gmail.com
Fri Jan 3 22:37:49 CET 2014


I tried the gt/lt combination you suggested and it seems to work for the
greater than clause.  In other words it doesn't stop encoding when it hits
the less than time.  I tried reversing the gt/lt in the expression, but
that didn't seem to matter either.  Either way I specify, I see ffmpeg run
though the first few seconds of video very quickly until it hits the gt
time, then it seems to continue encoding forever.

#  ffmpeg -i "input.mp4" -vf "select='gt(t,30)*lt(t,60)'" -c:v libx264
-preset veryfast -profile:v high -level 4.1 -movflags +faststart -b:v 100k
-ar 44100 -ac 2 -ab 96k /tmp/output.mp4

ffmpeg -i "input.mp4" -vf "select='lt(t,30)*gt(t,20)'" -c:v libx264 -preset
veryfast -profile:v high -level 4.1 -movflags +faststart -b:v 100k -ar
44100 -ac 2 -ab 96k /tmp/output.mp4

As for the verison...gentoo only has 1.0.8 in its package repository marked
stable.  1.2.4 is the newest version with built gentoo packages, but its
marked as unstable.  I might look into building a newer version directly
from source for my needs.

Thanks Clément!


On Fri, Jan 3, 2014 at 4:15 PM, Clément Bœsch <u at pkh.me> wrote:

> On Fri, Jan 03, 2014 at 04:12:51PM -0500, Travis Kelley wrote:
> > I can't seem to get the select filter to work properly on a gentoo linux
> > system.  I've tried all combinations I can think of with quotes in
> > different places, and I have other vf combinations working, including
> > "select=1".  I'm trying to eventually construct a command that will allow
> > me to select multiple segments to be included in the output file, but I'm
> > struggling to get even a single select working.  Can anyone help?
> >
> > # ffmpeg -i "input.mp4" -vf "select=between(t,10,20)" /tmp/output.mp4
> > Missing ')' or too many args in 'between(t'
> > [Parsed_select_0 @ 0x912870] Error while parsing expression 'between(t'
> > [AVFilterGraph @ 0x9127d0] Error initializing filter 'select' with args
> > 'between(t'
> >
> > # ffmpeg -i "input.mp4" -vf "select=between(t\,10\,20)" /tmp/output.mp4
>
> Note: you can do -vf "select='between(t,10,20)'"
>
> > Unknown function in 'between(t,10,20)'
> > [Parsed_select_0 @ 0x801150] Error while parsing expression
> > 'between(t,10,20)'
> > [AVFilterGraph @ 0x801b70] Error initializing filter 'select' with args
> > 'between(t,10,20)'
> > Error opening filters!
> >
> > # ffmpeg -version
> > ffmpeg version 1.0.7
>
> This is way too old. It doesn't have between(). You can emulate with
> "select='gt(t,10)*lt(t,20)'"
>
> > built on Dec  5 2013 09:58:46 with gcc 4.7.3 (Gentoo 4.7.3-r1 p1.3,
> > pie-0.5.5)
>
> --
> Clément B.
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
>


More information about the ffmpeg-user mailing list