最近开发有一个小的需求,就是把批量的视频文件分别截图,百度一般推荐的是下载一个软件,然后进行处理.这样做 也有一些局现象不太灵活,而且不支持/处理不了那些只有链接的视频.....
所以,针对批量的话,我们建议使用 .bat批处理,
视频音频处理,一般采用的是ffmpeg技术,可处理
ffmpeg相关的,可参考:ffmpeg常用命令_大渔歌_的博客-CSDN博客
(当然,安装的方法我们暂时就不讲了,网上一大堆,而且很简单)
下面我们开始处理(其实也很简单,主要投放相关.bat 的代码内容):
1.ffmpeg截取图片的相关命令
ffmpeg -i 视频地址/视频链接 -y -f image2 -ss 开始时间点 -t 0.001 -s 图长*图宽 视频的名字
不得不说ffmpeg相当的厉害,不仅可以直接处理本地视频,而且还可以处理链接视频;
2. bat脚本内容如下
@echo off
setlocal enabledelayedexpansionrem filename 为你存放链接的文件名字,只需要改这个名字就好
set /p filename=请输入文件名,比如urls(不需要带.txt):rem startpoint 开始的时间点,
set /p startpoint=请输入开始的时间(格式 00:00:01):rem length 图片的宽
set /p length=请输入图片的宽:rem hight 图片的高
set /p hight=请输入图片的高:rem filepath为你存放链接的文件,一般为txt文件
set filepath=%filename%.txtrem errorfile为编译失败视频的存放文件,包含名字和链接
set errorfile=%filename%.error.txtecho %filepath%
echo %errorfile%
echo %startpoint%
echo %length%
echo %hight%for /F "eol=; tokens=1,2 delims=@" %%i in (%filepath%) do (echo --------------------------------------------------echo i=%%i, j=%%jrem 使用ffmpeg截取图片ffmpeg -i %%j -y -f image2 -ss %startpoint% -t 0.001 -s %length%*%hight% %%iecho ++++++++++++++++++++++++++if errorlevel 1 (echo 111111111111111 falseecho %%i >>%errorfile%echo %%j >>%errorfile%) else (echo 0000000000000 sucess)
)
pause
3.注意事项
我们把"视频截图后的名字@视频链接"作为相应的格式,整理所有的视频,然后写入urls.txt(eg:自行命名
57513-20220624.jpg@视频物理地址/视频链接地址
57514-20220624.jpg@视频物理地址/视频链接地址
57515-20220624.jpg@视频物理地址/视频链接地址
);
一定要保证该txt编码格式为ANSI, 也可以通过 文件-另存为-编码(ANSI) 来修改文件的编码格式;
该txt文件和 .bat文件放在同一文件夹下;
然后点击 .bat文件,会自动运行,然后根据提示选择文件名,选择开始时间点,设置图片宽高;
(当然也会有少数编译失败,对应的视频链接会存放在xxx.error.txt文件中)
4.总结
bat 批处理文件可结合ffmpeg处理好多的视频音频文件,可以自行设置相关的参数;