如何使用管道(ffmpeg + imagemagick)构建视频缩略图表?

4

如何在Windows上使用管道(ffmpeg + imagemagick)构建视频缩略图,而不使用临时文件?


5
我投票关闭此帖子,因为它实际上并不是一个问题。请注意,StackOverflow(像StackExchange网络中的所有网站一样)是一个“问答”网站,而不是分享你编写代码的网站。如果您将其重新表述为一个真正的问题(遵循所有适用的规则),并且可以由您自己回答,那么您可以使此帖子符合主题。 - aschipfl
1个回答

2

更新:

这里是我写的这篇文章的更新版本。


以下脚本会创建一个名为.\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"
 )
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接