如何在 Windows 上使用管道(ffmpeg + imagemagick)构建视频缩略图表而不使用临时文件?
UPDATE:
Here https://superuser.com/questions/1123899/how-to-generate-preview-video-for-web-with-a-few-frames-using-ffmpeg是我写的这篇文章的更新版本。
下面的脚本创建一个名为的文件夹.\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"
)
)