ffmepg cmake链接编译

该文介绍了一段使用C++编写的ffmpeg音频混音代码,主要涉及在Linux服务器上对音频进行混音操作。通过创建AudioMixer类,实现了添加音频输入和输出、初始化混音器以及处理音频帧的功能。代码中利用了ffmpeg库,包括amix和abuffersink滤镜,用于混合和输出音频。此外,还展示了CMakeLists.txt文件配置,用于构建该项目。
摘要由CSDN通过智能技术生成

最近在linux服务器上做ffmpeg混音的一个测试,网上找了一个代码,加上自己写了cmakelist。自己写cmake比较少,记录一下。ffmpeg为4.3版本

下面四个为我创建的文件

audiomixer.cpp


audiomixer.h

main.cpp

CMakeLists.txt

#=======================================================================
#Cmake最低版本要求 
CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 
PROJECT(audiomix) #项目名称 
 
#允许gdb调试 
set(CMAKE_BUILD_TYPE "Debug") 
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") 
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") 
 
#添加C++11支持及其他选项 
set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g") 
 
 
#=========================================================================
 
#添加所有头文件
include_directories(
    "${CMAKE_CURRENT_SOURCE_DIR}/."
    "${CMAKE_CURRENT_SOURCE_DIR}/../../ffmpeg/ffoutput/include"
)
 
#将所有的源文件
file(GLOB td_src
    "${CMAKE_CURRENT_SOURCE_DIR}/*"
)
 
#添加动态库so
link_directories(
    "${CMAKE_CURRENT_SOURCE_DIR}/../../ffmpeg/ffoutput/lib"
)
 
#=========================================================================
#生成可执行文件 
add_executable(audiomix ${td_src}) 
 
#添加链接库 
target_link_libraries(audiomix 
    avfilter
    avformat
    swscale
    swresample
    avcodec
    avdevice
    avutil
    pthread
    z
    lzma
)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值