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. 用javascript写计算器

    本人新手,如果有什么不足的地方,希望可以得到指点 今天尝试用javascript写一个计算器 首先把计算器的按钮做出来,用button做好了,这样可以不用设置太多的样式 <button valu ...

  2. 九度oj 题目1416:猴子吃坚果

    题目描述: 动物园的猴子吃坚果的顺序都是按强壮程度来定的,最强壮的吃完才能轮到下一个,现在我们给出各个猴子的名字,强壮程度,吃饱的量,然后查询对应的猴子必须要扔多少坚果才可以轮到. 输入: 输入有多组 ...

  3. 【bzoj2795】[Poi2012]A Horrible Poem Hash+分解质因数

    题目描述 给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节.如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到. 输入 第一行一个正整数n (n<= ...

  4. 【Luogu】P2495消耗战(虚树DP)

    题目链接 我虚树没很理解啊qwq 就是我们有比较少的询问点,然后我们把不需要考虑的点搞一搞扔掉,然后每次询问给那些询问点单独建一颗树,然后乱搞. ……好吧看来是完全没理解…… 链接大法qwq #inc ...

  5. 【python接口自动化】logger

    #! /usr/bin/env python # coding=GBK import logging, os class Logger: def __init__(self, path, clevel ...

  6. JS当中利用&&和||简化代码

    ; ){ add_level = ; } ){ add_level = ; } ){ add_level = ; } ){ add_level = ; } else { add_level = ; } ...

  7. zoj 2974 Just Pour the Water矩阵快速幂

    Just Pour the Water Time Limit: 2 Seconds      Memory Limit: 65536 KB Shirly is a very clever girl. ...

  8. 【CF675E】Trains and Statistic(贪心,DP,线段树优化)

    题意:a[i]表示从第i个车站可以一张票到第[i+1,a[i]]这些车站;p[i][j]表示从第i个车站到第j个车站的最少的票数,现在要求∑dp[i][j](1<=i<=n,i<j& ...

  9. LOJ#2302. 「NOI2017」整数

    $n \leq 1000000$个操作:一,给$x$加上$a*2^b$:二,问$x$的某个二进制位$k$.$b,k \leq 30n$,$|a| \leq 1e9$. 30暴露了一切..可以把30个二 ...

  10. net1:post,get方式传值,读写cookie,读XML文件,写script语句,跳转页面,response与request类

    原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...