📜  MoviePy – 迭代视频文件剪辑的帧

📅  最后修改于: 2022-05-13 01:55:05.541000             🧑  作者: Mango

MoviePy – 迭代视频文件剪辑的帧

在本文中,我们将了解如何在 MoviePy 中迭代视频文件剪辑的帧。 MoviePy 是一个用于视频编辑的Python模块,可用于视频和 GIF 的基本操作。视频基本上是每次有特定帧时的大量帧的组合,为了在给定时间获取帧,我们使用 get_frame 方法。迭代帧意味着遍历帧,帧以numpy ndarray的形式表示。

下面是实现

Python3
# Import everything needed to edit video clips
from moviepy.editor import *
   
# loading video dsa gfg intro video
clip = VideoFileClip("dsa_geek.mp4")
    
# getting only first 5 seconds
clip = clip.subclip(0, 5)
 
# iterating frames
frames = clip.iter_frames()
 
# counter to count the frames
counter = 0
 
# using loop to transverse the frames
for value in frames:
     
    # incrementing the counter
    counter += 1
     
# printing the value of the counter
print("Counter Value ", end = " : ")
print(counter)
     
     
 
 
# showing  clip
clip.ipython_display(width = 360)


Python3
# Import everything needed to edit video clips
from moviepy.editor import *
 
# loading video gfg
clip = VideoFileClip("geeks.mp4")
 
# getting only first 5 seconds
clip = clip.subclip(0, 5)
 
 
# iterating frames
frames = clip.iter_frames()
 
# counter to count the frames
counter = 0
 
# using loop to transverse the frames
for value in frames:
     
    # incrementing the counter
    counter += 1
     
# printing the value of the counter
print("Counter Value ", end = " : ")
print(counter)
 
# showing  clip
clip.ipython_display(width = 360)


输出 :

Counter Value  : 150
Moviepy - Building video __temp__.mp4.
Moviepy - Writing video __temp__.mp4

                                                                                                                       
Moviepy - Done !
Moviepy - video ready __temp__.mp4

另一个例子

Python3

# Import everything needed to edit video clips
from moviepy.editor import *
 
# loading video gfg
clip = VideoFileClip("geeks.mp4")
 
# getting only first 5 seconds
clip = clip.subclip(0, 5)
 
 
# iterating frames
frames = clip.iter_frames()
 
# counter to count the frames
counter = 0
 
# using loop to transverse the frames
for value in frames:
     
    # incrementing the counter
    counter += 1
     
# printing the value of the counter
print("Counter Value ", end = " : ")
print(counter)
 
# showing  clip
clip.ipython_display(width = 360)

输出 :

Counter Value  : 300
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