鱼C论坛

 找回密码
 立即注册
查看: 1444|回复: 0

[学习笔记] 使用FFMPEG将视频转换为GIF动图

[复制链接]
发表于 2024-8-7 04:37:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
使用FFMPEG将视频转换为GIF动图


将视频转换为 GIF 动图是一个常见的任务,虽然有很多工具可以实现,但其实利用 FFMEPG 也就是一行命令的事情。


安装 FFMPEG

已经安装好的童鞋请跳过该步骤~

步骤一:下载 FFMPEG

  • 打开你的浏览器,访问 FFMPEG 的官方网站
  • 在 “Get packages & executable files” 部分,点击 “Windows”。
  • 你将被重定向到 FFMPEG Builds 的页面。在这里,选择 “Windows builds by BtbN” 或其他你喜欢的构建版本。
  • 在 “Release” 版本中,选择最新的稳定版本,并下载 “ffmpeg-release-essentials.zip” 文件。

步骤二:安装 FFMPEG

  • 解压缩后你会得到一个文件夹,例如 ffmpeg-2023-08-01-essentials_build,将该文件夹重命名为 ffmpeg(可选)。
  • 打开 “开始” 菜单,搜索并打开 “系统属性” 或 “高级系统设置”。
  • 在 “系统属性” 窗口中,点击 “环境变量” 按钮。
  • 在 “系统变量” 部分,找到并选中 “Path” 变量,然后点击 “编辑”。
  • 在 “编辑环境变量” 窗口中,点击 “新建”,然后输入 ffmpeg 文件夹中的 bin 子文件夹的路径。例如,如果你将 ffmpeg 文件夹放在 C:\Program Files 目录下,则输入:C:\Program Files\ffmpeg\bin
  • 点击 “确定” 关闭所有对话框。

步骤三:验证安装

  • 打开命令提示符(按 Win + R,输入 cmd,然后按回车)。
  • 在命令提示符窗口中,输入命令 ffmpeg -version 并按回车。
  • 如果看到 ffmpeg 的版本信息,说明安装成功。


视频转 GIF

真没骗你们,一行命令就搞定:

  1. ffmpeg -i input_video.mp4 output.gif
复制代码


优化 GIF

为了生成质量更高且大小适中的 GIF,你可以进行一些优化。

以下是一个更为复杂的命令,包含了优化步骤。


1. 提取视频片段(可选)

如果只想转换视频的一部分,可以使用 -ss 和 -t 参数指定起始时间和持续时间:

  1. ffmpeg -ss 00:00:10 -t 10 -i input_video.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" output.gif
复制代码


2. 生成调色板

生成调色板有助于提高 GIF 的颜色质量:

  1. ffmpeg -i input_video.mp4 -vf "fps=10,scale=320:-1:flags=lanczos,palettegen" palette.png
复制代码


3. 使用调色板生成 GIF

使用之前生成的调色板来创建最终的 GIF:

  1. ffmpeg -i input_video.mp4 -i palette.png -filter_complex "fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
复制代码


综合举例

以下是一个完整的示例脚本,它将视频转换为优化后的 GIF:

  1. # 第一步:生成调色板
  2. ffmpeg -i input_video.mp4 -vf "fps=10,scale=320:-1:flags=lanczos,palettegen" palette.png

  3. # 第二步:使用调色板创建 GIF
  4. ffmpeg -i input_video.mp4 -i palette.png -filter_complex "fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
复制代码

参数解释:

  • -i input_video.mp4:输入视频文件。
  • -ss 00:00:10:起始时间(可选)。
  • -t 10:持续时间(可选)。
  • -vf "fps=10,scale=320:-1:flags=lanczos":设置帧率为 10,缩放宽度为 320 像素,高度保持比例,使用 Lanczos 算法进行缩放。
  • palettegen:生成调色板。
  • paletteuse:使用调色板。


本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-30 01:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表