FFMPEG: is it possible to offset output frames from a selection of specific frames? I'm doing some ffmpeg (4.1.3) transcodings by extracting specific frames from the source, in this case, the source can be either a movie or an image sequence, all working fine with the following command:

ffmpeg -i source.mov -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -frame_pts 1 frames_%04d.jpeg


In the case of a source image sequence, I only need to specify the start number (since my frames usually start in 100 or further):

ffmpeg -start_number 94 -i source.%04d.png -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -frame_pts 1 frames_%04d.jpeg


But the issue is that the frame numbers that I get match the exact numbers that I asked for, which are those required from the select filter and start at 0, in the example of the image sequence, you can see that it actually starts at frame 94, and technically the movies replicate the same, their first frame is the same as 94 in image sequence, and i will love to have a way to get the output numbers be offset by a certain number so they match the corresponding "source" frame.

I already tried adding a -start_number at the end before the output, which works with regular transcodes, but it seems not to work in combination of -frame_pts

I will love to be able to do something like this:

ffmpeg -start_number 94 -i source.%04d.png -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -start_number 94 -frame_pts 1 frames_%04d.jpeg


And get frame 96, 174 and 244 instead of 2, 80 and 150.

Is there a way to do that ?

Thanks in advanced!
start_number is ignored with frame_pts, so a workaround is needed. A generic option output_ts_offset is available but it takes timestamp rather than frame number, so we first set the framerate of the images input as 1.

Use

ffmpeg -start_number 94 -framerate 1 -i source.%04d.png -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -output_ts_offset 94 -frame_pts 1 frames_%04d.jpeg