ffmpeg命令介绍

ffmpeg.exe(linux/imac一般不带后缀,ffmpeg),
是一款音视频编解码的命令行工具软件, 常用于多媒体测试的文件制作与转码。
我们常用的:格式工厂,MediaCoder等多媒体格式转换软件,
其关键技术有一部分是直接或间接依赖ffmpeg.exe的,
ffmpeg可以说是编解码界使用最广泛的工具了。
不管是做多媒体测试,音视频编解码测试,还是普通测试人员日常工作,
比如一个Bug的视频太大了,无法作为附件上传到Bug系统,
则需要对视频用ffmpeg重新编码,比如降低分辨率,降低帧率等。
最终降低了视频的比特率,视频文件自然变小了很多,
这些我认为是测试人员的必备能力之一。

Windows版下载地址

https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20181210-a271025-win64-static.zip
下载后解压,把bin文件夹下的ffmpeg.exe丢到path环境变量里去,能在cmd端访问即可。

常用参数(暂只列出针对测试人员的常见参数)

-i 表示inputfile, 就是ffmpeg需要处理的文件(音频文件,视频文件,图片文件,原始音视频流)
-s 表示size, 分辨率设置, 视频相关的参数
-b 表示Video bitrate, 视频比特率,即每秒种的数据量,一般数据量越大,视频质量越好。
-r 表示frame rate, 视频的帧率,即每秒钟显示多少张图片,一般图片数越多,表示采样的越精细,视频质量越好

-ab 表示Audio bitrate,音频比特率,即每秒钟的数据量,-一般数据量越大,音频质量越好。
-ar 表示Audio rate, 即音频采样率,即每秒钟采集音频多少次,一般采集的次数(频率)越大,音频质量越好。
-an 表示Audio Notavaliable, 即去除音频数据

常见用法(暂只列出针对测试人员的常见用法)

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

序号 ffmpeg命令常见用法 释义
1 ffmpeg -i input.mp4 -r 12 -s 640x480 output.mp4 将input.mp4进行重编码(按帧率12fps,
分辨率640x480)并另存为outpu.mp4
2 ffmpeg -i input.mp4 output.mp3 提取input.mp4视频里的音频文件,
并另存为output.mp3
3 ffmpeg - input.jpg output.png 将input.jpg图片重新编码转换成png格式,
并另存为output.png
4 ffmpeg -i input.mov output.mp4 将input.mov进行重编码(帧率不变,
分辨率不变,编码格式会变成h.264)
并另存为outpu.mp4
5 ffmpeg -i input.mp4 -an output.mp4 将input.mp4视频进行去音频处理,
并另存为output.mp4
6 ffmpeg -i input.mp3 -ar 44.1 output.mp3 将input.mp3进行重编码(按采样率44.1khz),
并另存为output.mp3
7 ffmpeg -i input.mp4 -f image2 C:\img_%04d.jpg 将input.mp4视频转换成jpg图片帧
执行效果

tips 想了解更多ffmpeg命令及其参数,可以用ffmpeg --help来查看帮助文档

tips 下载ffmpeg.exe的过程中,还有一个ffplay.exe,ffprobe.exe.
ffplay.exe是ffplay解码播放器,ffplay.exe video.mp4 播放一个视频试试。
ffprobe.exe是查看多媒体信息流的,其实和mediainfo.exe差不多

更多更好的原创文章,请访问官方网站:www.zipython.com

原文链接:https://www.zipython.com/#/detail?id=5d3b9961790443ce9696fb8617225959

《自拍教程19》ffmpeg_音视频图像转码工具的更多相关文章

  1. 《自拍教程19》aapt_apk信息查看工具

    aapt命令行工具介绍 aapt.exe(Linux/Ubuntu/imac操作系统下是未带后缀的aapt), 是android sdk自带的用于打包apk,解析apk的命令行工具软件. aapt.e ...

  2. FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

    FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...

  3. Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载

    ☞ ░ 前往老猿Python博文目录 ░ 一.简介 MoviePy是一个用于视频编辑的Python模块,可用于进行视频的基本操作(如剪切.拼接.标题插入).视频合成(也称非线性编辑).视频处理或创建高 ...

  4. 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息

    在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...

  5. 实时音视频互动系列(上):又拍云UTUN网络详解

    如何定义实时音视频互动, 延迟 400ms 内才能无异步感 实时音视频互动如果存在1秒左右的延时会给交流者带来异步感,必须将视频播放延迟限制在400ms以内,才能给用户较好的交互体验. 当延迟控制在4 ...

  6. 音视频入门-04-BMP图像四字节对齐的问题

    * 音视频入门文章目录 * BMP 图像四字节对齐 表示 BMP 位图中像素的位元是以行为单位对齐存储的,每一行的大小都向上取整为4字节(32 位 DWORD)的倍数.如果图像的高度大于 1,多个经过 ...

  7. Python MoviePy中文教程导览及可执行音视频剪辑工具下载

    ☞ ░ 前往老猿Python博文目录 ░ <Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载>是老猿两个关于moviepy的专栏<PyQt+moviepy ...

  8. Android视频录制从不入门到入门系列教程(二)————显示视频图像

    1.创建一个空的工程,注意声明下列权限: <uses-permission android:name="android.permission.CAMERA"/> < ...

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

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

随机推荐

  1. Asp.Net Core Identity 隐私数据保护

    前言 Asp.Net Core Identity 是 Asp.Net Core 的重要组成部分,他为 Asp.Net Core 甚至其他 .Net Core 应用程序提供了一个简单易用且易于扩展的基础 ...

  2. Django2 外键遇到的坑

    # 出版社 class Publisher(models.Model): # 自增.主键 id id = models.AutoField(primary_key=True) # varchar(32 ...

  3. Java入门 - 面向对象 - 01.继承

    原文地址:http://www.work100.net/training/java-inheritance.html 更多教程:光束云 - 免费课程 继承 序号 文内章节 视频 1 概述 2 继承的特 ...

  4. Java中的循环语句

    1.1 while 循环语句 while 语句也称为条件判断语句. 循环方式 : 利用一个条件来控制是否要反复执行这个语句. 语法 : while(条件表达式){ 执行语句 } 当条件表达式的返回值为 ...

  5. http1.0、http1.x、http 2和https梳理

    http1.0.http1.x.http 2和https梳理 Http1.x 线程阻塞,在同一时间,同一域名的请求有一定数量限制,超过限制数目的请求会被阻塞 http1.0 缺陷:浏览器与服务器只保持 ...

  6. java 排序算法分析

    一.冒泡排序(时间复杂度O(N^2)) public int[] bubbling(int[] arr){ ) return arr; ; i--){ 1 ; j < i-; j ++){ 2 ...

  7. 五、Django学习之基于对象的跨表查询

    五.Django学习之基于对象的跨表查询 正向与反向查询 关键在于ForeignKey字段写的位置.例如下面这段代码, 关系属性(字段)写在哪个类(表)里面,从当前类(表)的数据去查询它关联类(表)的 ...

  8. python笔记15

    今日内容 模块知识 内置模块 time datetime json 其他 内容回顾 & 作业题 重要知识点 构造字典和函数对应关系,避免重复的if else a=1 b=2 ==> a, ...

  9. django登录页面优化

    环境准备 1.python3.6 2.django2.0+ 3.bootstrap3 后台代码 #创建login_check视图函数,用来处理登录 def login_action(request): ...

  10. 在Navicat新建用户

    1.Ctrl+Q,进入查询,创建表空间. 输入create tablespace test datafile 'D:\Oracle\test.ora' size 1000m; 这里的test为表空间名 ...