ffmpeg使用(多个帧合成视频)

帧生成视频命令:

ffmpeg -threads 2 -y -r 24 -i %05d.jpg output.mp4

 视频成帧命令(按帧生成图片):

ffmpeg -i checkpoints_dstt_car-turn_result.mp4 chaifen/%06d.png

1、下载ffmpeg安装包

https://github.com/BtbN/FFmpeg-Builds/releases

解压文件,进入bin目录,能看到ffmpeg.exe、ffplay.exe、ffprobe.exe三个文件。不用管它,进行下一步。

2、设置环境变量

点击“系统属性->高级系统设置->环境变量->用户变量”,选择“Path”条目,点击“编辑->新建”,把第一步的bin文件夹路径复制粘贴进去,然后点击确定即可。

我们打开cmd命令行窗口,输入命令“ffmpeg –version”。窗口返回ffmpeg的版本信息,说明安装成功。接下来你就可以直接使用命令行执行ffmpeg命令进行各种媒体格式的转换了。


3、ffmpeg的使用

首先要计算出视频的总帧数:

总帧数 = duration * fps 。

duration是我们设定的视频的长度,fps是视频每秒的帧数。

第二步将所有的图片文件放到一个临时目录,并且制定一个命名规则(可正则的):
例如图片的素材是image0.jpg image1.jpg image2.jpg

然后可以执行命令合成视频了:(简单版)

ffmpeg -threads 2 -y -r 24 -i %05d.jpg output.mp4

带音频:

ffmpeg -threads 2 -y -r 10 -i /tmpdir/image%04d.jpg -i audio.mp3 -absf aac_adtstoasc output.mp4

参数的解释含义:

  • -threads 2 以两个线程进行运行, 加快处理的速度。
  • -y 对输出文件进行覆盖
  • -r 10 fps设置为10帧/秒(不同位置有不同含义,后面再解释)
  • -i /tmpdir/image%04d.jpg 输入图片文件,图片文件保存为 image0001.jpg image0002.jpg ….
  • -i audio.mp3 输入的音频文件
  • -absf aac_adtstoasc 将结果的音频格式转为faac格式时需要这个选项。将音频格式转为faac是因为在iphone上某些音频格式的视频无法播放,例如mp3. 但faac格式的音频的视频在iphone上可以播放。-absf 的意思是设置一个bitstream filter进行某些转换。可以用ffmpeg -bsfs 查看所有支持的bitstream filter。 bitstream filter和 aac_adtstoasc的具体含义我也说不上。但是如果不用这个选项又会导致转换失败。

不带音频:

ffmpeg -loop 1 -f image2 -i /tmpdir/image%04d.jpg -vcodec libx264 -r 10 -t 10 test.mp4
  • -loop 1循环读输入 0读完就不读了
  • -vcode 编码格式libx264
  • -b 指定200k码率
  • -t 输出视频总时长:

这样运行命令就可以生成视频了;

FFmpeg 命令行 视频拆分图片_一名C/C++技术咨询顾问的技术博客_51CTO博客

ffmpeg详细安装教程,亲测有效! - 知乎

视频分帧&多帧合成视频_放下扳手&拿起键盘的博客-CSDN博客_多帧合成视频

猜你喜欢

转载自blog.csdn.net/weixin_43135178/article/details/123854233