编写批处理文件,调用ffmpeg抽帧

有需求如下:

一个文件目录下有多个视频,需要对每个视频进行抽帧,并保存到图片文件夹内;

需求分析:

对视频抽帧可以使用ffmpeg,遍历文件目录可以使用批处理;

功能实现:

编写批处理文件,遍历文件夹下所有视频文件,然后对每个视频调用ffmpeg抽帧;

  1. 遍历文件夹下所有mp4文件:使用for循环
set src_dir=J:\Download\post
for %%a in (%src_dir%\*.mp4) do (
 echo %%a
)
  1. 创建存放抽帧图片的文件夹
setlocal enableextensions enabledelayedexpansion
SET /A COUNT=1
 for .... do (
   SET /A COUNT+=1
   mkdir %src_dir%\!COUNT! 
)
endlocal

setlocal enabledelayedexpansion 是什么意思?

设置本地为延迟扩展。其实也就是:延迟变量,全称"延迟环境变量扩展",
在cmd执行命令前会对脚本进行预处理,其中有一个过程是变量识别过程,在这个过程中,如果有两个%括起来的如%value%类似这样的变量,就会对其进行识别,并且查找这个变量对应的值,再而将值替换掉这个变量,这个替换值的过程,就叫做变量扩展,然后再执行命令。

猜你喜欢

转载自blog.csdn.net/weixin_42551921/article/details/128961101
今日推荐