音视频开发五:visual studio集成使用FFmpeg

这篇具有很好参考价值的文章主要介绍了音视频开发五:visual studio集成使用FFmpeg。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 下载ffmpeg编译好的Windows版本

ffmpeg 官网 -> download -> 选择Windows系统 -> 选择gyan.dev版本-> shared版本

gyan.dev,音视频开发,ffmpeg,音视频

在Windows系统上,Gyan.dev和BtbN都提供了FFmpeg的预编译版本。Gyan.dev通常使用MSVC编译器,而BtbN使用MinGW编译器。因此,Gyan.dev的版本可能会更符合Windows标准,而BtbN的版本可能会更加开放和跨平台。

选择 shared版本

gyan.dev,音视频开发,ffmpeg,音视频

各个版本的区别介绍

  • essential就是简版,只包含ffmpeg.exe、ffplay.exe、ffprobe.exe
  • Full版适用于终端用户,因为它包含了所有的可执行文件和静态库,用户可以从命令行调用FFmpeg的工具来进行视频处理
  • Full-Shared版仅包含共享库和工具,不包含可执行文件和静态库,这使得开发者可以使用FFmpeg的功能实现自己的应用程序或集成FFmpeg到自己的项目中。

2. 设置环境变量

下载后解压,文件目录如下:

gyan.dev,音视频开发,ffmpeg,音视频

设置一下将bin目录设置到环境变量中去。配置环境变量不明白自行搜索。

接下来在打开命令终端
输入 ffmpeg -version。

gyan.dev,音视频开发,ffmpeg,音视频

这样就表示成功。

3. visual studio2022 配置FFmpeg环境

1. 设置附加包含目录

首先右键点击创建的项目FFmpegTest,选择属性

gyan.dev,音视频开发,ffmpeg,音视频

在配置属性中选择C/C++目录中常规属性的附加包含目录添加ffumpeg的头文件目录。

gyan.dev,音视频开发,ffmpeg,音视频

2. 设置附加库目录

在配置属性中选择链接器中常规属性附加库目录添加ffmpeg的lib路径。

gyan.dev,音视频开发,ffmpeg,音视频

3.设置附加依赖项

在链接器输入属性中附加依赖项添加具体的依赖库名称

gyan.dev,音视频开发,ffmpeg,音视频

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib

4. 配置调试环境

上述环境基本就设置好了,如果在使用ffmpeg库编译代码的时候,提示没有找到xx.dll库。

原因: 由于没有找到ffmpeg动态库所在的目录。

解决: 设置调试时的环境变量,把ffmpeg动态库的路径添加到环境变量中。

配置属性-> 调试 -> 环境- >添加路径

gyan.dev,音视频开发,ffmpeg,音视频

4. 测试是否配置成功

1. 编写代码

#include <iostream>

extern "C" {
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
}

int main()
{
    std::cout << "Hello World!\n";
    printf("%s\n", avcodec_configuration());


}

使用extern “C” 。"extern C"是一种语言特性,用于在C++代码中引用C语言函数。因为ffmpeg是用C语言编写的,告诉链接器在链接的时候用C函数规范来链接,确保C++代码和FFmpeg使用相同的函数名(主要原因是C++和C程序编译完成后在目标代码中命名规则不同)。这样,当我们在编译和链接时使用C++编译器时,编译器将关闭函数名称修饰,从而让我们能够直接使用FFmpeg的C函数

2.执行结果

gyan.dev,音视频开发,ffmpeg,音视频

这样就配置成功了。文章来源地址https://www.toymoban.com/news/detail-763384.html

