音视频开发-Mac开发环境搭建

Mac环境

本文Mac硬件环境为M1 Pro,系统为MacOS Ventura 13.6,硬件和系统不同,实际情况会有差异,以你实际为准。

1 ffmpeg

1.1 安装

Mac环境,直接使用HomeBrew来安装FFmpeg。如果还没有按照HomeBrew,可以参考《Mac 安装homebrew》

SH 复制代码
brew install ffmpeg

安装完毕后,如果能在终端中成功查看FFmpeg的版本号,说明已经安装成功。

SH 复制代码
ffmpeg -version

1.2 目录结构

通过brew install安装的软件会存放在/opt/homebrew/Cellar目录中,通过如下命令可以打开FFmpeg的安装目录。

SH 复制代码
cd /opt/homebrew/Cellar/ffmpeg

open .

通过command + shift + G输入/opt/homebrew/Cellar/ffmpeg也可以查看FFmpeg的安装目录。

  • bin: 有编译好的可执行程序:如ffmpegffplay等,可以直接在终端使用,比如:
    • ffplay xx.mp4:直接播放某个视频。
    • ffmpeg -version:查看FFmpeg的版本号。
  • include:开发时需要包含的头文件。
  • lib:链接时需要用到的库文件。

2 Qt

2.1 安装

通过brew install安装Qt,最终被安装在/opt/homebrew/Cellar/qt目录中。

SH 复制代码
brew install qt

通过brew install --cask安装Qt Creator,最终被安装在/opt/homebrew/Caskroom/qt-creator目录中。

SH 复制代码
brew install --cask qt-creator

2.2 配置

通过brew安装的QtQt Creator是分开的,需要在Qt Creator的首选项中设置一下Qt的路径。

Qt的路径在/opt/homebrew/Cellar中,opt默认是隐藏的。

  • 可以使用快捷键command + shift + .来显示、隐藏文件和文件夹。
  • 可以使用快捷键command + shift + G手动输入Qt的文件夹:/opt/homebrew/Cellar/qt,然后回车键前往。

选择Qt对应版本目录下bin目录下的qmake

设置64bit为构建套件的默认开发环境。

滚动到底下,选择刚才设置的Qt版本。

3 开发

3.1 新建项目

新建项目选择Qt Widgets Application

设置默认路径和项目名。

构建系统选择qmake

DetailsTranslation和构建套件(选择之前设置的64bit)不用更改,直接点击继续。

是否作为子项目和版本控制系统根据自身需求设置。

新建完项目后,运行的效果。

3.2 集成FFmpegQt项目中

修改项目名.pro文件,在末尾设置头文件路径和库文件路径。

C++ 复制代码
# 设置头文件路径
INCLUDEPATH += /opt/homebrew/Cellar/ffmpeg/6.0_2/include

# 设置库文件路径
LIBS += -L/opt/homebrew/Cellar/ffmpeg/6.0_2/lib \
        -lavcodec \
        -lavdevice \
        -lavfilter \
        -lavformat \
        -lavutil \
        -lpostproc \
        -lswscale \
        -lswresample \
        -lavresample

打印FFmpeg版本号,测试集成效果。

C++ 复制代码
#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();
}
相关推荐
无知的前端2 分钟前
Flutter开发,GetX框架路由相关详细示例
android·flutter·ios
大熊猫侯佩13 分钟前
iOS 18 中全新 SwiftData 重装升级,其中一个功能保证你们“爱不释手”
数据库·ios·swift
大熊猫侯佩17 分钟前
SwiftUI 6.0(iOS 18)新容器视图修改器漫谈
ios·swiftui·wwdc
Digitally2 小时前
如何将 iPhone 中的短信导出为 PDF
ios·pdf·iphone
帅次18 小时前
Flutter Container 组件详解
android·flutter·ios·小程序·kotlin·iphone·xcode
SoaringHeart20 小时前
SwiftUI组件封装:仿 Flutter 原生组件 Wrap实现
ios·swiftui
I烟雨云渊T21 小时前
iOS 抖音首页头部滑动标签的实现
ios
十月ooOO1 天前
uniapp 云打包 iOS 应用上传到 app store 商店的过程
ios·uni-app
帅次1 天前
Flutter setState() 状态管理详细使用指南
android·flutter·ios·小程序·kotlin·android studio·iphone
kymjs张涛1 天前
前沿技术周刊 2025-06-03
android·前端·ios