ffmpeg(六):图片与视频互转命令

图像序列转视频(多张图片 ➜ 视频)

bash 复制代码
ffmpeg -framerate 25 -i image_%03d.jpg -c:v libx264 -pix_fmt yuv420p output.mp4

参数说明

  • image_%03d.jpg:文件名格式(如 image_001.jpg、image_002.jpg)。
  • -framerate 25:输入帧率(25fps)。
  • -c:v libx264:使用 H.264 编码。
  • -pix_fmt yuv420p:兼容大多数播放器。

补充选项

  • 指定起始编号:
bash 复制代码
ffmpeg -framerate 30 -start_number 100 -i frame_%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4

视频转图像序列(视频 ➜ 多张图片)

复制代码
ffmpeg -i input.mp4 image_%04d.png
  • 限制帧率(例如每秒提取一帧):
bash 复制代码
ffmpeg -i input.mp4 -vf fps=1 image_%03d.jpg
  • 只提取第一帧(封面图):
bash 复制代码
ffmpeg -i input.mp4 -frames:v 1 thumbnail.jpg

制作 GIF 动图(图像 ➜ GIF)

bash 复制代码
ffmpeg -framerate 10 -i frame_%03d.png output.gif
  • 优化色彩(避免颗粒感):
bash 复制代码
ffmpeg -i frame_%03d.png -filter_complex "[0:v] palettegen" palette.png
ffmpeg -i frame_%03d.png -i palette.png -filter_complex "[0:v][1:v] paletteuse" optimized.gif

GIF 转视频

bash 复制代码
ffmpeg -i input.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4

注意:有些编码器(如 libx264)要求分辨率为偶数,所以用了 scale=trunc(iw/2)*2:trunc(ih/2)*2

提取特定时间段的图片

bash 复制代码
ffmpeg -ss 00:01:00 -i input.mp4 -t 5 -vf fps=2 img_%03d.jpg

说明:

  • -ss 00:01:00:从第1分钟开始。
  • -t 5:持续5秒。
  • -vf fps=2:每秒提取2帧。
相关推荐
范纹杉想快点毕业1 小时前
12个月嵌入式进阶计划ZYNQ 系列芯片嵌入式与硬件系统知识学习全计划(基于国内视频资源)
c语言·arm开发·单片机·嵌入式硬件·学习·fpga开发·音视频
Hody915 小时前
【XR技术介绍】空间音频(Spatial Audio):原理是什么?如何让声音听起来像是从你身后传来的?
音视频·xr
jiushun_suanli6 小时前
AI生成音频:技术概述与实践指南
人工智能·经验分享·音视频
地狱为王6 小时前
Unity使用RVM实现实时人物视频抠像(无绿幕)
unity·游戏引擎·音视频
我科绝伦(Huanhuan Zhou)6 小时前
Oracle AWR管理与快照操作完整指南
数据库·oracle·ffmpeg
梵尔纳多6 小时前
ffmpeg 使用滤镜实现播放倍速
c++·qt·ffmpeg
音视频牛哥7 小时前
从云平台到系统内核:SmartMediakit如何重构实时视频系统
计算机视觉·音视频·gb28181对接·rtsp播放器rtmp播放器·smartmediakit·智能机器人低延迟播放方案·rtmp摄像头同屏推流
ACP广源盛1392462567318 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
花姐夫Jun19 小时前
基于Vue+Python+Orange Pi Zero3的完整视频监控方案
vue.js·python·音视频
HyperAI超神经1 天前
在线教程丨端侧TTS新SOTA!NeuTTS-Air基于0.5B模型实现3秒音频克隆
人工智能·深度学习·机器学习·音视频·tts·音频克隆·neutts-air