I have an input video and I want to omit (or delete) individual frames from the next processing (because of the added disturbing big text irregularly occurred on top of some individual frames).

I have the list of ordinal numbers of these frames but maybe it would be better to recognize them during processing by some filter (if it is possible; the text is the same and at the same position).

Is there some way how to exclude them from the next processing?

(The list has about 20 items.)


The direct selection method is simple.

ffmpeg -i in.mp4 -vf select='not(eq(n,45)+eq(n,47)+eq(n,75))',setpts=N/FRAME_RATE/TB out.mp4

Frame count starts from zero. Audio is ignored.

(I'll check for a detection method)

  • Thank you very much - you again resolved my problem. I appreciate your wisdom and your goodwill to dedicate a significant part of your precious time to help me and others. - A potential detection method will be of course interesting, too. – MarianD Mar 24 '17 at 11:01
  • Key to this filtergraph is the "setpts", otherwise it just repeats the last frame it decoded. – Ben Jaguar Marshall Jan 14 '19 at 5:26
  • After some study, what you probably want is the "removelogo" filter. "Suppress a TV station logo, using an image file to determine which pixels comprise the logo. It works by filling in the pixels that comprise the logo with neighboring pixels." – Ben Jaguar Marshall Jan 14 '19 at 5:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.