>> 1) Play the same frames slower. You can certainly do that. Putting "-r 25" >> in the input command will do that. (You will need to adjust the audio too.) >> However, this will result in slow motion. (clip takes 24 seconds after the >> conversion.) If it is mostly city shots, this >> might be fine, but the >> people walking are noticeably slowed.
I will have different clips, not only city shots etc. Solution above is very bad, result video will stutter. >> 2) Throw out information. The problem you have here is that you have six >> frames ABCDEF when you want five VWXYZ. So if you just chuck one frame F, >> you will get the judder you don't want. This is what just a "fps=25" filter >> will do. If you are ok with interlacing, >> you could split the frames into >> fields AaBbCcDdEeFf and then throw out every 6th field, to get AaBbCDdEeF. >> However when you put these back into frames (if you are displaying on a >> progressive display, you would get Aa, Bb, CD, DE, eF, Those last three >> interlaced frames might be noticeable. >> I've never done this sort of thing, but I think "-vf fps=50,interlace" >> should do it. >> This would change the judder to more smaller jumps but it might not be what >> you want. It will also make the video interlaced. I tested it, here you can see output with your vf example: ffmpeg.exe -i "sample-29.970fps.mp4" -c:v libx264 -c:a libvo_aacenc -b:a 128k -vf fps=50,interlace "OUTPUT" http://artnmedia.pl/damian/fps/sample-29.970fps_25fps_vf%20fps=50,interlanced.mp4 Unfortunately output still stutter and by a interlace quality is worse. I am looking for better solution, cause those clips will be emited in TV and I have to do this with ffmpeg ;/. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Nicholas Robbins Sent: Friday, August 29, 2014 3:33 PM To: FFmpeg user questions Subject: Re: [FFmpeg-user] How to change video fps from 29.970 to 25? On Friday, August 29, 2014 8:41 AM, Damian Głodny <[email protected]> wrote: > > >Ok, here it is: > >Sample 29.970 fps file which I want to convert to 25fps: >http://artnmedia.pl/damian/fps/sample-29.970fps.mp4 > >Damian Głodny <damian <at> artnmedia.pl> writes: > >> I tried many ffmpeg filters like pullup, telecine, fieldmatch, >> decimate, but my output video always stuttering. Ok, that sample is "30" fps progressive. (I am going to use 30 for 29.97=30000/1001.) It has 30 complete video frames per second. If you want to reduce it 25 fps You have two choices. 1) Play the same frames slower. You can certainly do that. Putting "-r 25" in the input command will do that. (You will need to adjust the audio too.) However, this will result in slow motion. (clip takes 24 seconds after the conversion.) If it is mostly city shots, this might be fine, but the people walking are noticeably slowed. 2) Throw out information. The problem you have here is that you have six frames ABCDEF when you want five VWXYZ. So if you just chuck one frame F, you will get the judder you don't want. This is what just a "fps=25" filter will do. If you are ok with interlacing, you could split the frames into fields AaBbCcDdEeFf and then throw out every 6th field, to get AaBbCDdEeF. However when you put these back into frames (if you are displaying on a progressive display, you would get Aa, Bb, CD, DE, eF, Those last three interlaced frames might be noticeable. I've never done this sort of thing, but I think "-vf fps=50,interlace" should do it. This would change the judder to more smaller jumps but it might not be what you want. It will also make the video interlaced. 3) Magically turn the 6 frames of progressive video into 5 frames of progressive video showing the same scene evenly spaced out. Requires Magic(tm). -Nick Robbins _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
