1.FFmpeg
1.1FFmpeg的安装
在mac环境下,可以使用homebrew安装FFmpeg即可,如果没有安装homebrew的,上网参考网上文章安装即可
brew install ffmpeg
当命令执行完毕之后,如果能查看到版本信息,则代表正确安装了
songlin@feng-sl ~ master ±✚ ffmpeg -version
ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
built with Apple clang version 12.0.0 (clang-1200.0.32.29)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.2_4 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
安装的时候通过终端的输出信息,可以看到ffmpeg安装到了/usr/local/Cellar 这个目录中的,我们进入目录查看有什么内容
cd /usr/local/Cellar/ffmpeg
open ./

- bin: 可执行文件:ffmpeg、ffprobe、ffplay等命令,如果配置好了环境变量,可以直接在终端使用
播放某个mp4:ffplay xxxx.mp4
查看版本号:ffmpeg -version
- include:一般放开发需要用到的头文件
-lib: 链接时候使用的到库文件
2.Qt
2.1Qt的安装
同样是通过homebrew去安装
brew install qt
最终被安装在/usr/local/Cellar/qt目录
通过cask 去安装qt-creator
brew install --cask qt-creator
装在/usr/local/Caskroom/qt-creator目录
2.2 环境配置
通过brew安装的Qt和Qt Creator是分开的,我们需要绑定两者,打开Qt Creator,打开偏好设置,选择Kits,选择Qt Versions,点击添加,加上我们刚刚下载的qt

然后选择Make Default,滚动到地下,选择刚才设置的Qt版本

3.项目初创
3.1新手搭建项目









3.2 尝试调用函数

可以发现函数调用不起来,这个原因是我们还没有配置库路径,其实就相当于开发iOS里面没有配置framework的意思,我们只要配置上就可以了,xcode里面我们是在build setting中配置,这里我们是在.pro 文件中配置
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
main.cpp \
mainwindow.cpp
HEADERS += \
mainwindow.h
FORMS += \
mainwindow.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
# 设置头文件路径
INCLUDEPATH += /usr/local/Cellar/ffmpeg/4.3.2_4/include
# 设置库文件路径
LIBS += -L/usr/local/Cellar/ffmpeg/4.3.2_4/lib \
-lavcodec \
-lavdevice \
-lavfilter \
-lavformat \
-lavutil \
-lpostproc \
-lswscale \
-lswresample \
-lavresample
或者可以将公共的信息抽取成变量,然后使用$${} 去访问,如下所示
# mac
macx {
FFMPEG_HOME = /usr/local/Cellar/ffmpeg/4.3.2_4
INCLUDEPATH += $${FFMPEG_HOME}/include
LIBS += -L$${FFMPEG_HOME}/lib \
-lavcodec \
-lavdevice \
-lavfilter \
-lavformat \
-lavutil \
-lpostproc \
-lswscale \
-lswresample \
-lavresample
}
另外可以通过message方法打印信息,在调试的时候十分有用,message($$(FFMPEG_HOME))

网友评论