a TV station I watch has a very distracting logo, which is a semi transparent red square.

enter image description here

I can cover up the logo with the delogo filter like this: (Alas this introduces new distractions.)

ffmpeg -y -i input.TS -vf delogo=x=79:y=36:w=57:h=57:show=0 -t 120 -vcodec h264_qsv -b:v  12300k output.ts

Is there a way to use ffmpeg to remove only the color from the area of the logo?

Because if it was just gray, it wouldn't be that distracting and taking out the color would not introduce flickering artefacts.


I found one solution in cropping the video, turning it into black and white and then putting this as an overlay on itself.

ffmpeg -y -i "input.ts" -filter_complex "[0] crop=57:57:79:39 [cr];[cr] hue=s=0 [cr2];[0][cr2] overlay=79:39" -map "[cr2]" -vcodec h264_qsv -b:v  12300k output.ts
  • 1
    This is the standard way to do it.
    – Gyan
    Apr 7 '21 at 4:13

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.