Change the frame rate of an MP4 video with ffmpeg Announcing the arrival of Valued Associate...

Can the van der Waals coefficients be negative in the van der Waals equation for real gases?

Pointing to problems without suggesting solutions

When speaking, how do you change your mind mid-sentence?

Etymology of 見舞い

Can I ask an author to send me his ebook?

How to create a command for the "strange m" symbol in latex?

How was Lagrange appointed professor of mathematics so early?

Proving inequality for positive definite matrix

What is the ongoing value of the Kanban board to the developers as opposed to management

Can I take recommendation from someone I met at a conference?

Knights and Knaves question

Compiling and throwing simple dynamic exceptions at runtime for JVM

What came first? Venom as the movie or as the song?

Has a Nobel Peace laureate ever been accused of war crimes?

When does Bran Stark remember Jamie pushing him?

Recursive calls to a function - why is the address of the parameter passed to it lowering with each call?

Coin Game with infinite paradox

Can this water damage be explained by lack of gutters and grading issues?

Kepler's 3rd law: ratios don't fit data

Why do C and C++ allow the expression (int) + 4*5?

Does using the Inspiration rules for character defects encourage My Guy Syndrome?

enable https on private network

How do I deal with an erroneously large refund?

Is my guitar’s action too high?



Change the frame rate of an MP4 video with ffmpeg



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Change framerate on MKV containerHow to convert .avi video that has 1 static image in the video (with sound) to mp4 video with ffmpeg to least possible size?Problems with frame rate on video conversion using ffmpeg with libx264compressing video with ffmpeg while maintaining high frame rateSkipping a frame without re-encoding H.264 videoCreate timelapse video with frame integration using ffmpegWhy did the size of my video file increase after being cropped by FFmpeg?How to increase video speed and frame rate without duplicating framesFFMPEG Converting MKV to MP4 causes Frame Rate Mode to ChangeConvert Series of PNG's into MP4 Video Using FFMPEG Where Each Photo is 1 Frame and Each Frame is Played for 1 Secffmpeg h264_vaapi video encoding





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







9















I have a video in mp4 format with a frame rate of .33 (1 frame for 3 seconds). I want to increase the frame rate to 5 frames/sec. I have tried the below command but it does not do any thing:



ffmpeg -i <input.mp4> -r 5 <output.mp4>


Any idea why ffmpeg is ignoring -r option?










share|improve this question















migrated from stackoverflow.com Aug 7 '11 at 8:40


This question came from our site for professional and enthusiast programmers.



















  • If you're trying to speed up / slow down a video, instead of duplicate / drop frames, see superuser.com/questions/854753/… and/or askubuntu.com/questions/370692/…

    – Peter Cordes
    Mar 1 '15 at 2:50


















9















I have a video in mp4 format with a frame rate of .33 (1 frame for 3 seconds). I want to increase the frame rate to 5 frames/sec. I have tried the below command but it does not do any thing:



ffmpeg -i <input.mp4> -r 5 <output.mp4>


Any idea why ffmpeg is ignoring -r option?










share|improve this question















migrated from stackoverflow.com Aug 7 '11 at 8:40


This question came from our site for professional and enthusiast programmers.



















  • If you're trying to speed up / slow down a video, instead of duplicate / drop frames, see superuser.com/questions/854753/… and/or askubuntu.com/questions/370692/…

    – Peter Cordes
    Mar 1 '15 at 2:50














9












9








9


1






I have a video in mp4 format with a frame rate of .33 (1 frame for 3 seconds). I want to increase the frame rate to 5 frames/sec. I have tried the below command but it does not do any thing:



ffmpeg -i <input.mp4> -r 5 <output.mp4>


Any idea why ffmpeg is ignoring -r option?










share|improve this question
















I have a video in mp4 format with a frame rate of .33 (1 frame for 3 seconds). I want to increase the frame rate to 5 frames/sec. I have tried the below command but it does not do any thing:



ffmpeg -i <input.mp4> -r 5 <output.mp4>


Any idea why ffmpeg is ignoring -r option?







video ffmpeg mp4






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 2 '18 at 23:23









Patrick Mevzek

1,19521020




1,19521020










asked Aug 6 '11 at 4:10









firemonkeyfiremonkey

46112




46112




migrated from stackoverflow.com Aug 7 '11 at 8:40


This question came from our site for professional and enthusiast programmers.









migrated from stackoverflow.com Aug 7 '11 at 8:40


This question came from our site for professional and enthusiast programmers.















  • If you're trying to speed up / slow down a video, instead of duplicate / drop frames, see superuser.com/questions/854753/… and/or askubuntu.com/questions/370692/…

    – Peter Cordes
    Mar 1 '15 at 2:50



















  • If you're trying to speed up / slow down a video, instead of duplicate / drop frames, see superuser.com/questions/854753/… and/or askubuntu.com/questions/370692/…

    – Peter Cordes
    Mar 1 '15 at 2:50

















If you're trying to speed up / slow down a video, instead of duplicate / drop frames, see superuser.com/questions/854753/… and/or askubuntu.com/questions/370692/…

– Peter Cordes
Mar 1 '15 at 2:50





If you're trying to speed up / slow down a video, instead of duplicate / drop frames, see superuser.com/questions/854753/… and/or askubuntu.com/questions/370692/…

– Peter Cordes
Mar 1 '15 at 2:50










4 Answers
4






active

oldest

votes


















