参考资料: 
[url]http://blog.163.com/prosen@yeah/blog/static/12251328720099101378975/ 
http://ffmpeg.org/ffmpeg-all.html[/url]

http://326301045.iteye.com/blog/2172957

FFmpeg命令行大致可以分为两类: 
1.视频、音频、图片的转换。 
例如视频截取、视频转码、视频连接、视频音频合成等。 
2.增加处理效果。 
例如增加水印、增加gif、音频延迟等。一般是通过滤镜功能实现。 
滤镜参考资料: 
http://ffmpeg.org/ffmpeg-filters.html 
http://blog.chinaunix.net/uid-26000296-id-4282537.html

FFmpeg命令行举例: 
视频截取 
ffmpeg -ss 00:46:28 -i "Morning_News.asf" -acodec copy -vcodec copy -t 00:03:25 output.asf 
这行命令解释为:从文件 Morning_News.asf 第 46:28 分秒开始,截取 03: 25 的时间,其中视频和音频解码不变,输出文件名为 output.asf 。 
-ss :从指定时间开始(如果该时间点无效,则跳到该时间点前,最接近的有效seek point) 
-i:输入源 
-acodec copy -vcodec copy:视频和音频编码不变 
-t:在该时间点停止输出

视频转码 
ffmpeg -i INPUT -f FORMAT OUTPUT 
例如: 
ffmpeg -i "D:/result.mpge" -f mp4 "D:/result.mp4"

视频连接 
ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg 
http://trac.ffmpeg.org/wiki/How%20to%20concatenate%20(join%2C%20merge)%20media%20files

去除视频声音 
ffmpeg -i 1.avi -vcodec copy -an 2.avi

合并音频和视频 
ffmpeg -i a.wav  -i a.avi out.avi 
若音频比视频长,画面停留在最后一帧,继续播放声音。 
显示多幅图片(不同位置) 
ffmpeg -y -i boss.mp4 -i left.png -i left.png -filter_complex "overlay=5:5,overlay=0:0" -f mp4 output.mp4 
-filter_complex:使用复合滤镜 
"overlay=5:5,overlay=0:0":第一个图片的x、y坐标为(5,5),第二个为(0,0)

在特定时间显示图片 
ffmpeg -y -i 1.avi -i 1.png -filter_complex "overlay=x='if(between(t,1,3),60,-500)':y=50" -f mp4 left1.mp4 
命令行中可以使用表达式,参考:http://ffmpeg.org/ffmpeg-all.html#Expression-Evaluation 
具体意思是时间t在1到3秒内,图片的x坐标为60,否则为-500(移出屏幕),y坐标一直为50不变

音频提前或延迟N秒 
ffmpeg -i ogg.ogg -i 1.avi -filter_complex "adelay=3000|3000" output.avi 
-filter_complex "adelay=3000|3000":对前面的ogg音频的两个声道都延迟3000毫秒 
http://ffmpeg.org/ffmpeg-all.html#adelay

音频合成 
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT 
inputs=3:三个输入 
duration=first:输出长度为第一个输入的长度 
dropout_transition=3:声音淡出时间为3秒

