利用ffmpeg把视频分解成图片(每秒x张图)再图片合成视频

1. 视频分解成图片

复制代码
ffmpeg -i rawVideo.mp4 -r 5 -f image2 img/%04d.png

-i rawVideo.mp4 输入文件
-r 5 每秒5帧(1秒5张图)    可不写,默认每秒24帧
-f image2 表示输出的格式图像      可不写,默认图像
img/ 图片放在img文件夹下
%04d.png 图片的命名格式,例如0001.png 0001.png 0003.png

如何查看原视频的帧数:ffmpeg -i rawVideo.mp4
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 9779 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
其中30fps为每秒30帧

2. 图片合成视频(有字幕、无声音)

复制代码
ffmpeg -i img/%04d.png out.mp4
或者
ffmpeg -f image2 -i img/%04d.png -vcodec libx264 -r 5 out.mp4

-i img/%04d.mp4    输入文件(当前路径下的img文件夹,命名格式是%04d.png的图片)
out.mp4   输出视频文件
-f image2 表示输出的格式图像      可不写,默认图像
-vcodec libx264 指定编码格式
-r 5 指定每秒5帧

系统默认可能无法播放打开新视频,最好用PotPlayer软件播放
新视频与原视频对比:
新视频时长是原视频的1/5,原因是帧数从30fps改为5fps

如何做到视频有声呢

复制代码
提供思想:
a.提取原视频声音(只能提取到正常语速,不能通过改变帧数改变语速)
b.根据视频默认fps提取图片(否则声音与视频合成不对口)
c.利用图片合成无声视频
d.无声视频与原声音合成视频

参考博客:利用ffmpeg从视频中提取纯(音频、视频、字幕)再合成视频

相关推荐
赖small强9 小时前
【音视频开发】Linux UVC (USB Video Class) 驱动框架深度解析
linux·音视频·v4l2·uvc
赖small强9 小时前
【音视频开发】ISP流水线核心模块深度解析
音视频·isp·白平衡·亮度·luminance·gamma 校正·降噪处理
赖small强10 小时前
【音视频开发】Linux V4L2 (Video for Linux 2) 驱动框架深度解析白皮书
linux·音视频·v4l2·设备节点管理·视频缓冲队列·videobuf2
mortimer10 小时前
视频自动翻译里的“时空折叠”:简单实用的音画同步实践
python·ffmpeg·aigc
未央几许10 小时前
使用ffmpeg.wasm解码视频(avi,mpg等格式)问题
前端·ffmpeg
ACP广源盛1392462567313 小时前
GSV2712@ACP#2 进 1 出 HDMI 2.0/Type-C DisplayPort 1.4 混合切换器 + 嵌入式 MCU
单片机·嵌入式硬件·计算机外设·音视频
AI周红伟14 小时前
通义万相开源14B数字人Wan2.2-S2V!影视级音频驱动视频生成,助力专业内容创作
音视频
AI周红伟15 小时前
数字人视频生成:Wan2.2-S2V-14B: 音频驱动的电影视频生成
音视频
EasyCVR15 小时前
智能农业实践:视频融合平台EasyCVR的农业大棚可视化监控方案
音视频
赖small强17 小时前
【音视频开发】CMOS Sensor图像采集原理及Linux主控ISP处理流程
linux·音视频·cmos·isp·v4l2