In this article we will see how we can save a single frame at given time of the video file clip in MoviePy. MoviePy is a Python module for video editing, which can be used for basic operations on videos and GIF’s. Video is formed by the frames, combination of frames creates a video each frame is an individual image. We can store the specific frame at any time.
In order to do this we will use
save_frame
method with the VideoFileClip objectSyntax : clip.save_frame(“frame.png”, t)
Argument : It takes image name as argument and time as optional argument
Return : It returns None
Below is the implementation
# Import everything needed to edit video clips from moviepy.editor import * # loading video dsa gfg intro video clip = VideoFileClip( "dsa_geek.webm" ) # getting only first 5 seconds clip = clip.subclip( 0 , 5 ) # saving a frame at 2 second clip.save_frame( "frame2.png" , t = 2 ) # showing clip clip.ipython_display(width = 360 ) |
Output :
Moviepy - Building video __temp__.mp4. Moviepy - Writing video __temp__.mp4 Moviepy - Done ! Moviepy - video ready __temp__.mp4
Below is the saved image
Another example
# Import everything needed to edit video clips from moviepy.editor import * # loading video gfg clip = VideoFileClip( "Lazyroar.mp4" ) # getting duration of the video duration = clip.duration # saving a frame at 1 second clip.save_frame( "frame1.png" , t = 1 ) # showing clip clip.ipython_display(width = 360 ) |
Output :
Moviepy - Building video __temp__.mp4. MoviePy - Writing audio in __temp__TEMP_MPY_wvf_snd.mp3 MoviePy - Done. Moviepy - Writing video __temp__.mp4 Moviepy - Done ! Moviepy - video ready __temp__.mp4
Below is how the saved image will look like