FFmpeg都是命令行的,用起来肯定不方便。但是,这对技术宅应该不成问题。下面,我就罗列一些比较实用的使用方法吧。

FFmpeg的下载与安装

FFmpeg是开源的。但我们不必去下载它的源代码。下载已经编译好的exe/dll即可。可以到http://www.ffmpeg.org/download.html,然后点击“Windows Builds”,再根据你当前的机器是32位还是64位来决定下载哪个包。我的机器跑的是Win 7,所以我选择了“Download FFmpeg git-7c210c4 64-bit Shared”。如果你英文不好,也可以直接去我的网盘下载:http://pan.baidu.com/s/1jGgOomy。

下载完成之后,解压到硬盘上,假设路径为E:\OpenSrc。启动一个控制台程序,然后执行DOS命令进入FFmpeg工具的bin目录,如下:

应用场景1:格式转换

我想把用iPhone拍的.MOV文件转成.avi文件。最简单了,可以执行下面的命令:

ffmpeg -i D:\Media\IMG_0873.MOV D:\Media\output.avi

意思是,把D:\Media目录下的源文件IMG_0873.MOV(视频:h.264,音频:aac)转换成output.avi(编码格式自动选择为:视频mpeg4,音频mp3),目标文件仍然保存到D:\Media目录下。问题来了:我想自己指定编码格式,怎么办呢?一种方法是,通过目标文件的扩展名(.flv、.mpg、.mp4、.wmv等)来控制,比如:

ffmpeg -i D:\Media\IMG_0873.MOV D:\Media\output2.flv

另一种方法是通过-c:v参数来控制,比如我想输出的视频格式是H.265(警告:编码时间会比较长哦)。命令行如下:

ffmpeg -i D:\Media\IMG_0873.MOV -c:v libx265 D:\Media\output265.avi

注:可以先用ffmpeg -encoders命令查看一下所有可选的编码格式。

不再深究了,我们继续。我发现源文件的图像帧尺寸是1920x 1080,我不需要这么大——能有720 x 480就够了。于是,就要用上-s参数了。为了保证图像缩放后的质量,最好加上码流参数-b:v。如下:

ffmpeg -i D:\Media\IMG_0873.MOV -s 720x480 -b:v 1500k D:\Media\output2.avi

还可以更简单一点,使用-target参数匹配行业标准,参数值可以是vcd、svcd、dvd、dv、dv50等,可能还需要加上电视制式作为前缀(pal-、ntsc-或film-)。如下:

ffmpeg -i D:\Media\IMG_0873.MOV -target pal-dvd D:\Media\output2dvd.avi

又来一个问题:我发现用手机拍的视频中,有些是颠倒的,我想让它顺时针旋转90度。这时候,可以使用-vf参数加入一个过滤器,如下:

ffmpeg -i D:\Media\IMG_0873.MOV -vf "rotate=90*PI/180" D:\Media\output3.avi

注:如果想逆时针旋转90度,90前面加个负号就可以了。

如果我只需要从源视频里截取一小段,怎么办呢?比如从第2秒的地方开始,往后截取10秒钟。命令行可以这样:

ffmpeg -ss 2 -t 10 -i D:\Media\IMG_0873.MOV D:\Media\output4.avi

注:这种情况下,-ss和-t参数必须放在-i前面,表示是限定后面跟着的输入文件的。

应用场景2:视频合成

我发现,用手机拍的视频有时候背景噪音比较大。怎么把噪音去掉,换成一段美妙的音乐呢?使用FFmpeg也能轻易做到。

第一步:把源文件里的音频去掉,生成一个临时文件tmp.mov

ffmpeg -i D:\Media\IMG_0873.MOV -vcodec copy -an D:\Media\tmp.mov

注:-vcodeccopy的意思是对源视频不解码,直接拷贝到目标文件;-an的意思是将源文件里的音频丢弃。

第二步:把这个无声的视频文件(tmp.mov)与一个音乐文件(music.mp3)合成,最终生成output.mov

ffmpeg -i D:\Media\tmp.mov -ss 30 -t 52 -i D:\Media\music.mp3 -vcodec copy D:\Media\output5.avi

为了保证良好的合成效果,音乐时长必须匹配视频时长。这里我们事先知道视频时长为52秒,于是截取music.mp3文件的第30秒往后的52秒与视频合成。另外,为了保证音频时长截取的准确性,我们这里没有使用-acodec copy,而是让音频重新转码。

还有一种情况:我们希望在一段视频上叠加一张图片。可以简单实现如下:

ffmpeg -i D:\Media\IMG_0873.MOV -i D:\Media\logo.png -filter_complex 'overlay' D:\Media\output6.avi

应用场景3:视频播放

格式转换或合成之后,我们需要试着播放一下。播放器的选择很多。这里顺手用ffplay工具也行:

ffplay -i D:\Media\output6.avi

应用场景4:获取视频信息

有时候,我只是想看看这个视频文件的格式信息。可以用ffprobe工具:

ffprobe -i D:\Media\IMG_0873.MOV

其他应用

FFmpeg的功能非常强大。关键是要理解各种参数的意义,并且巧妙搭配。必要的话,就把在线文档完整读一遍吧:http://www.ffmpeg.org/ffmpeg.html