音视频处理ffmpeg使用的更多相关文章

  1. C/C++音视频库ffmpeg的数据包AVPacket分析

    ffmpeg下载地址 http://www.ffmpeg.club/ AVPacket是ffmpeg用来存放编码后的视频帧数据,我们来分析一下这个结构体,先贴出ffmpeg3.2中AVPacket声明 ...

  2. 音视频开发-FFmpeg

    音视频开发是个非常复杂的,庞大的开发话题,初涉其中,先看一下结合 OEIP(开源项目) 新增例子. 可以打开flv,mp4类型文件,以及rtmp协议音视频数据,声音的播放使用SDL. 把采集的麦/声卡 ...

  3. C++编程音视频库ffmpeg的pts时间换算方法

    ffmpeg中的pts,dts,duration时间记录都是基于timebase换算,我们主要分析下pts的时间怎么换算,其它的是一样的换算.ffmpeg的时间换算对许多新接触同学算是一个大坑,很多刚 ...

  4. FFmpeg采集音视频数据命令

    文章转自:https://www.jianshu.com/p/4709ccbda3f9 1.ffmpeg 把文件当做直播推送至服务器 (RTMP + FLV) ffmpeg - re -i demo. ...

  5. 音视频】5.ffmpeg命令分类与使用

    GT其实平时也有一些处理音视频的个人或者亲人需求,熟练使用ffmpeg之后也不要借助图示化软件,一个命令基本可以搞定 G: 熟练使用ffmpeg命令!T :不要死记硬背,看一遍,自己找下规律,敲一遍, ...

  6. 音视频处理概要 markdown

    最近要想办法把录制的音视频进行拼接. 比方说此次录制的视频有三段,通过高清直播编码器录制,录制下的标准为h.264 直接用ffmpeg简单拼接,音频会丢失,所以有了此次解决方案(有可能会繁琐,简单方案 ...

  7. Android IOS WebRTC 音视频开发总结(四九)-- ffmpeg介绍

    本文主要介绍ffmpeg,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,个人微信公众号blacker,更多详见www.rtc.help 说明: ps1:如果直接从webrtc开始学 ...

  8. ffmpeg转码MPEG2-TS的音视频同步机制分析

    http://blog.chinaunix.net/uid-26000296-id-3483782.html 一.FFmpeg忽略了adaptation_field()数据 FFmpeg忽略了包含PC ...

  9. FFmpeg开发实战(五):FFmpeg 抽取音视频的视频数据

    如何使用FFmpeg抽取音视频的视频数据,代码如下: // FFmpegTest.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. // #include ...

随机推荐

  1. 最小生成树之克鲁斯卡尔(kruskal)算法

    #include <iostream> #include <string> using namespace std; typedef struct MGraph{ string ...

  2. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...

  3. java程序中实现打开 某个指定浏览器

    package com.test; import java.lang.reflect.Method; //实现打开浏览器并跳到指定网址的类 public class BareBonesBrowserL ...

  4. WordPress基础:极简手动安装教程

    1.下载WordPress 2.将解压后的文件夹,放到网站根目录,并重命名为你喜欢的目录如:w, 3.重命名文件wp-config-sample.php 为 wp-config.php,并进行配置 4 ...

  5. maven学习二(dependencies)

    在前面一篇文章maven学习一(HelloWorld工程)已经对maven有了基本介绍,本文开始介绍maven依赖,通过如何如何增加log4j来学习maven的dependencies no-depe ...

  6. C++11 多线程编程 使用lambda创建std::thread (生产/消费者模式)

    要写个tcp server / client的博客,想着先写个c++11多线程程序.方便后面写博客使用. 目前c++11中写多线程已经很方便了,不用再像之前的pthread_create,c++11中 ...

  7. Go语言之高级篇beego框架之model设计构造查询

    一.model设计构造查询 QueryBuilder 提供了一个简便,流畅的 SQL 查询构造器.在不影响代码可读性的前提下用来快速的建立 SQL 语句. QueryBuilder 在功能上与 ORM ...

  8. 转: 调整 Linux I/O 调度器优化系统性能

    转自:https://www.ibm.com/developerworks/cn/linux/l-lo-io-scheduler-optimize-performance/index.html 调整 ...

  9. Android上实现各种风格的隐藏菜单,比如左右滑动菜单、上下滑动显示隐藏菜单

    Android上的菜单展示风格目前是各式各样的,但用的最多且体验最好的莫过于左右滑动来显示隐藏的菜单本示例实现了各种方式的菜单展示效果,只有你想不到的源码:https://github.com/Sim ...

  10. Excel如何固定表头,任意一行

    在日常Excel操作中,有时候内容比较多,需要将表头固定才能方便查看.那么,该如何固定表头呢?或者说如何固定任意一行我们制定的呢?下面以Excel2013进行详细的步骤讲解. 首先打开需要操作的Exc ...