6














If the input file doesn't have a valid frame rate you might have to set it explicitly



ffmpeg -r 1 -i input.mp4 -r 24 output.mp4





share|improve this answer
























  • This transcodes when you really only need to remux. (Unless you actually want to duplicate / drop frames instead of slowing down / speeding up the video.)

    – Peter Cordes
    Apr 18 at 8:52



















6














I know this is an old question but none of the current answers are the recommended way anymore.



Lossless (video) remuxing



As noted in the comments there is a way to do this where the video does not
have to be re-encoded. It requires remuxing the file to a different containter format MKV and then remuxing it back into an MP4. Here is an example that changes a video to 12 frames/second:



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4


If the video contains audio you can also slow that down without changing the pitch, but it is not a lossless conversion. The example below assumes the source video was 24 frames/second so that audio needed to be slowed to half (0.5) speed using ffmpeg's atempo filter.



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4


FFMPEG Wiki Guidance



This is the guidance from the ffmpeg wiki. Note that all of these options do require re-encoding the video.



Speeding up/slowing down video



You can change the speed of a video stream using the ​setpts video filter. Note that in the following examples, the audio stream is not changed, so it should ideally be disabled with -an.



To double the speed of the video, you can use:



ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv


The filter works by changing the presentation timestamp (PTS) of each video frame. For example, if there are two succesive frames shown at timestamps 1 and 2, and you want to speed up the video, those timestamps need to become 0.5 and 1, respectively. Thus, we have to multiply them by 0.5.



Note that this method will drop frames to achieve the desired speed. You can avoid dropped frames by specifying a higher output frame rate than the input. For example, to go from an input of 4 FPS to one that is sped up to 4x that (16 FPS):



ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv


To slow down your video, you have to use a multiplier greater than 1:



ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv


Smooth



You can smooth out slow/fast video with the ​minterpolate video filter. This is also known as "motion interpolation" or "optical flow".



ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv


Other options include ​slowmoVideo and ​Butterflow.
Speeding up/slowing down audio



You can speed up or slow down audio with the ​atempo audio filter. To double the speed of audio:



ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv


The atempo filter is limited to using values between 0.5 and 2.0 (so it can slow it down to no less than half the original speed, and speed up to no more than double the input). If you need to, you can get around this limitation by stringing multiple atempo filters together. The following with quadruple the audio speed:



ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv


Using a complex filtergraph, you can speed up video and audio at the same time:



ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv





share|improve this answer





















  • 1





    It's possible to speed/slow by just remuxing, but FFmpeg doesn't know how to do it. e.g. for mkv, mkvtoolnix can do it. e.g. mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv Change framerate on MKV container. You could remux to MKV and back to MP4, or find a tool that does it for MP4 directly. xcoding the video is very CPU-intensive and lossy, so it's a horrible option.

    – Peter Cordes
    Apr 18 at 8:56











  • Totally agreed that remuxing to a lower framerate is preferred as it is a lossless approach that is much less resource intensive. In practice I haven't found good tooling for doing that with MP4s though. I haven't tried really recently, but back when I first wrote this answer I had doing MP4->MKV->MP4 remuxing and I couldn't get it to work using mkvtoolnix, ffmpeg, and/or mp4box. I'll have to try with the parameters you suggest.

    – pseudosavant
    Apr 19 at 20:11



















3














I could only get the changed framerate to take effect if the input file was classed as a "raw" file:



ffmpeg -r 5 -f h264 -i input.h264 -vcodec copy -an output.mkv


Without specifying -f h264 it would default to 25 fps and it could not be changed. Apparently this was because the stream lacked any framerate information at all and this is ffmpeg's default framerate.



Apparently when you use -r as an output option it duplicates or drops frames so the video plays at the same speed - in this case, not what you want! But changing the input framerate as above will cause the video to speed up or slow down, with no frames lost or duplicated.






share|improve this answer



















  • 1





    My useful answer. No re-encoding here

    – yota
    Oct 30 '18 at 16:10



















1














Such a feature - of changing framerate - is called "conforming" and is often used to produce slow-motion or fast-forward like showing a plant's growth in minutes insted of days. ffmpeg do not allow overwriting/changing framerate without re-encoding. If it does so, duration will change and audio would be out of sync unless separately mended. But I'm afraid audio is not of interest in your case with framerate of .33



You want conforming because you just want to change framerate, but ffmpeg ignores -r silently if framerate is specified in the input file. Since your input file is in .mp4 format, its own framerate take precedence of -r when re-encode isn't needed. For this you need a different tool: mencoder.



Assuming your input file contains no sound - likely true for any video with .33 framerate - what you need is:



$ mencoder -fps 5 -o <output> -ovc copy -nosound <input.mp4>


Notice that mencoder by default produce output in AVI format.






