如何在Windows上使用管道(ffmpeg + imagemagick)构建视频缩略图,而不使用临时文件?
如何在Windows上使用管道(ffmpeg + imagemagick)构建视频缩略图,而不使用临时文件?
这里是我写的这篇文章的更新版本。
以下脚本会创建一个名为.\thumbnails
的文件夹,并将所有视频缩略图存储在其中,与视频文件具有相同的名称。
完全可配置!不使用临时文件!(使用管道!)
需要:ffmpeg和imagemagick。
set impath=C:\programs\imagemagick
set folder=C:\My videos
set frame=320x180
set tile=10x1
set vframes=10
set fps=1/20
REM 1/60 -> 1 shot every 60s
set filesize=300
REM max file size in Kb
set filetypes=*.mp4
pushd "%folder%"
if not exist thumbnails md thumbnails
for /f "usebackq delims=" %%f in (`dir /b %filetypes%`) do (
if not exist "thumbnails\%%~nf.jpg" (
ffmpeg.exe -threads 2 -y -i "%%f" -an -qscale:v 1 -vf fps=%fps% -vframes %vframes% -f image2pipe -vcodec ppm - ^
| %impath%\convert - -resize %frame% -background transparent -gravity center -extent %frame% -sharpen 1x2 -quality 100%% miff:- ^
| %impath%\montage - -tile %tile% -geometry %frame% -background black -quality 100%% -define jpeg:extent=%filesize%kb "thumbnails\%%~nf.jpg"
)
)