python 调用ffmpeg 命令行对视频进行图片分解

ffmpeg分解视频成图片序列

ffmpeg 命令

ffmpeg -i /data/video_1.mp4 -f image2  -vf fps=fps=1/60 -qscale:v 2 /data/mp4-%05d.jpg

视频集批量操作

import subprocess
import os

#ffmpeg -i /data/video_1.mp4 -f image2  -vf fps=fps=1/60 -qscale:v 2 /data/mp4-%05d.jpg
#该函数实现将视频集视频进行分解成图像序列,并放在一个文件夹里面
def videoFileName(videoDir,framesDir,ffmpegCmd):
    videoFiles=os.listdir(videoDir)
    for video in videoFiles:
        sinVideoDir=os.path.join(videoDir,video)
        if (sinVideoDir.endswith(".avi")):
            videoName=os.path.basename(sinVideoDir)
            videoBaseName=videoName.rsplit('.')
            curVideoFrameOut=framesDir+videoBaseName[0]+"_%04d.jpg"

            video2framesCmd = ffmpegCmd + " -i " + sinVideoDir + " -f image2 -vf fps=fps=30 -qscale:v 2 " +curVideoFrameOut
            subprocess.call(video2framesCmd, shell=True)

if __name__ == "__main__":
    ffmpegCmd = "D://ffmpeg//ffmpeg-4.2.1-win64-static//bin//ffmpeg.exe"  #ffmpeg 路径
    frameDir = "E://ImageTest//videoTest//"  #存放图像序列路径
    videoDir="E://downloads//drumsVideos//"     #存放视频路径
    videoFileName(videoDir,frameDir,ffmpegCmd)

 

你可能感兴趣的:(python,ffmpeg,视频处理)