FFmpeg 4.3 音视频基础到工程应用-多路H265监控录放C++开发一 : 环境搭建1 vs2019 安装,

一 VS2019安装

https://pan.baidu.com/s/1CtMOM5Zhu-HcHcj611edOg#list/path=%2F
密码 p668

二 菜单运行vs2019编译控制台

如果我们要build 32 位的程序,则使用

如果我们要build 64 位的ffmpeg,则使用 x64 Navite Tools Command Prompt for VS 2019

我们当前以32 位 为例,实现:

2.2 使用cl 编译源码

cl命令 是‌Microsoft Visual C/C++编译器的一部分,用于编译C、C++和C++/CLI程序

2.2.2 将msys64 解压后复制 到 D:\Ctool\msys64,本地使用的msys64 是免安装版,直接复制到你想要的目录下就好

然后测试发现不能使用,可能是版本太低了。

因此我们下载一个msys2的最新版本 msys2下载地址如下:

https://www.msys2.org/

然后还是安装到 D:\Ctool\msys64

2.2.4 然后执行命令 msys2_shell.cmd -mingw32

2.2.5 将 x86 Native Tools Command Prompt for VS 2019的运行环境共享给 mingw32控制台

然后再mingw32的控制台上要使用cl 命令 ,这时候再 mingw32 控制台上使用cl 命令,发现不能用,这是因为 mingw32 控制台 并没有共享 x86 Native Tools Command Prompt for VS 2019的运行环境,因此我们需要 将 x86 Native Tools Command Prompt for VS 2019的运行环境共享给 mingw32控制台。

改动方法:打开msys2_shell.cmd 脚本,使用文本打开

将 rem set MSYS2_PATH_TYPE=inherit 改为 set MSYS2_PATH_TYPE=inherit

意思是可以继承外部的环境变量

然后关掉 mingw32控制台,在x86 控制台上重新启动mingw32 命令:msys2_shell.cmd -mingw32

顺手改动一下 mingw32的 中文乱码,由于在vs2019中都是使用的GBK的编码,因此我们这里要将mingw32的编码也换成GBK的编码。

再次执行:

2.3 msys64 依赖的环境安装

pacman -S nasm

pacman -S yasm

pacman -S make

pacman -S cmake

pacman -S diffutils

pacman -S pkg-config

pacman -S git

安装的汇编工具,编译x264 和ffmpeg 时会用到
pacman -S nasm

安装的汇编工具,编译x264 和ffmpeg 时会用到
pacman -S yasm

项目编译工具,必须要安装
pacman -S make cmake 

比较工具,ffmpeg configure 生成makefile 时用到
pacman -S diffutils

库配置工具,编译支持x264,x265时用到
pacman -S pkg-config

从版本库下载源码时用到
pacman -S git

在mingw32 控制台上执行第一个命令

由于国内网络的原因,链接不上

这时候可以改动一下网络源

先切换源,编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686

编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64

编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch

然后 执行 pacman -Sy 更新源

2.4 使用msys64 编译x264源码

2.4.1 将x264 源码放置在 D:\Ctool\msys64\home 下

2.4.2 在 mingw32控制台执行

cd /home/x264

CC=cl ./configure --enable-shared

make -j16

make -j16 之后我们可以看到生成了 静态lib 和 动态dll

然后再make install ,可以看到 会将 x264的 lib ,bin,include 拷贝到 D:\Ctool\msys64\usr\local

至此,x264 编译完成

其中一个比较容易忽视的是x264.pc文件,实际上包含的信息是很多的:

那么这个有啥用呢?实际上在项目配置的时候只要找到这个 x264.pc就可以了。

2.5 使用vs2019的控制台编译fdk-aac源码

这里要注意的是fdk-aac的编译不需要用到 msys64,

2.5.1 将 fdk-aac 的源码放在D:\Ctool\msys64\home 下

2.5.2 使用 x86 Native Tools Command Prompt for VS 2019 控制台 开始build

进入到当前目录
nmake -f makefile.vc
nmake -f makefile.vc prefix=.\install install
生成文件目录如下
最后将生成的这些文件都拷贝到 D:\Ctool\msys64\usr\local 下
最后检查一下 D:\Ctool\msys64\usr\local\bin

2.6 使用msys64 编译x264源码

相关推荐
VBA63374 分钟前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~5 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳15 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it15 分钟前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
lxyzcm25 分钟前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
蜀黍@猿44 分钟前
C/C++基础错题归纳
c++
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师1 小时前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
雨中rain1 小时前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
就爱学编程1 小时前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法