share|improve this answer





















  • 1





    This is wrong. If r is specified as an output switch, ffmpeg will produce an output at that specified framerate, irrespective of the input's framerate. If r is specified as an input switch, ffmpeg will duplicate or drop frames as necessary to feed the specified number of frames per second of input to the filter/encoder.

    – Gyan
    Jan 17 '16 at 8:06











  • The behaviour you describe when r is an input switch contradicts with my earlier experiment on .mp4 format, Malvineous' note (on this page) and bug description 403 trac.ffmpeg.org/ticket/403 ; your description when r is used on output happens when re-encoding, while the scenario of OP seems to be a conforming case (fix framerate without re-encoding) by the fact that he had .33 framerate.

    – Tankman六四
    Jan 18 '16 at 20:01








  • 1





    Check report pasted here. Note the command line at the top, the input and output metadata and finally the no. of frames encoded.

    – Gyan
    Jan 18 '16 at 20:19






  • 1





    Agreed that the OP wants to just conform file but their given command is re-encoding since copy switch(es) isn't specified. In that scenario, ffmpeg should be generating new stream at r fps.

    – Gyan
    Jan 18 '16 at 20:25











  • Thank you Mulvya for the convincing sample output. Yes, you are right on the usage of -r. That usage couldn't affect my earlier experiments in response to OP because, thinking a conforming case, I never dropped copy parameter from ffmpeg, and -r is thus ignored. I wrote a feature request: trac.ffmpeg.org/ticket/5170

    – Tankman六四
    Jan 19 '16 at 22:58












Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f320045%2fchange-the-frame-rate-of-an-mp4-video-with-ffmpeg%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























4 Answers
4






active

oldest

votes








4 Answers
4






active

oldest

votes









active

oldest

votes






active

oldest

votes









6














If the input file doesn't have a valid frame rate you might have to set it explicitly



ffmpeg -r 1 -i input.mp4 -r 24 output.mp4





share|improve this answer
























  • This transcodes when you really only need to remux. (Unless you actually want to duplicate / drop frames instead of slowing down / speeding up the video.)

    – Peter Cordes
    Apr 18 at 8:52
















6














If the input file doesn't have a valid frame rate you might have to set it explicitly



ffmpeg -r 1 -i input.mp4 -r 24 output.mp4





share|improve this answer
























  • This transcodes when you really only need to remux. (Unless you actually want to duplicate / drop frames instead of slowing down / speeding up the video.)

    – Peter Cordes
    Apr 18 at 8:52














6












6








6







If the input file doesn't have a valid frame rate you might have to set it explicitly



ffmpeg -r 1 -i input.mp4 -r 24 output.mp4





share|improve this answer













If the input file doesn't have a valid frame rate you might have to set it explicitly



ffmpeg -r 1 -i input.mp4 -r 24 output.mp4






share|improve this answer












share|improve this answer



share|improve this answer










answered Aug 6 '11 at 4:44









Martin BeckettMartin Beckett

5,10311925




5,10311925













  • This transcodes when you really only need to remux. (Unless you actually want to duplicate / drop frames instead of slowing down / speeding up the video.)

    – Peter Cordes
    Apr 18 at 8:52



















  • This transcodes when you really only need to remux. (Unless you actually want to duplicate / drop frames instead of slowing down / speeding up the video.)

    – Peter Cordes
    Apr 18 at 8:52

















This transcodes when you really only need to remux. (Unless you actually want to duplicate / drop frames instead of slowing down / speeding up the video.)

– Peter Cordes
Apr 18 at 8:52





This transcodes when you really only need to remux. (Unless you actually want to duplicate / drop frames instead of slowing down / speeding up the video.)

– Peter Cordes
Apr 18 at 8:52













6














I know this is an old question but none of the current answers are the recommended way anymore.



Lossless (video) remuxing



As noted in the comments there is a way to do this where the video does not
have to be re-encoded. It requires remuxing the file to a different containter format MKV and then remuxing it back into an MP4. Here is an example that changes a video to 12 frames/second:



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4


If the video contains audio you can also slow that down without changing the pitch, but it is not a lossless conversion. The example below assumes the source video was 24 frames/second so that audio needed to be slowed to half (0.5) speed using ffmpeg's atempo filter.



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4


FFMPEG Wiki Guidance



This is the guidance from the ffmpeg wiki. Note that all of these options do require re-encoding the video.



Speeding up/slowing down video



You can change the speed of a video stream using the ​setpts video filter. Note that in the following examples, the audio stream is not changed, so it should ideally be disabled with -an.



To double the speed of the video, you can use:



ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv


The filter works by changing the presentation timestamp (PTS) of each video frame. For example, if there are two succesive frames shown at timestamps 1 and 2, and you want to speed up the video, those timestamps need to become 0.5 and 1, respectively. Thus, we have to multiply them by 0.5.



Note that this method will drop frames to achieve the desired speed. You can avoid dropped frames by specifying a higher output frame rate than the input. For example, to go from an input of 4 FPS to one that is sped up to 4x that (16 FPS):



ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv


To slow down your video, you have to use a multiplier greater than 1:



ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv


Smooth



You can smooth out slow/fast video with the ​minterpolate video filter. This is also known as "motion interpolation" or "optical flow".



ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv


Other options include ​slowmoVideo and ​Butterflow.
Speeding up/slowing down audio



You can speed up or slow down audio with the ​atempo audio filter. To double the speed of audio:



ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv


The atempo filter is limited to using values between 0.5 and 2.0 (so it can slow it down to no less than half the original speed, and speed up to no more than double the input). If you need to, you can get around this limitation by stringing multiple atempo filters together. The following with quadruple the audio speed:



ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv


Using a complex filtergraph, you can speed up video and audio at the same time:



ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv





