[FFmpeg-user] Deinterlace and change framerate with -vcodec copy
pbasista at gmail.com
Mon May 23 19:36:13 CEST 2011
On Mon, May 23, 2011 at 4:30 PM, Andrew Berg wrote:
>> That's why I consider changing PTS (presentation time stamps) of the
>> video frames as suggested by Mark as better, more stable solution. The
>> only problem is I don't know how to do it. (yet) :)
> It is possible to change such information in a video stream, but I'm not
> familiar with the tools. There are ways to go from 50i to 24p,
It would be pretty sufficient for me to change the video attributes
from "25 fps, 50 fields per second, interlaced" to "24 fps, 48 fields
per second, still interlaced". I have given up deinterlacing, because
I have spotted this sentence in the manual page of ffmpeg:
"... but deinterlacing introduces losses."
which was enough for me to give it up.
> but IIRC,
> it's not usually pretty and it will require decoding. I can't help much
> with the process, though, since I've never had to do it (almost all the
> material I work with just need to be deinterlaced, and the little that
> needs to be converted to 24p is originally 60i).
So, I will try to summarize and I will welcome any corrections:
1) is only possible with reencoding
2) always introduces losses
The way to do it with ffmpeg:
ffmpeg -i input.file -vcodec <video codec> [video codec options]
-deinterlace -an output.file
Changing framerate while maintaining the total number of frames:
1) is possible without reencoding
2) is lossless
3) can be done at least in these two fashions:
a) by altering the video container flags
b) by changing the presentation time stamps (PTS)
Now, the only question that remains unanswered is: "Which tools could
be used to perform such a frame rate change?"
I don't know if the current ffmpeg can do it in any of the described
ways. Does anyone know?
If it is currently not possible with ffmpeg, I think it would be a
feature very well appreciated.
More information about the ffmpeg-user