音视频开发-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();
}
相关推荐
2501_9160088910 小时前
全面介绍Fiddler、Wireshark、HttpWatch、SmartSniff和firebug抓包工具功能与使用
android·ios·小程序·https·uni-app·iphone·webview
Haha_bj13 小时前
Flutter ——flutter_screenutil 屏幕适配
android·ios
冬奇Lab14 小时前
一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
开源·音视频开发
Haha_bj14 小时前
Flutter ——device_info_plus详解
android·flutter·ios
山水域18 小时前
SKAdNetwork 6.0 深度实战:多窗口转化值(Conversion Value)建模与数据分层架构
ios
JavinLu19 小时前
ios 配置了代理且使用 chls.pro/ssl 下载不了证书,无法弹出下载证书的提示问题
网络协议·ios·ssl
G311354227321 小时前
免费苹果 Plist 文件在线制作 iOS IPA 安装工具
ios
炼金术1 天前
SkyPlayer v1.2.0 : AI 字幕-端侧 Whisper 实时语音识别实践
ffmpeg·openai
2401_832298101 天前
免费p12证书在线检测iOS苹果证书状态一键查询
ios
符哥20081 天前
Swift 开发 iOS App 过程中写自定义控件的归纳总结
ios·cocoa·swift