share|improve this answer





















  • 1





    It's possible to speed/slow by just remuxing, but FFmpeg doesn't know how to do it. e.g. for mkv, mkvtoolnix can do it. e.g. mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv Change framerate on MKV container. You could remux to MKV and back to MP4, or find a tool that does it for MP4 directly. xcoding the video is very CPU-intensive and lossy, so it's a horrible option.

    – Peter Cordes
    Apr 18 at 8:56











  • Totally agreed that remuxing to a lower framerate is preferred as it is a lossless approach that is much less resource intensive. In practice I haven't found good tooling for doing that with MP4s though. I haven't tried really recently, but back when I first wrote this answer I had doing MP4->MKV->MP4 remuxing and I couldn't get it to work using mkvtoolnix, ffmpeg, and/or mp4box. I'll have to try with the parameters you suggest.

    – pseudosavant
    Apr 19 at 20:11
















6














I know this is an old question but none of the current answers are the recommended way anymore.



Lossless (video) remuxing



As noted in the comments there is a way to do this where the video does not
have to be re-encoded. It requires remuxing the file to a different containter format MKV and then remuxing it back into an MP4. Here is an example that changes a video to 12 frames/second:



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4


If the video contains audio you can also slow that down without changing the pitch, but it is not a lossless conversion. The example below assumes the source video was 24 frames/second so that audio needed to be slowed to half (0.5) speed using ffmpeg's atempo filter.



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4


FFMPEG Wiki Guidance



This is the guidance from the ffmpeg wiki. Note that all of these options do require re-encoding the video.



Speeding up/slowing down video



You can change the speed of a video stream using the ​setpts video filter. Note that in the following examples, the audio stream is not changed, so it should ideally be disabled with -an.



To double the speed of the video, you can use:



ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv


The filter works by changing the presentation timestamp (PTS) of each video frame. For example, if there are two succesive frames shown at timestamps 1 and 2, and you want to speed up the video, those timestamps need to become 0.5 and 1, respectively. Thus, we have to multiply them by 0.5.



Note that this method will drop frames to achieve the desired speed. You can avoid dropped frames by specifying a higher output frame rate than the input. For example, to go from an input of 4 FPS to one that is sped up to 4x that (16 FPS):



ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv


To slow down your video, you have to use a multiplier greater than 1:



ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv


Smooth



You can smooth out slow/fast video with the ​minterpolate video filter. This is also known as "motion interpolation" or "optical flow".



ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv


Other options include ​slowmoVideo and ​Butterflow.
Speeding up/slowing down audio



You can speed up or slow down audio with the ​atempo audio filter. To double the speed of audio:



ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv


The atempo filter is limited to using values between 0.5 and 2.0 (so it can slow it down to no less than half the original speed, and speed up to no more than double the input). If you need to, you can get around this limitation by stringing multiple atempo filters together. The following with quadruple the audio speed:



ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv


Using a complex filtergraph, you can speed up video and audio at the same time:



ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv





share|improve this answer





















  • 1





    It's possible to speed/slow by just remuxing, but FFmpeg doesn't know how to do it. e.g. for mkv, mkvtoolnix can do it. e.g. mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv Change framerate on MKV container. You could remux to MKV and back to MP4, or find a tool that does it for MP4 directly. xcoding the video is very CPU-intensive and lossy, so it's a horrible option.

    – Peter Cordes
    Apr 18 at 8:56











  • Totally agreed that remuxing to a lower framerate is preferred as it is a lossless approach that is much less resource intensive. In practice I haven't found good tooling for doing that with MP4s though. I haven't tried really recently, but back when I first wrote this answer I had doing MP4->MKV->MP4 remuxing and I couldn't get it to work using mkvtoolnix, ffmpeg, and/or mp4box. I'll have to try with the parameters you suggest.

    – pseudosavant
    Apr 19 at 20:11














6












6








6







I know this is an old question but none of the current answers are the recommended way anymore.



Lossless (video) remuxing



As noted in the comments there is a way to do this where the video does not
have to be re-encoded. It requires remuxing the file to a different containter format MKV and then remuxing it back into an MP4. Here is an example that changes a video to 12 frames/second:



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4


If the video contains audio you can also slow that down without changing the pitch, but it is not a lossless conversion. The example below assumes the source video was 24 frames/second so that audio needed to be slowed to half (0.5) speed using ffmpeg's atempo filter.



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4


FFMPEG Wiki Guidance



This is the guidance from the ffmpeg wiki. Note that all of these options do require re-encoding the video.



Speeding up/slowing down video



You can change the speed of a video stream using the ​setpts video filter. Note that in the following examples, the audio stream is not changed, so it should ideally be disabled with -an.



To double the speed of the video, you can use:



ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv


The filter works by changing the presentation timestamp (PTS) of each video frame. For example, if there are two succesive frames shown at timestamps 1 and 2, and you want to speed up the video, those timestamps need to become 0.5 and 1, respectively. Thus, we have to multiply them by 0.5.



Note that this method will drop frames to achieve the desired speed. You can avoid dropped frames by specifying a higher output frame rate than the input. For example, to go from an input of 4 FPS to one that is sped up to 4x that (16 FPS):



ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv


To slow down your video, you have to use a multiplier greater than 1:



ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv


Smooth



You can smooth out slow/fast video with the ​minterpolate video filter. This is also known as "motion interpolation" or "optical flow".



ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv


Other options include ​slowmoVideo and ​Butterflow.
Speeding up/slowing down audio



You can speed up or slow down audio with the ​atempo audio filter. To double the speed of audio:



ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv


The atempo filter is limited to using values between 0.5 and 2.0 (so it can slow it down to no less than half the original speed, and speed up to no more than double the input). If you need to, you can get around this limitation by stringing multiple atempo filters together. The following with quadruple the audio speed:



ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv


