FFmpeg 入门扫盲、Mac 开发环境配置、创建示例项目

视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果是本地文件,则不需要解协议。过程如下图所示:
在这里插入图片描述
解协议:将流媒体协议的数据,解析为标准的相应的封装格式数据。
解封装:将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类有 MP4,MKV,RMVB,TS,FLV,AVI等。
解码:将音/视频压缩编码数据,解码成为非压缩的音/视频原始数据。音频的压缩编码标准包含AAC,MP3,AC-3 等,视频的压缩编码标准则包含H.264,MPEG2,VC-1 等。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。
音视频同步:根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。
更多流媒体协议、封装格式、视频编码标准、音频编码标准详见雷神的博客《视音频编解码技术零基础学习方法》

FFmpeg 是一个 C 语言编写的音视频编解码库,官网链接。接下来我们需要在 Mac 上配置 FFmpeg,首先利用 Homebrew 安装 FFmpeg:

$ brew install ffmpeg

使用以下命令查看你安装 ffmpeg 的信息:

$ brew info ffmpeg

输出如下图,可以看到有好多库,如 aom、fontconfig、freetype 等,红叉的代表没有这个库,绿勾的代表此库已经安装上了:
在这里插入图片描述

以下命令可以更新 ffmpeg:

$ brew upgrade ffmpeg

安装某个特定的库(如 openssl)的命令如下:

$ brew install openssl

卸载某个特定的库(如 openssl)的命令如下:

$ brew uninstall openssl

环境配置完毕我们就可以直接在终端使用 ffmpeg 库进行视频转换,譬如如下命令,可以将 input.avi 文件转换为码率为640k 的 ts 文件:

$ ffmpeg -i input.avi -b:v 640k output.ts

下表展示的是部分命令参数

参数说明
-h帮助
-i filename输入文件
-t duration设置处理时间 格式为 hh:mm:ss
-ss position设置起始时间 格式为 hh:mm:ss
-b:v bitrate设置视频码率
-b:a bitrate设置音频码率
-r fps设置帧率
-s wxh设置帧大小,格式为 WxH
-c:v codec设置视频编码器
-c:a codec设置音频编码器
-ar freq设置音频采样率

更多 ffmpeg 的终端命令详见官网:http://ffmpeg.org/ffmpeg.html

接下来我们要创建一个示例程序,首先,打开 Xcode,创建 Command Line Tool 项目,如下图:
创建项目
创建项目
在 Targets -> Build Settings -> Search Paths -> Library Search Paths 中输入FFmpeg 库文件路径 “/usr/local/Cellar/ffmpeg/xxx/lib”,其中 xxxx 代表本机所装的 ffmpge 库的版本号,我安装的 ffmpeg 的版本是 4.1.2。
在 Targets -> Build Settings -> Search Paths -> User Header Search Paths 中输入FFmpeg 库文件路径 “/usr/local/Cellar/ffmpeg/4.1.2/include”。配置完如下图:
项目配置
在 Targets -> Build Phases–> Link Binary Width Libraries 中点击左下角 “+” ,再点击 “Add Other” 选择 ffmpeg 库文件。由于 ffmpeg 库安装在 /usr/local/ 路径下, Finder 是找不到的,需要按下 CMD + Shift + G 组合键,输入 “/usr/local/Cellar/ffmpeg/4.1.2/lib”,之后选择 libxxx.a 文件,重复以上步骤,直到把该路径下所有的 .a 文件都添加进去。 配置完如下图:
项目配置
然后我们就可以进行项目开发了,在 main.c 中引入头文件 #include "libavcodec/avcodec.h" ,然后方法 avcodec_configuration() 获取编码器配置并输出到控制面板,代码如下:
代码示例
控制面板输出如下:
在这里插入图片描述
运行成功证明项目配置成功了,接下来就可以愉快的进行开发啦!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要配置Qt和FFmpeg开发环境,你需要按照以下步骤进行操作: 1. 下载和安装Qt:访问Qt官方网站(https://www.qt.io/)并下载适合你操作系统的Qt安装程序。安装过程中,选择包含Qt Creator的完整安装包,以便获取Qt的集成开发环境。 2. 下载FFmpeg:访问FFmpeg官方网站(https://ffmpeg.org/)并下载最新的稳定版本。解压缩下载的文件到你选择的目录。 3. 配置Qt Creator:打开Qt Creator,点击"工具"菜单,选择"选项"。在弹出的对话框中,选择"Kits"选项卡。点击"添加"按钮,选择你的编译器,并填写相关信息。然后点击"添加"按钮,选择你的Qt版本,并填写相关信息。点击"应用"和"确定"按钮保存设置。 4. 配置FFmpeg:打开Qt Creator,点击"文件"菜单,选择"新建文件或项目"。在弹出的对话框中,选择"C++库",然后点击"选择"按钮。在弹出的对话框中,选择"导入外部库"选项卡。点击"添加"按钮,选择FFmpeg库所在的目录,并填写相关信息。点击"下一步"按钮,选择需要导入的库,并填写相关信息。点击"完成"按钮完成配置。 5. 编写代码:在Qt Creator中创建一个新的Qt项目。在项目文件中,添加FFmpeg库的头文件和链接库。然后编写你的代码,使用FFmpeg提供的功能。 6. 构建和运行:点击Qt Creator工具栏上的"构建"按钮,编译你的项目。如果没有错误,点击"运行"按钮,运行你的项目。 希望以上步骤能帮助你成功配置Qt和FFmpeg开发环境。如果你有任何进一步的问题,请随时提问。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值