1、加字幕

命令:ffmpeg -i <input> -filter_complex subtitles=filename=<SubtitleName>-y <output>

说明:利用libass来为视频嵌入字幕,字幕是直接嵌入到视频里的硬字幕。

參考资料:http://ffmpeg.org/ffmpeg-filters.html#subtitles-1

2、剪切

命令:ffmpeg -i <input>-ss 0 -t 10 -y <output>

说明:ss跟的是起始时间,t为持续时间。上面命令意思为从0秒開始截取10秒的时间。

參考资料:http://ffmpeg.org/ffmpeg.html

3、缩放

命令: ffmpeg -i<output> -filter_complex scale=320:240  -y <output>

说明:scale參数为宽高。

4、剪裁

命令:ffmpeg -i <input>-filter_complex crop=320:240:0:0 -y <output>

说明:当中的 crop=320:240:0:0为裁剪參数,详细含义是 crop=width:height:x:y,当中 width 和 height 表示裁剪后的尺寸,x:y 表示裁剪区域的左上角坐标。

5、加水印

命令:ffmpeg -i src.avi -vf "movie=<LogoName>[logo];[in][logo]overlay=100:100[out]"-y <output>

说明:LogoName为图片名,overlay=100:100意义为overlay=x:y,在(x,y)坐标处開始加入水印。

左上角:overlay=10:10

右上角:overlay=main_w-overlay_w-10:10

左下角:overlay=10:main_h-overlay_h-10

右下角:overlay=main_w-overlay_w-10:main_h-overlay_h-10

6、拼接视频

第一种命令:

第一步:ffmpeg  -i INPUT -fmpeg  OUTPUT

第二步:copy /b INPUT+INPUT OUTPUT

第三步:ffmpeg -i INPUT -f FORMAT OUTPUT

说明:第一步把输入文件转为同样格式,第二步利用copy命令把文件合并,第三步把合并文件转为终于结果视频。

例:把名为test.avi、test1_2.mp4 两个视频合并为resu.avi。

第一步:ffmpeg -itest1.avi test1.mpg

ffmpeg-i test1_2.mp4 test2.mpg

第二步:copy /btest1.mpg+test2.mpg resu.mpge

第三步:ffmpeg -iresu.mpge -y resu.avi

另外一种命令:

ffmpeg -i 1.mov -i 2.wmv -filter_complex "[0:0] [0:1] [1:0] [1:1]  concat=n=2:v=1:a=1 [v] [a]" -map [v] -map [a] output.mp4

7、旋转

命令: ffmpeg -i <input> -filter_complex transpose=X -y <output>

说明:transpose=1为顺时针旋转90°,transpose=2逆时针旋转90°。

8、镜像

上下镜像

命令:

ffmpeg -i src.avi -vf "split[mian][tmp];[tmp]crop=iw:ih/2:0:0,vflip[flip];[mian][flip]overlay=0:H/2"-y GHO.avi

说明:从命令中能够看出crop和vflip在一条流水线上,他们的处理流程例如以下图所看到的:

能够利用此filter来做上下颠倒,命令例如以下: ffmpeg-i src.avi -vf "split [main][tmp

]; [tmp] crop=iw:ih:0:0, vflip [flip];[main][flip] overlay=0:0" GHO2.avi处理效果和命令ffmpeg -isrc.avi -vf vflip GHO_v_1.avi一样,这样写仅仅是为了更好的理解filter处理链。

左右镜像

命令: ffmpeg -i src.avi-vf "split [main][tmp]; [tmp] crop=iw/2:ih:0:0, hflip [flip]; [main][flip]overlay=W/2:0" GHO_H.avi

说明:流程和上下镜像一样,仅仅是把坐标换了。而且指定用名为hfilp的filter。

能够利用此filter来做左右颠倒,命令例如以下: ffmpeg-i src.avi -vf "split [main][tmp

]; [tmp] crop=iw:ih:0:0, hflip [flip];[main][flip] overlay=W:0" GHO_H_1.avi和命令ffmpeg -i src.avi-vf hflip GHO_H_1.avi一样的效果,这样写仅仅是为了更好的理解filter处理链。

小结:split过滤器把输入分裂为2路输出crop过滤器为翻转选取图像范围,vflip和hflip过滤器把crop切下的图像翻转(垂直、水平),overlay过滤器指定坐标来贴经过翻转处理的图像。

9、加黑边

命令: ffmpeg -isrc.avi -vf pad=1280:800:0:40:black -y test_pad.avi

说明:pad=width:high:x:y:coler。这里的宽和高指的是结果视频尺寸(包括加黑边的尺寸)。XY指的是源视频加入到结果视频所在位置,coler为填充颜色。

10、调音量

命令:ffmpeg -i<input> -vol X <output>

说明:不解释

