做音视频开发的时候我们通常会遇到各种奇奇怪怪的问题:

咦,同样的视频怎么在Android上能正常播放在iOS上却不能播放了呢?

咦,怎么这个视频在电脑上能播放,在手机上只有声音没用画面啊?等等等莫名其妙的问题。

这时候我们该怎么办,怎么定位问题呢?到底是视频的问题还是我播放的问题啊?这个时候ffmpeg命令行工具可能就帮到你了。

ffmpeg能干什么

通常所说的ffmpeg命令行工具主要是以下三个:

ffmpeg:ffmpeg主要的功能就是对音视频进行处理,比如说剪切、抽取视频、抽取音频、增加贴纸水印等等。

ffplay:ffplay这个主要是用来播放视频的,几乎支持所有的本地视频播放,还能支持流媒体等网络视频播放,甚至还能播放YUV视频,这点在开发过程中非常好用。比如你你开发一个解码播放器,开发过程中你怎么知道你解码出来的YUV数据有没用问题呢?能不能正常播放呢?使用ffplay命令行一测试便知道了。

最简单的ffplay命令就是:

ffplay 要播放的文件路径或者流媒体地址

现在市面上很多播放器都是参照ffplay编写的。更多关于ffplay的命令可去百度谷歌学习,这方面的资料很多。

ffprobe:ffprobe主要查看音视频文件格式的,比如说你要将一个音视频文件的所有信息以JSON格式输出,ffprobe这个命令行就很便捷。

所以如果要什么音视频的处理,如果你能熟练使用ffmpeg命令的话,根本就不需要什么视频剪切编辑工具,啪啪啪地使用ffmpeg一顿操作猛如虎即可。

如何搭建ffmpeg命令行环境

这里以Win操作系统为例,Mac及Linux通过命令行就能安装,这里就不多说了。

ffmpeg官网下载ffmpeg

其实ffmpeg官方已经帮我们编译好了各个系统所需要的可执行文件了。

访问ffmpeg官网


Android ffmpeg 执行 安卓运行ffmpeg_Android ffmpeg 执行

点击下载按钮


Android ffmpeg 执行 安卓运行ffmpeg_命令行_02

选择Win操作系统


Android ffmpeg 执行 安卓运行ffmpeg_ffmpeg 执行命令 android_03

安装版本及操作系统位数选择下载


Android ffmpeg 执行 安卓运行ffmpeg_音视频_04

下载解压

安装图示教程下载完成解压后,我们命令行窗口进入解压文件的bin目录下即可正常使用ffmpeg、ffplay以及ffprobe三个命令了。当然如果你需要在任何地方都能使用这些命令的话你需要配置一下你的环境变量,也就是把bin目录所在的路径添加到环境变量中即可。