I'm looking to take a video of say 1 minute in length, and speed it up so that it is only say 10 seconds long (x6). I don't want to just change the display rate, I'd like to actually drop 5 out of 6 frames in this example to reduce the size and the length of the video.
How can I achieve this using the gstreamer command line?
I've tried using the videorate filter:
gst-launch-1.0 filesrc location=in.mp4 ! qtdemux name=demux demux.video_0 \
! queue ! h264parse ! avdec_h264 ! videoconvert ! videorate
! video/x-raw,framerate=180/1 ! x264enc ! mp4mux ! filesink location=output.mp4
but no matter what parameters I pass, although frames are dropped, the length of the video stays the same.
Use the
rateparameter to videorate.Here's your pipeline updated:
I think you want to reduce the frame rate at the same time:
(I asked someone this question on the mailing list a few months back. Thanks should really go to them!)