ffmpeg一些filter使用方法、以及一些功能命令的更多相关文章

  1. ffmpeg一些filter用法、以及一些功能命令

    来源:http://blog.csdn.net/dancing_night/article/details/46776903 1.加字幕 命令:ffmpeg -i <input> -fil ...

  2. FFmpeg 'scale' filter not present, cannot convert pixel formats.

    /*************************************************************************** * FFmpeg 'scale' filter ...

  3. js--数组的filter()过滤方法的使用

    前言 你还在通过for循环遍历数组吗?你还在遍历之后一项一项的通过if判断过滤你需要的数据吗?你还在写着一大堆代码实现一个简单的过滤数据功能吗?那么,今天他来了.他就是这里要介绍的es6中数组filt ...

  4. 写一个方法完成如下功能,判断从文本框textbox1输入的一个字符,如果是数字则求该数字的阶乘,如果是小写字条,则转换为大写,大写字符不变,结果在文本框textbox2中显示

    窗体设计: 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

  5. 转: FFmpeg功能命令汇总

    原文: FFmpeg功能命令汇总 前言 如此强大的FFmpeg,能够实现视频采集.视频格式转化.视频截图.视频添加水印.视频切片.视频录制.视频推流.更改音视频参数功能等.通过终端命令如何实现这些功能 ...

  6. ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解

    转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解   ArcGIS Engine中总调用IFeatureCla ...

  7. jquery-7 jquery中的文档处理方法有哪些(方法的参数表示功能增强)

    jquery-7 jquery中的文档处理方法有哪些(方法的参数表示功能增强) 一.总结 一句话总结:多看参考文档,多看主干目录.一般的功能分两个方法来实现,一个对应标签,一个对应标签和事情,比如克隆 ...

  8. Spring实战(十)Spring AOP应用——为方法引入新功能、为对象引入新方法

    切面最基本的元素是通知和切点,切点用于准确定位应该在什么地方应用切面的通知. 1.Spring借助AspectJ的切点表达式语言来定义Spring切面 在Spring中,要使用AspectJ的切点表达 ...

  9. 删除在wireshark中保存的filter的方法

    现在想删除下图的filter,方法是:Edit->preferences->Filter Expressions

随机推荐

  1. python - 数据驱动测试 - ddt

    # -*- coding:utf-8 -*- ''' @project: jiaxy @author: Jimmy @file: study_ddt.py @ide: PyCharm Communit ...

  2. python week08 并发编程之多进程--理论部分

    一 什么是进程 进程:正在进行的一个过程或者说一个任务.       而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): Jame在一个时间段内有很多任务要做:python学习任 ...

  3. learn资料

    老陈的CSDN博客: http://blog.csdn.net/qq_35587839 1.memcache 和 memcached的区别:http://www.phpweblog.net/fuyon ...

  4. iOS学习笔记40-日志重定向

    一.日志重定向 我们在iOS开发过程中,我们时常会使用NSLog打印到控制台的日志信息进行代码调试,但这样调试的前提是连接上Xcode.如果进行真机调试但同时又不能连接Xcode的时候,就不能直接在x ...

  5. NOI2017 [NOI2017]游戏 【2-sat】

    题目 题目背景 狂野飙车是小 L 最喜欢的游戏.与其他业余玩家不同的是,小 L 在玩游戏之余,还精于研究游戏的设计,因此他有着与众不同的游戏策略. 题目描述 小 L 计划进行nn 场游戏,每场游戏使用 ...

  6. websphere启用高速缓存导致问题

    环境:websphere 7 一个流程主页,里面include了上面这个页面,内部有一个iframe: 现象:项目发布在测试环境中,打开流程主页时,里面iframe内页显示不出来: 同样的jsp页面, ...

  7. charles 抓包工具破解方法

    在线破解地址: https://www.zzzmode.com/mytools/charles/ 之后将下载的jar包替换  charles.app ->右键显示包内容 ->content ...

  8. 数据库操作之—— explain 的type解释

    (1)SYSTEM (2)CONST (3)EQ_REF (4)REF (5)REF_OR_NULL (6)RANGE (7)INDEX_SCAN (8)ALL (9)UNIQUE_SUBQUERY ...

  9. C#.net制作验证码(英文与数字组成的4位随机数),以及MD5值的使用

    原文发布时间为:2008-09-22 -- 来源于本人的百度文章 [由搬家工具导入] 参考资料:http://www.cnblogs.com/gwazy/articles/139510.html 三个 ...

  10. window下golang使用gRPC入门案例&net core客户端

    gRPC是google开源高性能分布式RPC框架,支持http/2 双向数据流传输及Protobuff,可以在任何环境下运行. 它可以有效地将数据中心内和跨数据中心的服务与可插拔支持进行负载均衡,跟踪 ...