iPhone相册有个“为你推荐”功能,它会挑选一些照片形成一个主题,点击后可以像视频一样播放。那么,怎样才能把多张照片转成一个视频文件呢?

使用FFmpeg可以这么来做:

ffmpeg -f image2 -framerate 0.5 -i D:\MTest\IMG%02d.jpg -s 720x480 -r 15 D:\MTest\outimgs.mp4

首先,你要把源图片放在同一个文件夹里,并且通过文件名来控制各张图片在视频中出现的先后次序。文件名必须统一格式,形如IMG%02d.jpg。具体而言,就是:IMG01.jpg,IMG02.jpg,……IMG99.jpg。数字小的先于数字大的。文件名的前半部分不重要,保持相同即可,关键是后半部分的数字必须采用相同格式,并且是连续的。

上面这条FFmpeg命令行的意思是:将D:\MTest文件夹下面的所有IMGxx.jpg文件,制作成一个视频文件outimgs.mp4,每张图片显示2秒钟(折算成帧率为0.5fps,表示为-framerate 0.5),图片缩放为统一的尺寸720x480,并且目标视频文件的帧率为15fps。

问题来了:怎样在图片切换的时候加入转场效果呢?

有个“笨办法”,大致思路是:先将单张图片生成一个临时的视频文件,然后在视频的头尾分别加上淡入、淡出效果;等所有图片都这样生成对应的视频文件之后,再将各段视频文件依次连接,合并成一个大文件。下面我们来看一下具体步骤。

先对第一张图片这么处理:

ffmpeg -f image2 -framerate 0.33 -i D:\MTest\IMG01.jpg  -s 720x480 -r 15 -y D:\MTest\tmp.mp4

ffmpeg -i D:\MTest\tmp.mp4 -vf fade=t=in:st=0:d=1,fade=t=out:st=2:d=1 D:\MTest\outimg1.mp4

意思是:先将IMG01.jpg生成一个3秒长度的视频文件tmp.mp4,然后对这个视频文件加fade滤镜处理,即在0~1秒这一段加入淡入效果(t=in),在2~3秒这一段加上淡出效果(t=out),最终生成视频文件outimg1.mp4。

假设我们总共有三张图片。其他两张图片的处理方法类似,如下:

ffmpeg -f image2 -framerate 0.33 -i D:\MTest\IMG02.jpg  -s 720x480 -r 15 -y D:\MTest\tmp.mp4

ffmpeg -i D:\MTest\tmp.mp4 -vf fade=t=in:st=0:d=1,fade=t=out:st=2:d=1 D:\MTest\outimg2.mp4

ffmpeg -f image2 -framerate 0.33 -i D:\MTest\IMG03.jpg  -s 720x480 -r 15 -y D:\MTest\tmp.mp4

ffmpeg -i D:\MTest\tmp.mp4 -vf fade=t=in:st=0:d=1,fade=t=out:st=2:d=1 D:\MTest\outimg3.mp4

最后,将outimg1.mp4、outimg2.mp4和outimg3.mp4合并成一个视频文件即可,命令行如下:

ffmpeg -i D:\MTest\outimg1.mp4 -i D:\MTest\outimg2.mp4 -i D:\MTest\outimg3.mp4 -filter_complex "[0:0][1:0][2:0]concat=n=3:v=1:a=0" D:\MTest\outimg_all.mp4

这里使用了concat滤镜,前面的参数指定了三个视频文件的视频流作为输入,后面的参数:n表示总共有3段视频参与连接,v表示输出的视频流数量,a表示输出的音频流数量。

大功告成。赶紧播放一下outimg_all.mp4看看效果吧!

