WIN10下使用VS2017的MSVC编译FFMPEG3.4.2动态静态库

vs2019编译ffmpeg源码为静态库动态库【完整步骤、亲测可行】 本文详细介绍了在VS2019环境下编译FFmpeg源码为静态库和动态库的完整步骤,包括环境准备、源码获取、依赖库配置、编译实战及常见问题解决方案。通过ShiftMediaProject提供的工程文件,开发者可以高效生成适用于音视频开发的静态库(.lib)和动态库(.dll),并支持调试和性能优化。 阅读详情

之前在Win10下成功编译nginx给了我不少信心,这两天尝试在Win10下编译FFMPEG,没想到给捣鼓成功了,记录一下。

首先下载MINGW,这个文章最后放我打包好的下载地址,直接将压缩包解压到C盘根目录下即可,即安装目录为C:\MinGW

里面已经包含了编译FFMPEG所需要的工具。

解压好后进到目录C:\MinGW\msys\1.0下,对msys.bat文件进行编辑

第二行路径修改为你安装的VS2017路径。

FFMPEG工程可以从我的GIT上下载https://gitee.com/main.c/ffmpeg-3.4.2

里面的Makefile即目录经过了简单修改,去掉了ftools即doc,test等的编译。

直接双击运行msys.bat,进入ffmpeg工程目录下,然后进行项目配置,这里贴下我的配置:

静态库:

./configure --target-os=win32 --disable-debug --enable-static --prefix=./vs2017_build_static --toolchain=msvc --disable-encoders --disable-ffserver --disable-ffplay --disable-avdevice --disable-avfilter --disable-postproc

动态库:

./configure --target-os=win32 --disable-debug --disable-static --enable-shared --prefix=./vs2017_build --toolchain=msvc --disable-encoders --disable-ffserver --disable-ffplay --disable-avdevice --disable-avfilter --disable-postproc

--target-os:目标为Window平台,自然选择win32

--disable-debug:禁用了调试信息

--prefix:这是执行make install后库文件所存放目录

--toolchain:编译器选择,使用VS2017的msvc

--disable-encoders:禁用编码器,因为我只使用解码功能

--disable-ffserver:禁用服务器

--disable-ffplay:禁止生成ffplay测试程序,我给删掉了已经

--disable-avdevice:之后几个disable都是我用不到的库,都禁用了

根据情况执行configure之后会在项目根目录下生成config.h文件,这个文件虽然说不建议编辑,但是要进行一次编辑的,打包保存为utf-8编码,默认是GBK编码,编译会不断弹出编码警告,如果不嫌烦可以不管;

好了,接下来直接make就OK了,正常情况下是不会有问题的;

make完之后执行make install将库文件以及头文件复制到之前配置的存放目录里后就OK了。

接下来讲讲怎么用VS2017去调用静态库,动态库就是生成的dll以及lib文件,没啥好说的,静态库这里生成的是.a文件,乍一看有点晕,因为.a静态库是LINUX下的库文件,在Windows上VS中能用吗?可放心使用,因为使用的是msvc编译的,就像.lib静态库一样使用即可,下面看下我的项目中调用的静态库配置:

好了,就讲这些了,工具包下载地址,一个包总是上传失败,优快云的BUG不少啊。。。

https://download.youkuaiyun.com/download/xinxinsky/10338448

https://download.youkuaiyun.com/download/xinxinsky/10338461

808, 905部标流媒体开源项目:https://github.com/Car-eye-team

QQ技术群: 590411159


Windows 10下编译集成libx264的FFmpeg实战指南 本文提供了一份详细的Windows 10环境下编译集成libx264的FFmpeg实战指南。通过MSYS2与Visual Studio组合搭建编译环境,逐步完成libx264库的编译,并最终定制化编译出支持高性能H.264编码的FFmpeg。指南涵盖了环境配置、源码编译、集成测试及常见问题排查,帮助开发者获得完全可控的多媒体处理工具。 阅读详情

相关推荐

避坑指南:用VS2017编译OpenCASCADE 7.3.0,解决Qt项目链接失败问题

本文详细解析了在VS2017环境下编译OpenCASCADE 7.3.0并与Qt项目集成的实战指南,重点解决了动态库加载失败和符号解析错误等常见问题。通过环境准备、编译优化、集成方案对比及推荐实践,帮助开发者高效完成工业设计和CAD系统开发中的技术集成。

weixin_30493401的博客 436

在windows下使用MSVC编译ffmpeg

继承fdk_aac,openssl,x264,x265

weixin_42112444的博客 2785

Windows下使用CMake与VS2022手动编译配置OpenCV 4.5.0全攻略