Using a complex filtergraph, you can speed up video and audio at the same time:



ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv





share|improve this answer















I know this is an old question but none of the current answers are the recommended way anymore.



Lossless (video) remuxing



As noted in the comments there is a way to do this where the video does not
have to be re-encoded. It requires remuxing the file to a different containter format MKV and then remuxing it back into an MP4. Here is an example that changes a video to 12 frames/second:



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4


If the video contains audio you can also slow that down without changing the pitch, but it is not a lossless conversion. The example below assumes the source video was 24 frames/second so that audio needed to be slowed to half (0.5) speed using ffmpeg's atempo filter.



mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4


FFMPEG Wiki Guidance



This is the guidance from the ffmpeg wiki. Note that all of these options do require re-encoding the video.



Speeding up/slowing down video



You can change the speed of a video stream using the ​setpts video filter. Note that in the following examples, the audio stream is not changed, so it should ideally be disabled with -an.



To double the speed of the video, you can use:



ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv


The filter works by changing the presentation timestamp (PTS) of each video frame. For example, if there are two succesive frames shown at timestamps 1 and 2, and you want to speed up the video, those timestamps need to become 0.5 and 1, respectively. Thus, we have to multiply them by 0.5.



Note that this method will drop frames to achieve the desired speed. You can avoid dropped frames by specifying a higher output frame rate than the input. For example, to go from an input of 4 FPS to one that is sped up to 4x that (16 FPS):



ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv


To slow down your video, you have to use a multiplier greater than 1:



ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv


Smooth



You can smooth out slow/fast video with the ​minterpolate video filter. This is also known as "motion interpolation" or "optical flow".



ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv


Other options include ​slowmoVideo and ​Butterflow.
Speeding up/slowing down audio



You can speed up or slow down audio with the ​atempo audio filter. To double the speed of audio:



ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv


The atempo filter is limited to using values between 0.5 and 2.0 (so it can slow it down to no less than half the original speed, and speed up to no more than double the input). If you need to, you can get around this limitation by stringing multiple atempo filters together. The following with quadruple the audio speed:



ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv


Using a complex filtergraph, you can speed up video and audio at the same time:



ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv






share|improve this answer














share|improve this answer



share|improve this answer








edited 6 hours ago

























answered Feb 2 '18 at 19:53









pseudosavantpseudosavant

16515




16515








  • 1





    It's possible to speed/slow by just remuxing, but FFmpeg doesn't know how to do it. e.g. for mkv, mkvtoolnix can do it. e.g. mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv Change framerate on MKV container. You could remux to MKV and back to MP4, or find a tool that does it for MP4 directly. xcoding the video is very CPU-intensive and lossy, so it's a horrible option.

    – Peter Cordes
    Apr 18 at 8:56











  • Totally agreed that remuxing to a lower framerate is preferred as it is a lossless approach that is much less resource intensive. In practice I haven't found good tooling for doing that with MP4s though. I haven't tried really recently, but back when I first wrote this answer I had doing MP4->MKV->MP4 remuxing and I couldn't get it to work using mkvtoolnix, ffmpeg, and/or mp4box. I'll have to try with the parameters you suggest.

    – pseudosavant
    Apr 19 at 20:11














  • 1





    It's possible to speed/slow by just remuxing, but FFmpeg doesn't know how to do it. e.g. for mkv, mkvtoolnix can do it. e.g. mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv Change framerate on MKV container. You could remux to MKV and back to MP4, or find a tool that does it for MP4 directly. xcoding the video is very CPU-intensive and lossy, so it's a horrible option.

    – Peter Cordes
    Apr 18 at 8:56











  • Totally agreed that remuxing to a lower framerate is preferred as it is a lossless approach that is much less resource intensive. In practice I haven't found good tooling for doing that with MP4s though. I haven't tried really recently, but back when I first wrote this answer I had doing MP4->MKV->MP4 remuxing and I couldn't get it to work using mkvtoolnix, ffmpeg, and/or mp4box. I'll have to try with the parameters you suggest.

    – pseudosavant
    Apr 19 at 20:11








1




1





It's possible to speed/slow by just remuxing, but FFmpeg doesn't know how to do it. e.g. for mkv, mkvtoolnix can do it. e.g. mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv Change framerate on MKV container. You could remux to MKV and back to MP4, or find a tool that does it for MP4 directly. xcoding the video is very CPU-intensive and lossy, so it's a horrible option.

– Peter Cordes
Apr 18 at 8:56





It's possible to speed/slow by just remuxing, but FFmpeg doesn't know how to do it. e.g. for mkv, mkvtoolnix can do it. e.g. mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv Change framerate on MKV container. You could remux to MKV and back to MP4, or find a tool that does it for MP4 directly. xcoding the video is very CPU-intensive and lossy, so it's a horrible option.

– Peter Cordes
Apr 18 at 8:56













Totally agreed that remuxing to a lower framerate is preferred as it is a lossless approach that is much less resource intensive. In practice I haven't found good tooling for doing that with MP4s though. I haven't tried really recently, but back when I first wrote this answer I had doing MP4->MKV->MP4 remuxing and I couldn't get it to work using mkvtoolnix, ffmpeg, and/or mp4box. I'll have to try with the parameters you suggest.

– pseudosavant
Apr 19 at 20:11





