[FFmpeg-user] Deinterlace and change framerate with -vcodec copy
pbasista at hotmail.com
Sat May 21 02:52:06 CEST 2011
I would like ask for an advice.
I have some mpegts files captured from DVB card. They contain some video streams and some audio streams.
I know how to extract the streams from the mpegts file and how to use them to create a mkv file, for example. I do it like this:ffmpeg -i DVBchannel.mpegts -vcodec copy -acodec copy movie.mkv
But I have a problem with the resulting file. The original video streams (in file DVBchannel.mpegts) are interlaced at 50fps.
I want the final file to play as simply as possible (e.g. without the deinterlace filters), so I would like to deinterlace the video in advance. But I assume it is not possible with -vcodec copy. Or am I mistaken?
If it would be achievable, it would probably only work with those video codecs, for which it is possible to somehow easily combine the two adjacent video frames into one. Anyway, is there such a codec?
My point here is that I do not want to reencode the video "just" to deinterlace it. But as far as I know it is necessary in order to use the deinterlacing filters. Am I correct?
To my knowledge, the deinterlace filters just somehow combine the frames together, but they do not change the framerate. 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. So, is it possible with -vcodec copy?
And my second question is about the framerate itself.
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).
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.
Here: http://www.hdslr-cinema.com/news/workflow/convert-between-framerates/the author mentions that such a framerate change is referred to as "conforming".
I tried the intermediate rawvideo format method described on the mentioned website, but it is not a solution for me, because it requires reencoding. I would really like to do it with -vcodec copy. Is is possible? It it is, which codecs allow for framerate changes like this?
Thank you for your time.
More information about the ffmpeg-user