Qt开发 之 Mac上使用FFmpeg

1、安装

1.1、命令安装

brew install ffmpeg

如果没brew的,请看这篇文章:Mac系统命令使用记录

此过程较久,需要装很多包:
在这里插入图片描述

1.2、安装好后

在这里插入图片描述

1.3、查找头文件和库的位置

利用pkg-config查找文件位置。
如果没有这个命令,继续参考:Mac系统命令使用记录

pkg-config --cflags libavutil  #查找相应头文件
pkg-config --libs libavutil    #查找相应库文件

我的电脑的效果:
在这里插入图片描述

2、pro文件夹加入

2.1、添加ffmpeg头文件和库

mac上这么加

macx {
    message("- macx -")
    # ffmpeg
    INCLUDEPATH += -I /usr/local/Cellar/ffmpeg/4.3.1_9/include
    LIBS += -L /usr/local/Cellar/ffmpeg/4.3.1_9/lib  -lavutil -lavcodec -lavfilter -lavformat -lswscale
}

2.2、修改输出路径

# 输出主程序路径
CONFIG(debug, debug|release){
    DESTDIR =$$PWD/bin_debug
} else {
    DESTDIR =$$PWD/bin_release
}

3、源文件中写入ffmpeg要做的事

这里我简单的让他打印一下 log

#include <QApplication>
//由于ffmpeg是c开发的,所以需要加上extern "C" 关键字
extern "C"{
#include "libavutil/log.h"
};

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    av_log_set_level(AV_LOG_DEBUG);  //设置日志级别
    av_log(nullptr, AV_LOG_DEBUG, "hello_ffmpeg"); //打印日志

    return a.exec();
}

4、效果图

在这里插入图片描述

5、应用程序包

在这里插入图片描述

6、FFMPEG基本的一些命令

6.1、查看当前可用媒体设备

ffmpeg -f avfoundation -list_devices true -i ""

在这里插入图片描述

6.2、同时录制音视频

ffmpeg -f avfoundation -r 30 -i 0:0 out.mp4

-r 30是30帧的意思,0:0是 视频索引 :音频索引, out.mp4是指输出的文件,录制好后,按q退出

效果:
在这里插入图片描述
在这里插入图片描述

6.3、播放视频

视频一般是用h264,音频用的是acc。
在这里插入图片描述

注意哦,用这种形式生成的mp4。如果默认播放器QuickTime Player无法播放,可以下载vlc player或者用ff自带的ffplayer。

ffplay out.mp4

效果:
在这里插入图片描述

在这里插入图片描述

6.4、生成指定格式的视频

mac上生成60帧,1920x1080分辨率,yuv420p的视频

ffmpeg -f avfoundation -r 60 -video_size 1920x1080 -i 0:0 -pix_fmt yuv420p -y out.mov

6.5、查看视频信息

ffmpeg -i out.mov

在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页