到了这里,关于音视频开发五:visual studio集成使用FFmpeg的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android音视频开发(三)——MediaExtractor和MediaMuxer的使用

    了解了音视频的编解码过程,我们接下来使用一下经常跟MediaCodec一起搭配的MediaExtractor和MediaMuxer。最后会使用一个简单的demo来了解具体了解这两个工具类的使用过程。这一节我们就先不讲MediaCodec了,放到下节的demo。 Android提供了一个MediaExtractor类,可以用来 分离容器中的

    2024年02月01日
    浏览(56)
  • 音视频开发:ffplay使用ffmpeg滤镜实现倍速播放

    曾经为实现倍速播放使用过ffmpeg,对音频使用atempo滤镜即可实现变速不变调。但是当时效果并不是特别好,和soundtouch相比处理后的音质有明显的区别。最近用新版本的ffmpeg滤镜重新实现了倍速播放,发现效果变好,已经达到可接受的程度,所以在此分享具体实现。 ffmpeg倍速

    2024年02月03日
    浏览(67)
  • 使用Python开发一个自动给抖音视频点赞的功能

    目录 1、解释说明: 2、使用示例: 3、注意事项: Python是一种高级编程语言,广泛应用于软件开发、数据分析、人工智能等领域。在抖音这样的短视频平台上,用户可以对喜欢的视频进行点赞。本模块将介绍如何使用Python开发一个自动给抖音视频点赞的功能。 首先,需要安

    2024年02月04日
    浏览(41)
  • C++/Qt音视频通话开发MetaRTC源码解读,coturn穿透stun的使用

    本章内容解读MetaRTC开源代码,无任何二次开发,用于学习交流。 MetaRTC是国人开发的开源项目,适用各种场景音视频二次开发,可以去git阅读README,我们使用相对成熟的版本测试: Release v5.0-b4。 之前的demo是在同一个局域网的条件下,sdp交换IP和端口后就可以收发音视频数据

    2023年04月18日
    浏览(38)
  • linux 音视频架构 linux音视频开发

    转载 mob6454cc65110a 2023-07-26 22:27:01 文章标签 linux 音视频架构 ci QT 视频教程 文章分类 架构 后端开发 阅读数 117 目录 前言 1、软件工具准备 a. 录音软件 b. 录屏软件 c. 摄像头软件 d. 安卓屏幕操作软件 e. 视频剪辑软件

    2024年02月07日
    浏览(49)
  • JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像

    《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 ​ 两年前博主写了如何利用JavaCV解析各种h264裸流,《JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并解析预览图像》,但是随着时间变化,各个厂商s

    2024年02月14日
    浏览(32)
  • Qt音视频开发45-音视频类结构体参数的设计

    视频监控内核组件重构和完善花了一年多时间,整个组件个人认为设计的最好的部分就是各种结构体参数的设计,而且分门别类,有枚举值,也有窗体相关的结构体参数,解码相关的结构体参数,同时将部分常用的结构体参数的获取和设置单独提供了函数,参阅海康大华等大

    2024年02月05日
    浏览(56)
  • JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调录像回放视频PS码流并解析预览图像

    《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 ​ 上一章中《JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS流并解析预览图像》已经详细介绍了针对海康SDK实时视频流回调的TS流解析实现,并且也提到了PS流和

    2024年02月16日
    浏览(42)
  • Qt/C++音视频开发46-音视频同步保存到MP4

    用ffmpeg单独做视频保存不难,单独做音频保存也不难,难的是音视频同步保存到MP4中,重点是音视频要同步,其实这也不难,只要播放那边音视频同步后的数据,写入到文件即可。最难的是在播放过程中不断随机的切换播放进度,而且还会暂停播放、暂停录制的情况出现,这

    2024年02月17日
    浏览(51)
  • JavaCV音视频开发宝典:UDP广播推流 使用UDP方式推送广播TS流 实现UDP一对多广播

    《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 ​ 在之前文章中我们已经实现rtp点到点传输JavaCV音视频开发宝典:rtp点到点音视频传输(一对一音视频直播)和rtp广播JavaCV音视频开发宝典:rtp广播方式发送TS流音视频传输(一对多音视频会议

    2023年04月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包