《自拍教程19》ffmpeg_音视频图像转码工具
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_音视频图像转码工具的更多相关文章
- 《自拍教程19》aapt_apk信息查看工具
aapt命令行工具介绍 aapt.exe(Linux/Ubuntu/imac操作系统下是未带后缀的aapt), 是android sdk自带的用于打包apk,解析apk的命令行工具软件. aapt.e ...
- FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑
FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...
- Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载
☞ ░ 前往老猿Python博文目录 ░ 一.简介 MoviePy是一个用于视频编辑的Python模块,可用于进行视频的基本操作(如剪切.拼接.标题插入).视频合成(也称非线性编辑).视频处理或创建高 ...
- 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息
在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...
- 实时音视频互动系列(上):又拍云UTUN网络详解
如何定义实时音视频互动, 延迟 400ms 内才能无异步感 实时音视频互动如果存在1秒左右的延时会给交流者带来异步感,必须将视频播放延迟限制在400ms以内,才能给用户较好的交互体验. 当延迟控制在4 ...
- 音视频入门-04-BMP图像四字节对齐的问题
* 音视频入门文章目录 * BMP 图像四字节对齐 表示 BMP 位图中像素的位元是以行为单位对齐存储的,每一行的大小都向上取整为4字节(32 位 DWORD)的倍数.如果图像的高度大于 1,多个经过 ...
- Python MoviePy中文教程导览及可执行音视频剪辑工具下载
☞ ░ 前往老猿Python博文目录 ░ <Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载>是老猿两个关于moviepy的专栏<PyQt+moviepy ...
- Android视频录制从不入门到入门系列教程(二)————显示视频图像
1.创建一个空的工程,注意声明下列权限: <uses-permission android:name="android.permission.CAMERA"/> < ...
- Python音视频开发:消除抖音短视频Logo的图形化工具实现
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解>节介绍了怎么通过Python+Moviepy+OpenCV实现 ...
随机推荐
- ORM基础3 在python脚本里调用Django环境
1.查询 1.# all获取所有的object,结果QuerySet,列表 print('all'.center(80, '=')) ret = models.Person.objects.all() ...
- 10、python函数
前言:本文主要介绍python函数的定义和调用.函数的参数.函数的作用域.内置函数. 一.函数的定义和调用 1.函数的作用 对特定的一些功能进行封装,提高代码的重用率,进而提升开发的效率,格式: de ...
- 在qemu-kvm配置桥接网络
为了宿主机和虚拟机可以很好的通信,当然是选择桥接网络啦!!! 话不多说 ===========================配置桥接网络========================== 虚拟机虽 ...
- 个人第4次作业:Alpha测试
这个作业属于哪个课程 课程 这个作业要求在哪里 作业要求 团队名称 CTRL-IKun 一.测试人员个人信息 姓名 王川 学号 201731021132 所在团队 CTRL-IKun 二.测试情况及结 ...
- SpringBoot项目的parent依赖和配置文件*.properties、*.yml详解
1.idea创建SpringBoot项目 idea创建SpringBoot项目应该对很多人来说已经是菜到不能到菜的操作了,但是对于初学者小白来说,还是要讲解一下的.打开idea,然后选择Spring ...
- (ES6)JavaScript中面向对象类的实现
在ES5中,我们就知道JS是不支持面向对象的,所以用函数模拟了一个构造函数来实现类的.那么在ES6中,在ES5的原理基础上,将代码书写更为简单,明了. 一.怎样用ES6创建类?首先看一看例子: cla ...
- 用CSS实现横向滚动条
在进行app制作时,需要使用横向滚动条是内容展示更完善 首先,这是html代码: 这是CSS代码: 要点: 设置显示内容的宽 white-space是防止内容自动折行 overflow-y设置为hid ...
- Linux下的expect
expect简介 expect是一款自动化的脚本解释型的工具. expect基于tcl脚本,expect脚本的运行需要tcl的支持. expect对一些需要交互输入的命令很有帮助,比如ssh ftp ...
- pycharm破解码
今天又遇到了pycharm注册码失效的问题: 找到了一个好用的破解教程,为了能够尽快的使用,我用的是注册码的方式 教程链接:https://www.cnblogs.com/yuuje/p/101009 ...
- 【大白话系列】MySQL 学习总结 之 初步了解 InnoDB 存储引擎的架构设计
一.存储引擎 上节我们最后说到,SQL 的执行计划是执行器组件调用存储引擎的接口来完成的. 那我们可以理解为:MySQL 这个数据库管理系统是依靠存储引擎与存放数据的磁盘文件进行交互的. 那么 MyS ...