【问题标题】:Generate fixed time, fixed frame count, webp animated preview with ffmpeg使用ffmpeg生成固定时间、固定帧数、webp动画预览
【发布时间】:2020-10-28 12:39:27
【问题描述】:

我有一个看似非常简单的用例,我无法从散布在互联网上的说明或 ffmpeg 手册中找到重现的方法。

基本上我希望将任意 webm 视频转换为视频的 4 帧 [0, 1/4 1/2 3/4 1]ths。

ffmpeg -i video.webm -vf fps=1/$(echo 'scale=6;' $(ffprobe -loglevel quiet -of 'compact=nokey=1:print_section=0' -show_format_entry duration /video.webm) ' / 4' | bc)  thumbnail-%d.png

然后我希望这些帧生成一个 webp 文件,该文件以每秒 1 帧的速度无限循环通过每一帧。

img2webp -loop 0 -d 1000 -o d.webp thumbnail-*

什么是单执行ffmpeg命令等效?

【问题讨论】:

    标签: ffmpeg webp


    【解决方案1】:

    使用

    ffmpeg -i video.webm -vf "select='if(eq(n\,0),1,lt(mod(t\,$D/4)\,1)*gte(t-prev_selected_t\,1))',setpts=N/TB,fps=1" -c:v libwebp_anim -loop 0 d.webp

    其中 $D 是从 ffprobe 获得的媒体持续时间。

    【讨论】:

    • 谢谢吉安。结果不一样,不仅不循环。它也只显示了 3 帧,而第 3 帧看起来已损坏。你能确认持续时间以秒为单位吗?也许我犯了一个错误。即便如此,至少现在我有某种形式的动画。
    • 输出在浏览器(FF 82,Chrome 86)中按预期使用循环。确保您使用的是 ffmpeg 的当前 git 版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2020-09-25
    • 2014-06-12
    相关资源
    最近更新 更多