图文详解Mac OS搭建音视频开发环境

2023-10-22  本文已影响0人  人月神话Lee

1

FFmpeg

FFmpeg 是一个免费、开源且跨平台的音视频处理工具套件,它提供了丰富的功能和命令行接口,用于在音视频领域进行编解码、转码、剪辑、过滤等操作。它由 Fabrice Bellard 创建,并于 2000 年首次发布,是一个功能强大且广泛应用的音视频处理工具,适用于各种音视频处理需求和应用场景。无论是简单的格式转换还是复杂的流处理,FFmpeg 都提供了丰富的功能和工具,是音视频开发和处理的重要工具之一。

1.1

功能与特点

FFmpeg 提供了强大而灵活的命令行接口,用户可以使用命令行参数来指定输入文件、输出文件、编解码器、滤镜和其他参数。同时,FFmpeg 也提供了一些编程接口,如 libavcodec、libavformat 等,使得开发人员可以通过编程方式使用 FFmpeg 的功能。

1.2

安装

可以通过官网下载页面下载对应的安装包安装,也可以利用 Homebrew 工具通过终端安装:

brew install ffmpeg

安装完毕后,可以查看版本信息检查是否安装成功:

ffmpeg -version

若安装成功会得到如下类似信息:

ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.0 (clang-1400.0.29.202)

1.3

目录结构

可以通过电脑 Finder->Go->Go to Folder 输入目录:/usr/local/Cellar/ffmpeg,进入目录中。


01.1.png

2

Qt

Qt (/ˈkjuːt/,发音同“cute”)是一个跨平台的 C++应用程序开发框架,广泛用于开发图形界面应用程序、嵌入式系统和移动应用等。它由 Qt 公司(前身为 Nokia)开发并维护,具有丰富的功能和工具,被广泛应用于多个行业和领域。

2.1

功能与特点

下面是 Qt 框架的一些主要特点和功能:

除了上述功能外,Qt 还提供了许多其他模块和工具,如 XML 处理、国际化和本地化支持、OpenGL 集成、Web 引擎等,以满足不同应用场景的需求。

2.2

安装

同样的,可以直接去官网下载对应平台的安装包进行安装,也可以通过 brew 工具安装:

brew install qt

安装完毕后,会存于:/usr/local/Cellar/qt 目录下,有类似如下信息:

You can add Homebrew's Qt to QtCreator's "Qt Versions" in:
  Preferences > Qt Versions > Link with Qt...
pressing "Choose..." and selecting as the Qt installation path:
  /usr/local

安装 Qt Creator(IDE)

brew install --cask qt-creator

安装成功,存放于:/usr/local/Caskroom/qt-creator

==> Installing Cask qt-creator
==> Moving App 'Qt Creator.app' to '/Applications/Qt Creator.app'
🍺  qt-creator was successfully installed!

2.3

配置

打开 Qt Creator 应用程序,在其偏好设置里配置 Qt 路径


01.3.png

根据前文可知,Qt 的路径在/usr/local/Cellar/qt,使用快捷键 Command + Shift + G 手动输入这个文件夹,然后选择 qt/6.5.2/bin/qmake,点击 Open


01.4.png

点击 OK

01.5.png

2.4

设置默认 kits

依旧选择 Qt 应用程序的偏好设置,选中 kits,选择对应机器的 kit(终端输入如下命令可以知晓自己电脑多少位:uname -a)


01.6.png

滑动到最底部,选择 Qt 版本,然后点击 OK


01.7.png

3

第一 Qt 程序

3.1

创建项目

打开 Qt,File->New Project,或者快捷键:shift+command+N。选择 Qt Widgets Application

01.8.png

输入完项目名字,选择存放代码的目录

01.9.png

选 Build System


01.10.png

输入详细信息

01.11.png

勾选上 Generate form 的话会创建一个默认的 mainwindow.ui 文件。有点类似 iOS 开发中的 xib,可以直接拖放 UI 控件。

选 kits

01.12.png

项目创建完成

01.13.png

项目结构如下

01.16.png
//main.cpp
#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

运行项目

01.14.png

3.2

集成 FFmpeg

修改.pro 文件,在文件中添加如下配置信息

# 设置头文件路径
INCLUDEPATH += /usr/local/Cellar/ffmpeg/6.0_1/include

# 设置库文件路径
LIBS += -L/usr/local/Cellar/ffmpeg/6.0_1/lib \
        -lavcodec \
        -lavdevice \
        -lavfilter \
        -lavformat \
        -lavutil \
        -lpostproc \
        -lswscale \
        -lswresample
01.15.png

测试是否集成成功,在 main.cpp 添加几行代码,尝试打印 libavcodec.a 库文件的版本信息

#include "mainwindow.h"

#include <QApplication>

#include <QDebug>

extern "C" {
#include <libavcodec/avcodec.h>
}

int main(int argc, char *argv[])
{
    qDebug() << av_version_info();

    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

项目地址,代码及学习笔记可参考。

上一篇 下一篇

猜你喜欢

热点阅读