FFmpeg滤镜:制作图片视频流相关推荐

  1. FFmpeg滤镜:制作图片视频流(续)

    一年前写过一篇文章,讲的是用FFmpeg制作图片视频流,大致的思路是:先将单张图片转成一个3秒的视频文件,再在视频的首尾分别加上淡入.淡出效果:每张图片都这么处理后,再把所有小视频文件连接.合并成一个 ...

  2. css背景图片高斯模糊_CSS3 filter(滤镜) 制作图片高斯模糊无需JS

    本帖最后由 fengrui99 于 2019-7-8 11:20 编辑 这是一个寂寞的工作日,因为没有女盆友所以很寂寞,因为很寂寞所以来写教程.希望再看教程的你也是单身!啊,知道你是单身枫瑞贼开心!爽 ...

  3. html做图片模糊效果,CSS3 filter(滤镜) 制作图片高斯模糊无需JS

    CSS3 filter(滤镜) 制作图片高斯模糊无需JS 这是一个寂寞的工作日,因为没有女盆友所以很寂寞,因为很寂寞所以来写教程.希望再看教程的你也是单身!啊,知道你是单身枫瑞贼开心!爽的一B!!!起 ...

  4. ps实例二:使用高斯滤镜制作图片阴影效果?

    实例二:使用高斯滤镜制作图片阴影效果 1.ctrl+单击图层,选中图片选区: 2.在该图层下面,新建一图层: 3.填充灰色:alt+delete(如果快捷键不行,就用油漆桶填充也行) 4.ctrl+D ...

  5. FFmpeg滤镜:制作图片视频流(续2)

    前几日登录CSDN,发现有100多条私信.哎哟喂,确实很久没来这里了-其中有一条是这样的: 点开链接看了新娘,哦,不,看了示例视频,其实就是一个Zoom-out效果.既然有人诚心诚意地发问,那我就大发 ...

  6. ffmpeg delogo滤镜去除图片水印

    之前本人写过ffmpeg movie滤镜添加图片水印,ffmpeg 非movie滤镜添加图片水印 今天用delogo滤镜去掉图片水印,ffmpeg命令行如下: ffmpeg -i in-compute ...

  7. PS置换滤镜制作逼真水面倒影的风景图片

    PS置换滤镜制作逼真水面倒影的风景图片 用PS置换滤镜制作水面倒影的风景图片大致有三个大的步骤:首先需要用滤镜及变形工具做出水纹效果,并单独保持为PSD文件.然后给素材图片制作倒影,不规则的图片需要分 ...

  8. 视频特效-使用ffmpeg滤镜

    视频特效-使用ffmpeg滤镜 前言 ffmpeg的滤镜分为简单滤镜和复杂滤镜. 复杂滤镜存在多个输入和多个输出如图: 在命令行中可以通过 -filter_complex 或 -lavfi 来使用. ...

  9. ffplay使用ffmpeg滤镜实现倍速播放

    第一章 自定义播放器接口 第二章 倍速播放(本章) ______第一节 sonic实现倍速播放 ______第二节 soundtouch实现倍速播放 ______第三节 ffmpeg滤镜实现倍速播放( ...

最新文章

  1. echart 圆饼图 显示单位_玩转ECharts之实现“1/2圆的玫瑰图”
  2. 蛤玮打扫教室(区间覆盖)
  3. mac sudo免密码
  4. 阿里云部署SSL证书
  5. 感悟----程序员需要养成的习惯
  6. [数据库]oracle导出数据库
  7. 管理感悟:技术好的人都有点工作狂
  8. 关于nagios监控系统添加主机和服务脚本
  9. 1.什么是NoSql数据库?
  10. lottie动画android,Lottie动画简介
  11. STM32硬件剖析(STM32F407 定时器功能引脚分配)
  12. 中控考勤机Java二次开发(附Demo)
  13. 最高20天年假,入职即带股票!2021微软校园招聘 | 空中宣讲会倒计时!
  14. 如何利用 Python 批量合并 Excel?
  15. u盘数据恢复,教你轻松搞定!
  16. 沉降观测曲线图 沉降观测汇总_沉降观测曲线图都有哪些
  17. 学计算机课业压力,关于学习负担、学业负担及课业负担的一段解释
  18. 冠名教授|香港科大周晓方教授获颁潘乐陶工程学教授席
  19. PS Suite Studio 初探
  20. set和setenv的区别

热门文章

  1. 利用tsne可视化结果,点击出现对应的句子
  2. 关键链—突破项目管理的瓶颈_哪些数据将成为区块链系统的关键数据?
  3. 矩阵 倒置 和 点积
  4. android点击打开drawer,android – 如何检测到DrawerLayout开始打开?
  5. MATLAB—医学图像读取(1)
  6. 修改windows功能要开启哪个服务器,WIN7里的“打开或关闭Windows功能”无法修改,怎么回事?...
  7. 为什么使用代理IP后导致网速变慢?
  8. win7家庭版升级到旗舰版实例
  9. python super
  10. xserver服务端口号_服务器怎么开通端口号