音视频开发-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();
}
相关推荐
DisonTangor14 小时前
苹果发布iOS 18.2首个公测版:Siri接入ChatGPT、iPhone 16拍照按钮有用了
ios·chatgpt·iphone
- 羊羊不超越 -14 小时前
App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
android·ios·harmonyos
EasyCVR14 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
简鹿办公15 小时前
使用 FFmpeg 进行音视频转换的相关命令行参数解释
ffmpeg·简鹿视频格式转换器·ffmpeg视频转换
EasyCVR19 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
runing_an_min19 小时前
ffmpeg 视频滤镜:屏蔽边框杂色- fillborders
ffmpeg·音视频·fillborders
岁月小龙1 天前
如何让ffmpeg运行时从当前目录加载库,而不是从/lib64
ffmpeg·origin·ffprobe·rpath
2401_865854881 天前
iOS应用想要下载到手机上只能苹果签名吗?
后端·ios·iphone
HackerTom2 天前
iOS用rime且导入自制输入方案
ios·iphone·rime
良技漫谈2 天前
Rust移动开发:Rust在iOS端集成使用介绍
后端·程序人生·ios·rust·objective-c·swift