[FFmpeg-user] Multiple parts of a video
Cecil Westerhof
Cecil at decebal.nl
Tue Jun 14 14:42:39 EEST 2022
Cecil Westerhof via ffmpeg-user <ffmpeg-user at ffmpeg.org> writes:
> Michael Koch <astroelectronic at t-online.de> writes:
>
>> Am 31.05.2022 um 18:43 schrieb Cecil Westerhof via ffmpeg-user:
>>> Michael Koch <astroelectronic at t-online.de> writes:
>>>
>>>> I have a short example in chapter 2.57 of my book:
>>>> http://www.astro-electronic.de/FFmpeg_Book.pdf
>>> Just to make sure I understand it, I should do something like:
>>> ffmpeg -ss %S1% -t %L1% -i %I1% \
>>> -ss %S2% -t %L2% -i %I1% \
>>> -ss %S3% -t %L3% -i %I1% \
>>> -lavfi "concat=n=3:v=1:a=0" \
>>> -an %OUT%
>>>
>>> But if I understand it well, this works on the iframes, would it not
>>> be better (but longer) to use:
>>> ffmpeg -i %I1% -ss %S1% -t %L1% \
>>> -i %I1% -ss %S2% -t %L2% \
>>> -i %I1% -ss %S3% -t %L3% \
>>> -lavfi "concat=n=3:v=1:a=0" \
>>> -an %OUT%
>>
>> I think that won't work. If you write the options after the input file,
>> then they are applied to the next input file, and the options in the
>> third line are applied to the output file.
>> The concat filter does also work with audio. I just didn't need audio in
>> my example.
>
> But if you put them before the input file they are not precise, but
> work on the iframe level. This can give quit extensive differences. (I
> was bitten by that in the past.) Or is that not the case in this
> specific scenario?
That is not the case anymore.
I am using (bash on Debian):
ffmpeg -y \
-ss ${videoStart} -to ${cutStart} -i ${inputFile} \
-ss ${cutEnd} -to ${videoEnd} -i ${inputFile} \
-vcodec libx264 \
-crf 26 \
-acodec libmp3lame -qscale:a 9 \
-preset veryfast \
-lavfi "concat=n=2:v=1:a=1" \
-an ${outputFile}
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
More information about the ffmpeg-user
mailing list