ffmpeg 多张图片转视频,视频转gif,截取视频,截取视频里的帧

月色下的独轮车

于 2017-06-20 17:32:01 发布

6250
收藏 3
文章标签: ffmpeg
版权

android学习笔记
专栏收录该内容
190 篇文章1 订阅
订阅专栏
ffmpeg 是一个强大的处理视频命令库。

百度百科:FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

总之我们可以使用ffmpeg来很方便的处理各种格式的视频或者图片。

我在工作中用到过以下命令:

1、多张图片合成mp4格式的视频
ffmpeg -f image2 -r 1 -i /storage/emulated/0/DCIM/dateme/vframe/yiba_frame_%02d.png -vcodec mpeg4 /storage/emulated/0/DCIM/dateme/video/yiba_v_1497949606343.mp4
1
注意:
1、-r 1必须放在-i 前面不然生成的视频时长会有问题。-r 1表示每秒1帧,这样我的6张图片生成的视频时间长度就是6s。
2、%02d表示我的文件名是01、02、03这样由两位整数组成的数字。具体每一个文件名就是yiba_frame_01.png,yiba_frame_02.png,yiba_frame_03.png。。。。。。
3、-vcodec mpeg4 表示使用mpeg4编码标准,因为我要输出mp4格式的文件,如果不加这个参数也会出错。(亲测)

以上命令亲测可用。

2、每隔一秒钟截取一帧图片
命令:

ffmpeg -i /storage/emulated/0/DCIM/dateme/video/yiba_v_1497949588158.mp4 -ss 00:00 -t 10 -r 1 -f image2 -vf fps=fps=1 /storage/emulated/0/DCIM/dateme/vframe/yiba_frame_%02d.png
1
提示:
1、-i 后面跟输入文件路径
2、-ss 后面跟开始截图的时间 -t 表示截取的视频长度为10s
3、-vf fps=fps=1 表示截图频率为每秒1帧(和-r 1的作用是一样的,所以可以去掉r 1)
4、-f image2表示输入或输出文件的格式是image2格式,f是format格式的意思

3、截取视频前3秒 并转化为gif
ffmpeg -ss 00:00:01 -t 3 -i /storage/emulated/0/DCIM/dateme/video/yiba_v_1497949777519.mp4 -vf crop=iw:ih*2/3 -s 320x240 -r 7 /storage/emulated/0/DCIM/dateme/gif/yiba_gif_1497949820078.gif
1
提示:

1、-ss 00:00:01表示从视频第一秒开始截取
2、- t 表示截图3秒钟的视频
3、-vf crop=iw:ih*2/3 表示截取视频的部分区域,其中宽为视频宽度,高为原视频的2/3
4、-r 7 表示每秒帧率为7帧
5、最后直接加上要生成的gif的路径就会把截取好的视频输出为gif了。

特别提示:
由于我对ffmpeg不了解,以上命令都是我在工作中摸索出来的,在我的项目里使用是没有问题的,大家可以作为参考,如果有说的不对的地方请留言告诉我哦,(^__^)

附上ffmpeg的一个文档,内容为英文。可以用来参考:

ffmpeg Documentation
https://ffmpeg.org/ffmpeg.html#Video-and-Audio-file-format-conversion
————————————————
版权声明:本文为CSDN博主「月色下的独轮车」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baidu_31093133/article/details/73504185

