If I have a video, say an mkv with h.264 codec @ 25 fps. Can I play it in ffplay with a different fps, say 30fps?

I know if the video was in still images, ffplay lets you assign a -framerate 30. But the -framerate and -r commands don't seem to function given my input is a video to begin with. I tried finding more information in the documentation and online, but I only found references to changing the fps when I have still image formats.

Is the solution to use ffplay -vf "setpts=0.5*PTS" -i inputto simply modify the speed of playback? I was curious about the PTS value and how to confirm what that is and how it changed my command if I have a weird framerate like 24.4444534634. Cause the generic is listed as 0.5 equating to 2x faster, and 2.0 equating to 0.5x slower. I find this doesn't addup though, especially when you get to higher values like 60x speed, etc. i.e. ffplay -vf "setpts=1/60*PTS" -i input This is outputting a speed the exact the same as 1/100000000000 and etc for many values. Is this a case of my pc not being able to generate the output within the presets of the system fast enough? Or just the weird fps of my footage is doing something? Or I need to confirm the PTS value and do the calculation properly for the specific video in question?

1 Answer 1


At the very least, you are limited by the speed of the video decoder. But ffplay does seem to have some barrier to speed increase.

For now, a workaround is to pipe from ffmpeg

ffmpeg -i in -an -vf setpts=PTS/60 -f yuv4mpegpipe - | ffplay -

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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