Totally agreed that remuxing to a lower framerate is preferred as it is a lossless approach that is much less resource intensive. In practice I haven't found good tooling for doing that with MP4s though. I haven't tried really recently, but back when I first wrote this answer I had doing MP4->MKV->MP4 remuxing and I couldn't get it to work using mkvtoolnix, ffmpeg, and/or mp4box. I'll have to try with the parameters you suggest.

– pseudosavant
Apr 19 at 20:11











3














I could only get the changed framerate to take effect if the input file was classed as a "raw" file:



ffmpeg -r 5 -f h264 -i input.h264 -vcodec copy -an output.mkv


Without specifying -f h264 it would default to 25 fps and it could not be changed. Apparently this was because the stream lacked any framerate information at all and this is ffmpeg's default framerate.



Apparently when you use -r as an output option it duplicates or drops frames so the video plays at the same speed - in this case, not what you want! But changing the input framerate as above will cause the video to speed up or slow down, with no frames lost or duplicated.






share|improve this answer



















  • 1





    My useful answer. No re-encoding here

    – yota
    Oct 30 '18 at 16:10
















3














I could only get the changed framerate to take effect if the input file was classed as a "raw" file:



ffmpeg -r 5 -f h264 -i input.h264 -vcodec copy -an output.mkv


Without specifying -f h264 it would default to 25 fps and it could not be changed. Apparently this was because the stream lacked any framerate information at all and this is ffmpeg's default framerate.



Apparently when you use -r as an output option it duplicates or drops frames so the video plays at the same speed - in this case, not what you want! But changing the input framerate as above will cause the video to speed up or slow down, with no frames lost or duplicated.






share|improve this answer



















  • 1





    My useful answer. No re-encoding here

    – yota
    Oct 30 '18 at 16:10














3












3








3







I could only get the changed framerate to take effect if the input file was classed as a "raw" file:



ffmpeg -r 5 -f h264 -i input.h264 -vcodec copy -an output.mkv


Without specifying -f h264 it would default to 25 fps and it could not be changed. Apparently this was because the stream lacked any framerate information at all and this is ffmpeg's default framerate.



Apparently when you use -r as an output option it duplicates or drops frames so the video plays at the same speed - in this case, not what you want! But changing the input framerate as above will cause the video to speed up or slow down, with no frames lost or duplicated.






share|improve this answer













I could only get the changed framerate to take effect if the input file was classed as a "raw" file:



ffmpeg -r 5 -f h264 -i input.h264 -vcodec copy -an output.mkv


Without specifying -f h264 it would default to 25 fps and it could not be changed. Apparently this was because the stream lacked any framerate information at all and this is ffmpeg's default framerate.



Apparently when you use -r as an output option it duplicates or drops frames so the video plays at the same speed - in this case, not what you want! But changing the input framerate as above will cause the video to speed up or slow down, with no frames lost or duplicated.







share|improve this answer












share|improve this answer



share|improve this answer










answered Oct 29 '14 at 13:39









MalvineousMalvineous

1,59611227




1,59611227








  • 1





    My useful answer. No re-encoding here

    – yota
    Oct 30 '18 at 16:10














  • 1





    My useful answer. No re-encoding here

    – yota
    Oct 30 '18 at 16:10








1




1





My useful answer. No re-encoding here

– yota
Oct 30 '18 at 16:10





My useful answer. No re-encoding here

– yota
Oct 30 '18 at 16:10











1














Such a feature - of changing framerate - is called "conforming" and is often used to produce slow-motion or fast-forward like showing a plant's growth in minutes insted of days. ffmpeg do not allow overwriting/changing framerate without re-encoding. If it does so, duration will change and audio would be out of sync unless separately mended. But I'm afraid audio is not of interest in your case with framerate of .33



You want conforming because you just want to change framerate, but ffmpeg ignores -r silently if framerate is specified in the input file. Since your input file is in .mp4 format, its own framerate take precedence of -r when re-encode isn't needed. For this you need a different tool: mencoder.



Assuming your input file contains no sound - likely true for any video with .33 framerate - what you need is:



$ mencoder -fps 5 -o <output> -ovc copy -nosound <input.mp4>


Notice that mencoder by default produce output in AVI format.






share|improve this answer





















  • 1





    This is wrong. If r is specified as an output switch, ffmpeg will produce an output at that specified framerate, irrespective of the input's framerate. If r is specified as an input switch, ffmpeg will duplicate or drop frames as necessary to feed the specified number of frames per second of input to the filter/encoder.

    – Gyan
    Jan 17 '16 at 8:06











  • The behaviour you describe when r is an input switch contradicts with my earlier experiment on .mp4 format, Malvineous' note (on this page) and bug description 403 trac.ffmpeg.org/ticket/403 ; your description when r is used on output happens when re-encoding, while the scenario of OP seems to be a conforming case (fix framerate without re-encoding) by the fact that he had .33 framerate.

    – Tankman六四
    Jan 18 '16 at 20:01








  • 1





    Check report pasted here. Note the command line at the top, the input and output metadata and finally the no. of frames encoded.

    – Gyan
    Jan 18 '16 at 20:19






  • 1





    Agreed that the OP wants to just conform file but their given command is re-encoding since copy switch(es) isn't specified. In that scenario, ffmpeg should be generating new stream at r fps.

    – Gyan
    Jan 18 '16 at 20:25











  • Thank you Mulvya for the convincing sample output. Yes, you are right on the usage of -r. That usage couldn't affect my earlier experiments in response to OP because, thinking a conforming case, I never dropped copy parameter from ffmpeg, and -r is thus ignored. I wrote a feature request: trac.ffmpeg.org/ticket/5170

    – Tankman六四
    Jan 19 '16 at 22:58
