fmpeg 多张图片转视频,视频转gif,截取视频,截取视频里的帧的更多相关文章

  1. javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  2. 【小程序开放激励视频】--wepy小程序添加激励视频

    小程序开放激励视频是对小程序开发者一个福音,小程序开发者可以完成一些变现,以增加收入! 本文章针对已经有开发经验或者正在进行小程序开发的同学~ 官方文档:激励视频广告 定义页面变量,用于创建视频实例 ...

  3. ffmpeg截取一段视频中一段视频

    ffmpeg  -i ./plutopr.mp4 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 ./cutout1.mp4 -y -ss ti ...

  4. 阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效

    今天我们要说的 AV1 可不是我们平时说的 .AVI 文件格式,它是由AOM(Alliance for Open Media,开放媒体联盟)制定的一个开源.免版权费的视频编码格式,可以解决H.265昂 ...

  5. 工作记录--使用FFmpeg将一个视频文件中音频合成到另一个视频中

    由于工作需要,临时被老大吩咐去研究一个FFmpeg工具,通过linux命令行去将一个视频中的音频提取出来并合成到另一个视频中,最终的效果是要保证2个视频中的音频都在一个视频中播放. 但是本人对FFmp ...

  6. JS截取腾讯视频和去除视频广告

    一:腾讯视频截取 H5视频播放除了video标签以外,还有iframe嵌套视频 项目需求是用户输入腾讯视频的html链接,如 https://v.qq.com/x/page/y0116k2vspw.h ...

  7. 解决UEditor编辑时,只添加视频内容,不添加文字,视频信息不能保存到数据库的问题

    造成这个问题的原因是富文本保存内容时会筛除空标签,然后统计是否有内容,通过字数统计也可以看到,上传完视频后字数还是零,因为视频上传后是<video></video>标签,这个标 ...

  8. ffmpeg实现视频文件合并/截取预览视频/抽取音频/crop(裁剪)(ffmpeg4.2.2)

    一,ffmpeg的安装 请参见: https://www.cnblogs.com/architectforest/p/12807683.html 说明:刘宏缔的架构森林是一个专注架构的博客,地址:ht ...

  9. Python音视频开发:消除抖音短视频Logo的图形化工具实现

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解>节介绍了怎么通过Python+Moviepy+OpenCV实现 ...

  10. Python音视频开发:消除抖音短视频Logo和去电视台标

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 对于带Logo(如抖音Logo.电视台标)的视频,有三种方案进行Logo消除: 直接将对应区域用对应图像替换: 直接将对应区域模糊化: 通过变换将要 ...

随机推荐

  1. 4. Mybatis的增删改查(CRUD)

    1.新增 ‍ <!--int insertUser();--> <insert id="insertUser"> insert into t_user va ...

  2. ASIC加速技术在ASIC加速性能优化中的新应用与挑战

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 5. 优化与改进 1. 引言 随着计算机技术的发展,芯片的性能和面积都得到了极大的提升.为了进一步提高芯片的 ...

  3. .NET for Apache Spark 调试

    .NET for Apache Spark 调试 官方文档:在 Windows 上部署 .NET for Apache Spark 应用程序 | Microsoft Learn 打开"新命令 ...

  4. python3 使用位图排序

    代码 from bitmap import BitMap a=[1,5,3,4,7,8,15,6,9] print(a) bm=BitMap(max(a)) #print(dir(bm)) print ...

  5. Linux 命令:find/grep/sed/awk/du/df

    目录 find grep sed awk du/df find # find 属于全部匹配,如输入abc,不能查到abcd # find 默认采用递归搜索 # 按时间 find . -atime -1 ...

  6. Linux - vim文件编辑器

    vim 普通模式下 yy : 复制当前光标所在行 p : 粘贴 数字+yy :复制多行 dd :删除当前行 数字+dd :删除多行 u : 回滚 y$ : 光标到行结尾 y^ : 行开头到光标位置 y ...

  7. linux文本编辑YCM报错

    linux文本编辑YCM报错 刚从github安装了vimplus,可是发现存在不少的问题.索性给直接记录一下. The ycmd server SHUT DOWN (restart with ':Y ...

  8. 【pandas小技巧】--缺失值的列

    在实际应用中,数据集中经常会存在缺失值,也就是某些数据项的值并未填充或者填充不完整.缺失值的存在可能会对后续的数据分析和建模产生影响,因此需要进行处理. pandas提供了多种方法来处理缺失值,例如删 ...

  9. python实现在函数中捕获某个异常,然后将异常的具体信息写入error.txt文件中;

    在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确) 可以增加try来捕获异常 try这个关键字来捕获异常try:尝试执行的代码except:出现错误的处理 def func(): try: ...

  10. 【RocketMQ】MQ消息发送总结

    RocketMQ是通过DefaultMQProducer进行消息发送的,它实现了MQProducer接口,MQProducer接口中定义了消息发送的方法,方法主要分为三大类: send同步进行消息发送 ...