[FFmpeg-user] Deinterlace and change framerate with -vcodec copy

Andrew Berg bahamutzero8825 at gmail.com
Sun May 22 16:25:46 CEST 2011


On 2011.05.20 07:52 PM, Peter Basista wrote:
> But I assume it is not possible with -vcodec copy. Or am I mistaken?
You are not mistaken. Deinterlacing only works on uncompressed video and
changes the video data (or more accurately, it creates new video data
based on the input), so it is impossible to deinterlace without decoding.
> To my knowledge, the deinterlace filters just somehow combine the frames together, but they do not change the framerate.
It depends on the strategy used by the filter. Yadif, for example, can
produce one frame for each field, doubling the framerate, or it can
produce a frame for each pair of fields, leaving the framerate the same.
>  And here, I _want_ the framerate to be changed from 50fps to 25fps. So, basically, I _want_ half of the frames to be deleted. But, I want the resulting frames to be complete, not just odd or even lines.
2 fields = 1 frame. Each field is half of the picture. Uncompressed, 50
fields contain the same amount of data as 25 frames.
> Let's say I have managed to get a 25fps noninterlaced file movie.mkv. Is there any "easy" way to change the framerate to 24fps? By "easy" I mean without reencoding (or: with -vcodec copy).
You could simply drop every 25th frame or simply change the headers (I
recommend changing container headers) to tell the player to play 24fps
(which will make it slower, and you'll lose sync if you don't adjust the
audio). If you're trying to get the original 23.976fps of a movie from a
50i source, I can't really give much advice because I don't know all the
details involved in handling film content in PAL broadcast systems.
> This, in my opinion, should be possible, because it seems like a rather minor change. Here I would like to emphasize that what I want to change is the _framerate_ not the number of frames. So, I expect the video to be longer (take more time to play) after such a framerate change.
In this case, you should be able to change the framerate in the
container headers. mkvtoolnix would be suitable for manipulating
Matroska containers.


More information about the ffmpeg-user mailing list