1














Such a feature - of changing framerate - is called "conforming" and is often used to produce slow-motion or fast-forward like showing a plant's growth in minutes insted of days. ffmpeg do not allow overwriting/changing framerate without re-encoding. If it does so, duration will change and audio would be out of sync unless separately mended. But I'm afraid audio is not of interest in your case with framerate of .33



You want conforming because you just want to change framerate, but ffmpeg ignores -r silently if framerate is specified in the input file. Since your input file is in .mp4 format, its own framerate take precedence of -r when re-encode isn't needed. For this you need a different tool: mencoder.



Assuming your input file contains no sound - likely true for any video with .33 framerate - what you need is:



$ mencoder -fps 5 -o <output> -ovc copy -nosound <input.mp4>


Notice that mencoder by default produce output in AVI format.






share|improve this answer





















  • 1





    This is wrong. If r is specified as an output switch, ffmpeg will produce an output at that specified framerate, irrespective of the input's framerate. If r is specified as an input switch, ffmpeg will duplicate or drop frames as necessary to feed the specified number of frames per second of input to the filter/encoder.

    – Gyan
    Jan 17 '16 at 8:06











  • The behaviour you describe when r is an input switch contradicts with my earlier experiment on .mp4 format, Malvineous' note (on this page) and bug description 403 trac.ffmpeg.org/ticket/403 ; your description when r is used on output happens when re-encoding, while the scenario of OP seems to be a conforming case (fix framerate without re-encoding) by the fact that he had .33 framerate.

    – Tankman六四
    Jan 18 '16 at 20:01








  • 1





    Check report pasted here. Note the command line at the top, the input and output metadata and finally the no. of frames encoded.

    – Gyan
    Jan 18 '16 at 20:19






  • 1





    Agreed that the OP wants to just conform file but their given command is re-encoding since copy switch(es) isn't specified. In that scenario, ffmpeg should be generating new stream at r fps.

    – Gyan
    Jan 18 '16 at 20:25











  • Thank you Mulvya for the convincing sample output. Yes, you are right on the usage of -r. That usage couldn't affect my earlier experiments in response to OP because, thinking a conforming case, I never dropped copy parameter from ffmpeg, and -r is thus ignored. I wrote a feature request: trac.ffmpeg.org/ticket/5170

    – Tankman六四
    Jan 19 '16 at 22:58














1












1








1







Such a feature - of changing framerate - is called "conforming" and is often used to produce slow-motion or fast-forward like showing a plant's growth in minutes insted of days. ffmpeg do not allow overwriting/changing framerate without re-encoding. If it does so, duration will change and audio would be out of sync unless separately mended. But I'm afraid audio is not of interest in your case with framerate of .33



You want conforming because you just want to change framerate, but ffmpeg ignores -r silently if framerate is specified in the input file. Since your input file is in .mp4 format, its own framerate take precedence of -r when re-encode isn't needed. For this you need a different tool: mencoder.



Assuming your input file contains no sound - likely true for any video with .33 framerate - what you need is:



$ mencoder -fps 5 -o <output> -ovc copy -nosound <input.mp4>


Notice that mencoder by default produce output in AVI format.






share|improve this answer















Such a feature - of changing framerate - is called "conforming" and is often used to produce slow-motion or fast-forward like showing a plant's growth in minutes insted of days. ffmpeg do not allow overwriting/changing framerate without re-encoding. If it does so, duration will change and audio would be out of sync unless separately mended. But I'm afraid audio is not of interest in your case with framerate of .33



You want conforming because you just want to change framerate, but ffmpeg ignores -r silently if framerate is specified in the input file. Since your input file is in .mp4 format, its own framerate take precedence of -r when re-encode isn't needed. For this you need a different tool: mencoder.



Assuming your input file contains no sound - likely true for any video with .33 framerate - what you need is:



$ mencoder -fps 5 -o <output> -ovc copy -nosound <input.mp4>


Notice that mencoder by default produce output in AVI format.







share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 19 '16 at 23:02

























answered Jan 17 '16 at 7:24









Tankman六四Tankman六四

278210




