I want to have a text scroll through a video. I use Kdenlive for editing and rendering and it supports having a scrolling text and simply made it black text on a white background.

It scrolls very fast, way faster than would be readable. Which is intended. However, it should still look crisp (appearing clear, sharp, etc.).

When I stop at any point in the video, the text is as sharp as it could be. However, when playing the video, the text looks blurry.

It doesn't appear to be a player issue. I tried 3 different players, same thing. When I take a screenshot while playing the video, the text looks sharp, too.

I use a 60 fps LCD laptop monitor with 4 K resolution scaled to 1920 px x 1080 px by the operating system and tried 30 fps and 60 fps video.

The problem vanishes when I stand 4 m or more back.

Is this a known problem and is there a solution? Like using colors which aren't as different as black and white for the text and the background or actually lowering the frame rate or showing smaller/bigger text or anything?


Some general advice on motion graphics / rolling text, i dont know KDEnlive so i dont know how to achieve that in your specific software.

  • Make scrolling speed fit your framerate. If your framerate is 25fps, the text should scroll at 25 / 50 / 75 / 100 / 125 etc. pixels per frame.

  • If you are using a progressive scan playback device like a projector or a computer screen, make sure your project is set to be in progressive and not interlaced. If necessary, de-interlace video that was shot interlaced before using it in the project.

  • Never use fonts or graphics that have lines which are only 1px, if you need to do that, duplicate the layer and put a copy of the graphics with a very soft gaussian blur (1 or 2px blur) in the background.

  • Put a soft shadow around the font, also very subtle, 1 or 2px dissolved shadow.

  • Did I understand this correctly? Given I use frame rate f, I should let the text scroll n*f px per frame with n∈ℕ? I don't really see how that would matter. – UTF-8 Sep 29 '16 at 11:37
  • You cannot get smooth motion if the text movement is not synced with the framerate, or what would you imagine the NLE would do i.e. when moving 27pixel / frame at a 25fps framerate? – Hans Meiser Sep 29 '16 at 11:41
  • Quote from: helpx.adobe.com/after-effects/using/… When animating text to move vertically—for scrolling credits, for example—move the text vertically at a rate in pixels per second that is an even multiple of the field rate for the interlaced video format. Such a rate of movement prevents a kind of twitter that can come from the text movement being out of phase with the scan lines. For NTSC, good values include 0, 119.88, and 239.76 pixels per second; for PAL, good values include 0, 100, and 200 pixels per second. – Hans Meiser Sep 29 '16 at 11:47
  • but yes, i mixed up px/frame and px/s ;) – Hans Meiser Sep 29 '16 at 11:48
  • Ah, ok. That makes sense. So for non-interlaced video, it just means that one should move the text an integer number of pixels per frame. I find this description way more intuitive than bringing seconds in for no reason whatsoever and it's less prone to error. – UTF-8 Sep 29 '16 at 14:35

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.