计算机视觉是人工智能领域的关键分支,其核心在于让计算机从图像或视频中提取并理解信息。OpenCV作为该领域应用最广泛的开源库,提供了丰富的算法和工具,是实现图像处理、目标检测、特征匹配等功能的基石。其价值在于为开发者和研究者提供了一个跨平台、高性能的底层支撑,极大地降低了计算机视觉应用的开发门槛。在工程实践中,为了获得更好的性能、定制化功能或解决特定依赖问题,手动从源码编译OpenCV成为一项重要的进阶技能。这涉及到对构建系统(如CMake)、编译器(如MSVC)和项目依赖管理的深入理解。本指南聚焦于在Wi

weixin_34401479的博客 392

ffmpeg库在VS2017中的编译调试

最近开始学习ffmpeg,其中参考了ffmpeg视频教程链接:https://pan.baidu.com/s/1Z5M1erSc75TaSyAWjeN18g 密码:cttq,以及ffmpeg开发库在vs环境编译运行的博客文章:http://blog.yundiantech.com/?log=blog&id=7,其实关于ffmpeg使用文章很多,但是大多是早些时期的文章,所以在这里将ffmp...

gesanghua601的博客 3300

win10_vs2013_vs2015_vs2017 编译ffmpeg源码 笔记和工具

win10_vs2013_vs2015_vs2017 编译ffmpeg源码 笔记和工具,

ffmpeg3-vs2017-32(window下vs217编译32位的ffmpeg)

ffmpeg版本3源码,MinGW+vs2017编译。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

window10_ffmpeg-msys2-msvc编译

之前的文章都是通过 msys2+MinGW 的方式编译ffmpeg。今天就来讲解如何用 msys2 + msvc 的方式来编译ffmpeg。 ffmpeg 的源码是跨平台的,通过 configure(shell脚本) 实现不同平台的编译规则。在 c

u012117034的博客 4570

【C++PTA】6-1 Point类的运算 (10 分)