FFMpeg 常用命令格式转换,视频合成相关推荐

  1. ffmpeg 常用命令行 (视频-转码)

    http://blog.csdn.net/lius1984/article/details/4367150 整理常用的ffmpeg命令,便于大家查找. 1. AVI转FLV ffmpeg -i vid ...

  2. 《Android 音视频开发》笔记 - FFmpeg常用命令

    文章目录 FFmpeg简介 命令行工具概述 FFmpeg 处理音视频流程 FFmpeg常用命令 FFmpeg 基本信息查询 FFmpeg 录制 1) Windows上录制音频: 2) Mac 上录制音 ...

  3. FFmpeg 常用命令汇总

    https://www.yuv420.com/2019/12/23/ffmpeg-chang-yong-ming-ling-hui-zong/ 引言 开源音视频处理工具FFMPEG以其强大的功能而在音 ...

  4. FFmpeg常用命令参数

    FFmpeg常用命令参数 陈拓 2021/08/31-2020/09/01 1. 视频文件转gif图像 命令格式: ffmpeg -ss 5 -t 10 -i input.mp4 -y -s 640x ...

  5. 使用ffmpeg通过命令行对视频进行裁剪、转换尺寸和转换erp格式

    最近在实验室进行VR视频视点采集,需要将YouTube上下载的视频进行处理. 第一步是对视频进行剪辑.我们只需要下载的视频的部分片段,因此需要对视频进行裁剪. 我先使用了如下的命令进行裁剪.这条命令的 ...

  6. ffmpeg 常用命令总结:(avi转MP4、MP4转ts、视频压缩、去除视频声音、合并音频和视频)

    文章目录 配置 说明: 0.ffmpeg一些命令参数: a) 通用选项 b) 视频选项 c)高级视频选项 d)音频选项 e)音频/视频捕获选项 f)高级选项 1.avi转MP4命令: 2.MP4转ts ...

  7. 音视频笔记:ffmpeg常用命令行

    主要用于记录常用的命令行. 文章目录 ffmpeg 命令行使用 查看音频和视频设备列表: 查看Dshow/Avfoundation库支持的具体支持参数: 查看具体设备的支持分辨率或采样格式等列表: 录 ...

  8. ffmpeg 常用命令:视频拼接、裁剪、转图片

    一.视频拼接 1.准备需要进行拼接视频的filelist.txt文件,filelist.txt内容格式如下所示,排列顺序为拼接后的视频先后顺序. file 'video_01.avi' file 'v ...

  9. ffmpeg常用命令-调整视频颜色

    http://help.tmtyum.com/content.php?id=18 1.hue:调整视频色调.饱和度.亮度 h:色调角度度数(0到360),默认值为0 s:饱和度(-10到10),默认值 ...

  10. ffmpeg将mov格式的视频转换成mp4格式

    import os # 获取目录下的所有文件列表 import fnmatch # 文件格式筛选模块,筛选指定格式文件#遍历 def dirlist(path, allfile):filelist = ...

最新文章

  1. oop第二章1知识点汇总
  2. [转载]明天的数字营销分析工具2
  3. Access数据库出现的0x80004005 Unspecified error问题
  4. android密码解锁/指纹解锁返回的authToken深度解剖
  5. gentoo rt-thread scons --menuconfig libs/lxdialog/util.o: undefined reference to symbol 'nodelay'
  6. 解决OracleDBConsoleorcl不能启动【转】
  7. python怎样实现界面的切换_python tkinter实现界面切换的示例代码
  8. 挫败帆船行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. html5 dzzxjbd cn,UEditor实现单张图片上传至腾讯云(对象存储服务)功能(html5
  10. excel 选择一个单元格,所在行列变色
  11. springboot 实现百度小程序收银台支付功能
  12. Spring核心功能之控制反转(IOC)
  13. 20种简单美化照片PS技术
  14. Matlab显示图像三维信息
  15. java计算机毕业设计教师继续教育MyBatis+系统+LW文档+源码+调试部署
  16. java骑车与走路_骑行/步行路线规划
  17. 编c语言程序 任意输入一个长方体的长,宽,高,计算体积.,C语言程序,由键盘任意输入一个长方体的长.宽.高,计算体积....
  18. linux脚本创建快捷方式,批处理BAT创建快捷方式
  19. 秒杀ibluever 免越狱iPad wifi版连接蓝牙“双环”直接上网
  20. (02)Cartographer源码无死角解析-(52) 2D点云扫描匹配→ceres扫描匹配:CeresScanMatcher2D→栅格地图残差

热门文章

  1. 江苏省2008年普通高校自主招生入选考生名单公示 - 北大清华版
  2. 数字图像处理,相位相关算法解决图像的刚性平移问题
  3. 阿里巴巴正式宣布5.4亿现金战略投资中国万网
  4. 中国互联网史就是一部流氓史!
  5. 《2020年国际会计事务所排名》
  6. html网页制作比赛要求,校园网页设计大赛活动方案
  7. Codeforces364D Ghd【随机+检验】
  8. 淘客链接转成正常淘宝链接JAVA代码实现
  9. 为什么我的儿子不沉迷游戏?一位游戏策划家长的分享
  10. 2021秋招----hr面试总结