美文网首页
qt构建ffmpeg工程

qt构建ffmpeg工程

作者: stnevermore | 来源:发表于2022-07-08 05:47 被阅读0次

构建FFMPEG新工程

CMakeList.txt大概

CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
PROJECT(ffmpegApp LANGUAGES C CXX)

#set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "-D__STDC_CONSTANT_MACROS")


SET(FFMPEG_LIB_DIRS 
    D:/projects/ffmpeg/ffmpeg-shared)

SET(AVCODEC_LIBRARY ${FFMPEG_LIB_DIRS}/lib/avcodec.lib)
SET(AVFORMAT_LIBRARY ${FFMPEG_LIB_DIRS}/lib/avformat.lib)
SET(AVUTIL_LIBRARY  ${FFMPEG_LIB_DIRS}/lib/avutil.lib)
SET(AVDEVICE_LIBRARY  ${FFMPEG_LIB_DIRS}/lib/avdevice.lib)

#group source files, header files, resource files and ui files
SET(FFMPEGAPP_SRCS
    main.cpp
)

SET(FFMPEGAPP_HDRS
)

SET(UI_FILES
)
SET(QRC_SOURCE_FILES 
)

#add the resource files into qt project
QT5_ADD_RESOURCES(QRC_FILES ${QRC_SOURCE_FILES})


#integrate all the files to generate the executable program
ADD_EXECUTABLE( ${CMAKE_PROJECT_NAME}
  ${FFMPEGAPP_SRCS}
  ${FFMPEGAPP_HDRS}
)

include_directories(${CMAKE_PROJECT_NAME} 
    ${FFMPEG_LIB_DIRS}/include
    ${CMAKE_CURRENT_SOURCE_DIR}
)

target_link_libraries(${CMAKE_PROJECT_NAME} 
    ${AVCODEC_LIBRARY} 
    ${AVFORMAT_LIBRARY} 
    ${AVUTIL_LIBRARY} 
    ${AVDEVICE_LIBRARY}

)
message(STATUS "${AVDEVICE_LIBRARY}")

**
这里需要注意,如果构建工程,PROJECT(ffmpegApp LANGUAGES C CXX), 这里只选C那么你构建的是main.c 那么在代码中可以直接 #include <libavcodec\avcodec.h>,如果你构建的是CPP程序,即用CXX,那么就是main.cpp里面使用就需要使用extern "C",否则会出现 error LNK2019: 无法解析的外部符号
**

extern "C"
{
    #include <libavcodec\avcodec.h>
    #include <libavformat\avformat.h>
    #include <libswscale\swscale.h>
    #include <libavutil\pixfmt.h>
    #include <libavutil\imgutils.h>
};

关于QCameraImageCapture::imageAvailable 无效的问题

今天终于来填坑了,原来做一个项目利用摄像头获取图像数据,当时也打算用QCamera使用,但是后来放弃了,当时也是遇到无法回调图像数据。Qt里面有一个信号

imageAvailable
https://doc.qt.io/qt-5/qcameraimagecapture.html#imageAvailable
在代码中添加下面的函数,想通过这个获取每一帧的数据进行处理
connect(m_imageCapture.data(), &QCameraImageCapture::imageAvailable, this, &Camera::frameProcessing);

然而一直获取不到。搜了一下发现很多人遇到这个问题,在window下这个信号是不支持的


image.png
image.png
image.png

相关文章

  • qt构建ffmpeg工程

    构建FFMPEG新工程 CMakeList.txt大概 **这里需要注意,如果构建工程,PROJECT(ffmpe...

  • Qt项目中导入FFmpeg开源库

    1.简介 FFmpeg是音视频编解码的开源框架,下面主要是如何在Qt工程中导入FFmpeg,以及在导入FFmpeg...

  • QT on Android配置应用信息

    QT on Android配置应用信息 1.新建工程 2.选择——项目——构建——构建步骤——Build Andr...

  • Qt之构建xcodeporj工程

    楔子: 目前我们在做Mac项目的时候,需要用到一个白板的功能,但是目前大多数的原生代码不能写出很好的实现来,绘制出...

  • FFmpeg简介

    目录: 1、为什么选择FFmpeg? 2、Windows开发环境搭建(包括FFmpeg和Qt) 3、Mac开发环境...

  • FFMPEG+SDL播放器开发入门-解封装和视频显示

    背景 开发环境搭建请参考FFMPEG入门系列01-QT+FFMPEG4.0 Windows开发环境搭建本章内容讲解...

  • ffmpeg for mac调用

    FFMPEG for mac 链接问题 在mac 编译OXS平台的FFMPEG 在QT调用时遇到链接不过的问题.起...

  • QML用户界面基础(一)

    QML 允许开发人员以声明的方式构建用户界面。Qt Quick[https://doc.qt.io/qt-5/qt...

  • cmake 常用知识点

    不同的环境有不同的工程构建方法,例如qt用qmake语法,gnu用make语法,微软有nmake等等,对于不同的M...

  • C++基础学习笔记(四):文件

    写在开头 由于我使用的是Qt Creator,所以构建目录默认不在工程目录中,在进行与文件有关的操作时,要把文件放...

网友评论

      本文标题:qt构建ffmpeg工程

      本文链接:https://www.haomeiwen.com/subject/sjpmbrtx.html