[Libav-user] Slow down video
george at nsup.org
Fri Oct 14 16:13:25 EEST 2022
> Hello All,
> I'm trying to use FFMPEG to slow down part of video and audio using C++
> FFMPEG API. I was able to achieve it from the command line but however,
> argument parsing fails using api.
> Here is the command line input
> ffmpeg -i "inputvideo.mp4" -filter_complex
> -preset superfast -profile:v baseline output.mp4
> Here is the filter string i used in avfilter_graph_parse()
> [in_1]; [in_1] trim = 0:2, setpts = PTS - STARTPTS [in_2]; [in_2] trim =
> 2:10, setpts = 2 * (PTS - STARTPTS)[in_3]; [in_3] trim = 10, setpts = PTS -
> STARTPTS[in_4]; [in_1] atrim = 0:2, asetpts = PTS - STARTPTS[in_5]; [in_5]
> atrim = 2:10, asetpts = PTS - STARTPTS, atempo = 0.5[in_6]; [in_6] atrim =
> 10, asetpts = PTS - STARTPTS[in_7]; [in_1] [in_2] [in_5] [in_3] [in_6]
> [in_4] [in_7] concat = n = 3:v = 1 : a = 1 [result]; [result] buffersink
> Can anyone let me know where I'm wrong? What changes do I need to make in
> the filter string? Kindly help
I see several issues:
pix_fmt=0 will probably not work.
atrim gets from [in1], i.e. buffer, while in the other version atrim is
connected to [0:a], i.e. a abuffer.
You have several pads that are connected multiple times.
More information about the Libav-user