278210








  • 1





    This is wrong. If r is specified as an output switch, ffmpeg will produce an output at that specified framerate, irrespective of the input's framerate. If r is specified as an input switch, ffmpeg will duplicate or drop frames as necessary to feed the specified number of frames per second of input to the filter/encoder.

    – Gyan
    Jan 17 '16 at 8:06











  • The behaviour you describe when r is an input switch contradicts with my earlier experiment on .mp4 format, Malvineous' note (on this page) and bug description 403 trac.ffmpeg.org/ticket/403 ; your description when r is used on output happens when re-encoding, while the scenario of OP seems to be a conforming case (fix framerate without re-encoding) by the fact that he had .33 framerate.

    – Tankman六四
    Jan 18 '16 at 20:01








  • 1





    Check report pasted here. Note the command line at the top, the input and output metadata and finally the no. of frames encoded.

    – Gyan
    Jan 18 '16 at 20:19






  • 1





    Agreed that the OP wants to just conform file but their given command is re-encoding since copy switch(es) isn't specified. In that scenario, ffmpeg should be generating new stream at r fps.

    – Gyan
    Jan 18 '16 at 20:25











  • Thank you Mulvya for the convincing sample output. Yes, you are right on the usage of -r. That usage couldn't affect my earlier experiments in response to OP because, thinking a conforming case, I never dropped copy parameter from ffmpeg, and -r is thus ignored. I wrote a feature request: trac.ffmpeg.org/ticket/5170

    – Tankman六四
    Jan 19 '16 at 22:58














  • 1





    This is wrong. If r is specified as an output switch, ffmpeg will produce an output at that specified framerate, irrespective of the input's framerate. If r is specified as an input switch, ffmpeg will duplicate or drop frames as necessary to feed the specified number of frames per second of input to the filter/encoder.

    – Gyan
    Jan 17 '16 at 8:06











  • The behaviour you describe when r is an input switch contradicts with my earlier experiment on .mp4 format, Malvineous' note (on this page) and bug description 403 trac.ffmpeg.org/ticket/403 ; your description when r is used on output happens when re-encoding, while the scenario of OP seems to be a conforming case (fix framerate without re-encoding) by the fact that he had .33 framerate.

    – Tankman六四
    Jan 18 '16 at 20:01








  • 1





    Check report pasted here. Note the command line at the top, the input and output metadata and finally the no. of frames encoded.

    – Gyan
    Jan 18 '16 at 20:19






  • 1





    Agreed that the OP wants to just conform file but their given command is re-encoding since copy switch(es) isn't specified. In that scenario, ffmpeg should be generating new stream at r fps.

    – Gyan
    Jan 18 '16 at 20:25











  • Thank you Mulvya for the convincing sample output. Yes, you are right on the usage of -r. That usage couldn't affect my earlier experiments in response to OP because, thinking a conforming case, I never dropped copy parameter from ffmpeg, and -r is thus ignored. I wrote a feature request: trac.ffmpeg.org/ticket/5170

    – Tankman六四
    Jan 19 '16 at 22:58








1




1





This is wrong. If r is specified as an output switch, ffmpeg will produce an output at that specified framerate, irrespective of the input's framerate. If r is specified as an input switch, ffmpeg will duplicate or drop frames as necessary to feed the specified number of frames per second of input to the filter/encoder.

– Gyan
Jan 17 '16 at 8:06





This is wrong. If r is specified as an output switch, ffmpeg will produce an output at that specified framerate, irrespective of the input's framerate. If r is specified as an input switch, ffmpeg will duplicate or drop frames as necessary to feed the specified number of frames per second of input to the filter/encoder.

– Gyan
Jan 17 '16 at 8:06













The behaviour you describe when r is an input switch contradicts with my earlier experiment on .mp4 format, Malvineous' note (on this page) and bug description 403 trac.ffmpeg.org/ticket/403 ; your description when r is used on output happens when re-encoding, while the scenario of OP seems to be a conforming case (fix framerate without re-encoding) by the fact that he had .33 framerate.

– Tankman六四
Jan 18 '16 at 20:01







The behaviour you describe when r is an input switch contradicts with my earlier experiment on .mp4 format, Malvineous' note (on this page) and bug description 403 trac.ffmpeg.org/ticket/403 ; your description when r is used on output happens when re-encoding, while the scenario of OP seems to be a conforming case (fix framerate without re-encoding) by the fact that he had .33 framerate.

– Tankman六四
Jan 18 '16 at 20:01






1




1





Check report pasted here. Note the command line at the top, the input and output metadata and finally the no. of frames encoded.

– Gyan
Jan 18 '16 at 20:19





Check report pasted here. Note the command line at the top, the input and output metadata and finally the no. of frames encoded.

– Gyan
Jan 18 '16 at 20:19




1




1





Agreed that the OP wants to just conform file but their given command is re-encoding since copy switch(es) isn't specified. In that scenario, ffmpeg should be generating new stream at r fps.

– Gyan
Jan 18 '16 at 20:25





Agreed that the OP wants to just conform file but their given command is re-encoding since copy switch(es) isn't specified. In that scenario, ffmpeg should be generating new stream at r fps.

– Gyan
Jan 18 '16 at 20:25













Thank you Mulvya for the convincing sample output. Yes, you are right on the usage of -r. That usage couldn't affect my earlier experiments in response to OP because, thinking a conforming case, I never dropped copy parameter from ffmpeg, and -r is thus ignored. I wrote a feature request: trac.ffmpeg.org/ticket/5170

– Tankman六四
Jan 19 '16 at 22:58





Thank you Mulvya for the convincing sample output. Yes, you are right on the usage of -r. That usage couldn't affect my earlier experiments in response to OP because, thinking a conforming case, I never dropped copy parameter from ffmpeg, and -r is thus ignored. I wrote a feature request: trac.ffmpeg.org/ticket/5170

– Tankman六四
Jan 19 '16 at 22:58


















draft saved

draft discarded




















































Thanks for contributing an answer to Super User!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f320045%2fchange-the-frame-rate-of-an-mp4-video-with-ffmpeg%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Why not use the yoke to control yaw, as well as pitch and roll? Announcing the arrival of...

Couldn't open a raw socket. Error: Permission denied (13) (nmap)Is it possible to run networking commands...

VNC viewer RFB protocol error: bad desktop size 0x0I Cannot Type the Key 'd' (lowercase) in VNC Viewer...