定义Point类,有坐标x,y两个私有成员变量;对Point类重载“+”(相加)、“-”(相减)和“==”(相等)运算符,实现对坐标的改变,要求用友元函数和成员函数两种方法实现。对Point类重载<<运算符,以使得代码 Point p; cout<<p<<endl;可以输出该点对象的坐标。 函数接口定义: 实现Point类。 裁判测试程序样例: /* 请在这里填写答案 */ int main(int argc, char const *argv[]) { P

libertye的博客 2367

ffmpeg4.1 MSVC静态编译

ffmpeg的原生依赖编译,你希望想要的那个dll 机器视觉处理时经常要用到视频和流的处理这就难免要用到ffmpeg这货了,有时调试和部署时官方的二进制dll是g++版的,而且也不方便修改内部的操作和定制。部署有时依赖问题造成冲突程序崩溃。dll过多拷贝掉就悲剧了。 ffmpeg的编译是灾难的 linux下发展过来的依赖链接比较复杂。 下面就将ffmpeg的vc依赖和其他依赖都剔除 编译出单个...

xhamigua 1752

Windows下Python多版本共存与切换的终极指南(含环境变量详解)

本文详细解析了在Windows系统下实现Python多版本共存与切换的完整方案。通过深入讲解环境变量Path的底层机制,提供了从安装策略、精细化Path管理到创建快速切换脚本的实战指南,并介绍了py启动器和虚拟环境等高级技巧,帮助开发者彻底解决版本冲突问题,提升开发效率。

v6b7n8m9q0的博客 537

MuJoCo 机械臂关节空间阻抗控制Impedance实现(附代码)

阻抗控制通过调整关节的刚度和阻尼,让机器人在接触时产生顺应性,减少冲击力,其核心目标是在接触外部载荷时能够自适应调整输出力矩,实现力与位置的协同控制。阻抗控制可以很快的到达设定位置,在此基础上,使用mujoco交互中的施加外力操作,可以看到当外力松开后,机械臂也可以很快的回弹回设定位置。其中self.Kp和self.Kd为固定刚度和阻尼系数,通过修改刚度和阻尼参数,可以变得更柔顺来应对各种场景。注释掉该行后,直接simulate仿真可以看到机械臂控制位置震荡等情况,接下来引入关节空间阻抗控制的代码。

darcsdn 1271

在Windows7/10上通过VS2013编译FFmpeg 4.1.3源码操作步骤

多年前在https://blog.csdn.net/fengbingchun/article/details/40951403 中对FFmpeg在windows下的编译过程做过说明,那时FFmpeg版本用的2.4.3, VS是2010,现在FFmpeg最新稳定版为4.1.3,通过VS2013进行编译,较之前有了些不同,这里再次介绍下: 一、编译x86库: 1. 从https://osdn.ne...

网络资源是无限的 2911

电机驱动技术中关于磁阻转矩生成的理解

正交在物理学和数学中指的是两个方向或两个向量之间的夹角为90°(直角)。在图中,当气隙磁场的轴线与转子轴线的夹角为90°时,我们称它们为正交。转子磁极的方向。通常由转子的磁极中心指向另一极的连线表示。转子轴线用图示中的d 轴表示。通过对定子、转子、气隙磁场、磁力线的理解,我们可以清晰地分析不同角度下电磁转矩的方向。这种分析不仅有助于电机的理论学习,还能为实际设计提供重要参考。掌握这些基础知识后,可以更好地理解电机工作原理及优化其性能。

weixin_48327795的博客 2074

win10下编译ffmpeg + H264 + 支持H265的rtmp

win10下编译ffmpeg + H264 + H265 + rtmp + ffplay + acc下载msys并安装相应环境几点注意编译h264和h265几点注意编译sdl acc相关 下载msys并安装相应环境 参考: https://www.jianshu.com/p/5f175dec9109 http://www.adintr.com/article/blog/328 本人使用vs2019进行编译 使用适用于 VS 2019 的 x64 本机工具命令提示 几点注意 重命名msys64/usr/bi

雲泥有別 尘亦生辉 1971

《Linux GPU 驱动核心机制:面向图形与 AI 计算的 DRM 内存管理与任务调度》 目录

本文以缓冲区对象(BO)生命周期为主线,系统解析 Linux DRM 子系统中 GPU 驱动的核心机制。涵盖 GEM 与 TTM 内存管理、dma-buf/dma-fence 共享同步、GPU 调度与地址空间管理,结合 amdgpu、Xe 等驱动代码,深入剖析其设计动机与实现逻辑。旨在填补中文领域对 GPU 内核机制系统性讲解的空白,为图形与 AI 计算场景下的内存泄漏、同步死锁等疑难问题提供可追溯的分析路径。

图形/计算GPU的驱动与虚拟化技术分享园地 3719

QGC4.0.11界面修改

QGC4.0.11。

超维空间科技的博客 2466

live555开发笔记(一):live555介绍、windows上msvc2017编译和工程模板

在pc上搭建流媒体服务器软件,打开视频接受推流,使用live555方案。Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了标准流媒体传输,是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 4万+

【误码率仿真】基于matlab 小波变换OFDM误码率仿真

其中,与传统的 OFDM 相比,小波变换 OFDM 在进行调制和解调时,使用的是小波变换函数。需要注意的是,由于小波变换函数将频域信号转换为时域信号,因此与传统 OFDM 不同,小波变换 OFDM 中的信号需要在时域上添加循环前缀。与传统的 OFDM 不同,小波变换 OFDM 使用小波函数作为基函数,而非正弦函数作为基函数,因此可以在保持子载波正交性的同时,让子载波之间的带宽变得更加均匀。在频域进行信号加权,然后进行小波逆变换,得到时域信号。在接收端进行信号接收,去掉循环前缀并进行小波变换得到频域信号。

Fanjufei的博客 662

原 win10 msys2 vs2015 ffmpeg3.2.2 编译

01 环境 win10x64企业版。vs2015update3企业版。git(git version 2.10.0.windows.1)。 02 下载ffmpeg代码 git clone https://git.ffmpeg.org/ffmpeg.git git tag #目前最新稳定版本3.2.2 git checkout -b release3.2.2 n3.2.2 1 2 ...

weixin_33767813的博客 208

qwen2vl ValueError: Image features and image tokens do not match: tokens: 568, features 600

本文介绍了一个用于计算多模态数据集中样本token数量的Python工具,特别针对包含文本和图像的Qwen2-VL模型数据集。

q742971636的博客 1012

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

OpenCV_开发环境搭建(OpenCV-4.9.0,WIN11,MSVC_X64)

【代码】OpenCV_开发环境搭建(OpenCV-4.9.0,WIN11,MSVC_X64)

勇敢小觉的技术博客 678

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

9.下载ffmpeg、使QT支持同时编译32位和64位

1.FFMPEG下载 进入http://ffmpeg.org/download.html,如果下载源码,则在右下方: 如果在linux中,直接输入git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg下载即可下载库到windows中,则点击: 这里我们选择下载最新版本20200831的shared和dev: Static静态库 : 这个版本只...

抵抗时间扭曲,坚持做一件有意义的事 944

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Windows平台下编译FFmpeg

最近一时兴起想整一下windows下面的FFmpeg编译,当然可以直接下载官方编译好的库,有个缺点就是官方的是默认的编译配置,所以如果我们想自定义配置ffmpeg的编译参数,还是得自己亲自来编译,官方提供三个版本的编译:  - static:只有编译完成的exe程序;  - shared:包含dll和exe;  - dev: 包含头文件.h,lib和dll.a 先来几个参考网站, 1、官方编译...

华的专栏 2379

CEF 3.2623.1401 编译日志 2017

cef3编译

ijiabao的博客 2845
上一篇: car-eye server 开发之 Nginx RTMP server
下一篇: 优快云下载上传资源页面发现的一处BUG
路过&
博客等级 码龄19年 126粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值