'22/09/03更新:動画編集の進捗状況をprint出力によりわかるようにしました。また、完了後に、処理に要した時間をprint出力するコードも追記しました。  本記事では、表題の雛形コードを載せました。FPS (Frame Per Second)で速度調整します。一枚あたりのフレーム数の意味で、値が大きい程速くなります。実施例は下記リンクです。 
VIDEO www.youtube.com 
■本プログラム 
import  os
import  cv2
import  time
def  movie2movie_fps_scale_func (input_file, out_file, fps_scale):
    
    
    video = cv2.VideoCapture(input_file)
    fps = int (video.get(cv2.CAP_PROP_FPS))
    width = int (video.get(cv2.CAP_PROP_FRAME_WIDTH))
    height = int (video.get(cv2.CAP_PROP_FRAME_HEIGHT))
    num_of_frame = int (video.get(cv2.CAP_PROP_FRAME_COUNT))
    
    
    frame_rate = int (fps * fps_scale)
    print ('frame_rate -> ' , frame_rate)
    writer = cv2.VideoWriter(out_file,
                             cv2.VideoWriter_fourcc('m' , 'p' , '4' , 'v' ),
                             frame_rate,
                             (width, height),
                             True )
    
    for  i in  range (num_of_frame):
        ret, frame = video.read()
        if  i % 100  == 0 :
            print (i, '/' , num_of_frame)
        
        writer.write(frame)
    
    
    video.release()
    writer.release()
    
if  __name__ == '__main__' :
    
    start_time = time.time()
    
    
    input_video = 'IMG_5424.mp4' 
    
    fps_scale = 20 
    
    base_name = os.path.splitext(os.path.basename(input_video))[0 ]
    out_video = base_name + '_fps'  + str (fps_scale) + 'times.mp4' 
    
    movie2movie_fps_scale_func(input_video, out_video, fps_scale)
    
    
    processing_time = time.time() - start_time
    
    print ('processing_time -> ' , processing_time / 60 , 'min' )
    print ("finished" ) 
ちなみに、タートルグラフィックスを使う例は下記リンク先を参照下さい。 
hk29.hatenablog.jp 
倍速再生動画はこちらもどうぞ 
VIDEO www.youtube.com 
以上
<広告>
リンク
 
リンク