使用FFmpeg开发的那些事
一.FFmpeg介绍
1.何为FFmpeg?
对于每一个
Fmpeg是当前最领先的多媒体框架之一,
2.FFmpeg组成
构成FFmpeg的主要有三个部分。
第一个部分是一些
ffmpeg:一个命令行工具,用于处理、转换和流式传输多媒体内容。
ffplay:一个简约的多媒体播放器。
ffprobe:检查多媒体内容的简单分析工具。
其它的还有一些小工具和插件。
第二部分主要是
libavcodec:包含音视频编码器和解码器.
libavutil:用于辅助便携式多媒体编程的实用程序库,包含随机数生成器、数据结构、数学函数等功能。
libavformat:提供了一个通用框架,用于对音频,视频和字幕流进行多路复用和多路分解(多路复用和多路分解)。
libavfilter:提供了一个通用的音频/视频过滤框架,其中包含多个过滤器,源和接收器。
libavdevice:提供了用于从许多常见的多媒体输入/输出设备获取和呈现的通用框架,并支持多种输入和输出设备,包括Video4Linux2,VfW,DShow和ALSA。
libswscale:执行高度优化的图像缩放以及色彩空间和像素格式转换操作。
libswresample:执行高度优化的音频重采样,重新矩阵化和样本格式转换操作。
第三部分是
二.FFmpeg下载及其安装
1.0 下载FFmpeg,首先找到官网

1.1 然后点击Download,进入如下页面,这里以Windows系统为例,首先点击视窗的图标,然后找到

1.2 进去之后往下翻找到

1.3 然后在之前的页面往下找到

1.4 点击Mirror的链接,进去之后点击下图中的,下载完成后找到下载的文件。

1.5 如果你是下载的第一个,那么右键文件找到7-Zip,并用第一个

1.6 接下来是最重要的环节便是
找到

1.7 点击高级系统设置后在弹出的页面右下角找到

1.8 进入环境变量设置后,首先我们找到

1.9 最后一步,便是

三.FFmpeg使用
1.ffmpeg
正如和软件名一样,工具ffmpeg是该软件的核心工具。它的主要功能便是完成各种音视频转换和视频转码的操作,比如将不熟悉的avi格式转换成mp4格式。
举个简单的例子,比如我们要进行视频文件的格式转换,我们需要运行的
ffmpeg -i +视频文件路径 +转换后的文件格式如:
2.ffplay
ffplay作为一个简单的播放器,它使用了ffmpeg库和SDK库开发而成,平常用作ffmpeg API的测试工具。
它的使用也挺简单的,需要运行的命令为:ffplay -i +文件路径如:
当然,ffplay也支持传入各种参数来控制播放行为,如:
-i input_file:输入文件名。
-x width -y height:控制播放窗口的宽高。
-t duration:控制播放的时长。
-window_title title:播放窗口的标题,默认为输入文件名。
-showmode mode:设置显示模式,0:显示视频;1:显示音频波形;2:显示音频频谱
...关于其它的参数可自行查看官方文档。
3.ffprobe
ffprobe是一个音视频文件分析功能,其使用方法和ffplay类似。如:
分析完成后ffprobe会为我们显示音视频文件中包含的每个码流的信息,如:编码格式,像素分辨率,码率等等。