【FFmpeg】视频与图片互相转换 ( 视频与 JPG 静态图片互相转换 | 视频与 GIF 动态图片互相转换 )

文章目录

一、视频与 JPG 静态图片互相转换


1、视频转静态图片

执行

cpp 复制代码
ffmpeg -i input.mp4 -y -f image2 -ss 00:00:02 -vframes 1 -s 848x480 output.jpg

命令 , 将 输入文件 input.mp4 中的 第 2 秒 开始的 1 帧数据 转为一张 848x480 像素的图片 , 输出到 output.jpg 文件中 ;

上述命令解析 :

cpp 复制代码
ffmpeg -i input.mp4 -y -f image2 -ss 00:00:02 -vframes 1 -s 848x480 output.jpg
  • -i input.mp4 : 指定输入文件为 input.mp4 , -i 参数用于设置输入文件 ;

  • -y : 设置 如果输出文件已存在 , 直接覆盖 , 如果不设置该选项 , 会中断执行 , 询问用户是否覆盖 , 用户需要输入 y , 然后 回车 覆盖已存在的文件 ;

  • -f image2 : 设置 输出格式 为 图像序列 ;

  • -ss 00:00:02 : 设置从视频的哪个时间点开始截取图片 , 这里设置的是在第 2 秒开始处截取图片 ;

  • -vframes 1 : 设置只提取 1 帧图像 , 也就是 第 2 秒后的 第一帧图像 ;

  • -s 848x480 : 设置输出图片的大小为 848x480 像素 ;

2、视频转多张静态图片

执行

cpp 复制代码
ffmpeg -i input.mp4 -y -f image2 -ss 00:00:02 -t 00:00:02 -r 15 -s 848x480 output%03d.jpg

命令 , 将 输入文件 input.mp4 中的 第 2 秒 开始的 2 秒数据 的 图像帧 对应的 图像序列输出出来 , 并且指定 帧率为 15FPS , 也就是 1 秒输出 15 帧 , 总共输出 30 张图片 ;

命令参数解析 :

  • -i input.mp4 : 指定输入文件为 input.mp4 , -i 参数用于设置输入文件 ;

  • -y : 设置 如果输出文件已存在 , 直接覆盖 , 如果不设置该选项 , 会中断执行 , 询问用户是否覆盖 , 用户需要输入 y , 然后 回车 覆盖已存在的文件 ;

  • -f image2 : 设置 输出格式 为 图像序列 ;

  • -ss 00:00:02 : 设置从视频的哪个时间点开始截取图片 , 这里设置的是在第 2 秒开始处截取图片 ;

  • -t 00:00:02 : 指定提取图像的时间长度为 2 秒 , 即从 -ss 指定的 00:00:02 时间点开始 , 截取 2 秒的连续图像 ;

  • -r 15 : 设置提取图像的帧率为 15 FPS , 截取 2 秒图像就是 30 张图像 ;

  • -s 848x480 : 设置输出图片的大小为 848x480 像素 ;

  • output%03d.jpg : 指定输出文件的命名模式 , %03d 是一个占位符 , 表示输出的图片文件名将包含一个三位的序号 , 从 001 开始计数 , 直到 999 ;

3、多张静态图片转视频

执行

cpp 复制代码
ffmpeg -f image2 -i output%03d.jpg -r 15 video.mp4

命令 , 将上一个章节生成的 30 张图像 生成一个新的视频 , 设置 帧率为 15FPS , 说明会生成一个 2 秒的视频 ;

二、视频与 GIF 动态图片互相转换


1、视频转成 GIF 动态图片

执行

cpp 复制代码
ffmpeg -i input.mp4 -ss 00:00:02 -t 00:00:05 -r 5 -s 848x480 output.gif

命令 , 将 视频 的 第 2 ~ 7 秒图像转为了 GIF 动态图片 , 每秒有 5 帧图像数据 ;

转换后的图像如下 :

2、 GIF 动态图片转成视频

执行

cpp 复制代码
ffmpeg -f gif -i output.gif video.mp4

命令 , 将 output.gif 动态图片转为 mp4 视频 ;

相关推荐
深圳市宝华视联15 小时前
医院内网部署手术示教系统注意事项
嵌入式硬件·实时互动·音视频·实时音视频·视频编解码·嵌入式实时数据库
小柯南敲键盘15 小时前
跨境电商图片翻译工具,批量处理视频字幕与抠图
人工智能·python·音视频
weixin_4334176716 小时前
阿里视频大模型wan2.7‑t2v,可以生成视频
人工智能·python·音视频
三声三视16 小时前
Excel 转 Markdown 报 A 级,日期却是一串 46209
格式转换·开发者工具·tri-xlsx2md·单元格覆盖率
阿童木写作18 小时前
跨境电商图片翻译工具,批量翻译视频字幕还免费
python·音视频
stuartevil19 小时前
AI图生视频常见坑:参考图风格不一致怎么解决
人工智能·深度学习·音视频
贾宝玉的玉宝贾20 小时前
FreeSWITCH 简单图形化界面 63 - 编写 mod_avsource 模块,将 RTSP/RTMP 源桥接为视频通道
音视频·voip·freeswitch·ippbx·pbx·sip通信
Blockchina21 小时前
5个开源AI视频项目怎么选?从脚本、分镜到Shorts和剪映自动化
人工智能·开源·音视频
要开心吖ZSH21 小时前
腾讯 IM × TRTC 联动实战:后端如何撑起一次视频问诊(混流录制篇)
java·音视频·腾讯云·健康医疗·即时通讯·im
jike_20261 天前
iPhone采访录音同时拍现场照片的APP:图片音频同步记录实测
笔记·智能手机·音视频·语音识别