《自拍教程20》ffmpeg_音视频图像转码工具

Posted zipython

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《自拍教程20》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, 即去除音频数据

常见用法(暂只列出针对测试人员的常见用法)
序号 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

以上是关于《自拍教程20》ffmpeg_音视频图像转码工具的主要内容,如果未能解决你的问题,请参考以下文章

FFmpeg转码流程详解

《自拍教程21》mediainfo_多媒体文件查看工具

FFmpeg教程(超级详细版)

【FFMPEG做视频转码】

FFMPEG进阶系列03-ffmpeg转码专题(中)x264参数详解

ffmpeg转码及日志输出相关命令