热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ffmpegc语言开发环境搭建,WINDOWS编译FFMPEG4.3搭建VS2019开发环境

安装VS2019前往微软官网下载并安装VS2019社区版安装MSYS2(1)下载安装包前往官网下载MSYS2安装包https:www.msys2.org(假设安装至D:\msys6

安装VS2019

前往微软官网下载并安装VS2019社区版

511a154ba7e2b17a0ba87c8d610469c1.png

安装MSYS2

(1)下载安装包

前往官网下载MSYS2安装包 https://www.msys2.org/ (假设安装至 D:\msys64)

26da941c2f2b6942f7dabe3e3f913545.png

(2)访问windows PATH环境变量

编辑 D:\msys64\msys2_shell.cmd

将 rem set MSYS2_PATH_TYPE=inherit

修改为 set MSYS2_PATH_TYPE=inherit

(3)使用VS2019命令行加载MSYS2

在开始菜单中打开VS2019文件夹,点击 x86 native tools command…

592c42a3c23279a815116fdd10839c54.png

进入msys2所在目录,以32位方式运行 msys2_shell.cmd

288f171ba69d8205aba6da3f78627db9.png

即可顺利启动MSYS2

a5a1e6a53d6f2d88614a7dc80811deb2.png

(4)安装MSYS2编译FFMPEG所需的依赖

依次安装如下工具:

汇编工具

Pacman -S nasm

Pacman -S yasm

项目编译工具

Pacman -S make cmake

比较工具

Pacman -S diffutils

(5)验证

在VS2019命令行输入cmkae,可以正确执行即代表msys2配置成功

fbd2b7127962745d9f6eea958ac36f0d.png

安装FFMPEG依赖

在开始编译FFMPEG之前,我们需要编译X264、fdk-acc、X265

(1)创建源码目录

创建/home/source目录,用于存放源码 D:\msys64\home\source

(2)使用msys2编译X264

将x264放入source目录

cd /home/source/x264/

CC=cl ./configure --enable-shared

Make -j4

Make install

721288a3bb7a09b3f7186be7370e228b.png

(3)使用VS2019命令行编译fdk-acc

将fdk-aac-master放入source目录

cd d:\msys64\home\source\fdk-aac-master

nmake -f Makefile.vc

nmake -f Makefile.vc prefix=.\install install

d1e53f13a5cd9f83bcacc4c9d9fc9ee5.png

(4)使用VS2019的cmake在msys2中编译x265

将x265放入source目录,并使用VS2019的cmake进行编译

查看VS2019 cmake路径

Whereis cmake

dca7d7fc93375440445ab74bc9d8658b.png

编辑文件 D:\msys64\home\source\x265\build\msys-cl\make-Makefiles.sh

cmake -G "NMake Makefiles" -DCMAKE_CXX_FLAGS="-DWIN32 -D_WINDOWS -W4 -GR -EHsc" -DCMAKE_C_FLAGS="-DWIN32 -D_WINDOWS -W4"  ../../source

修改为

/c/"Program Files (x86)/Microsoft Visual Studio/2019"/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe -G "NMake Makefiles" -DCMAKE_CXX_FLAGS="-DWIN32 -D_WINDOWS -W4 -GR -EHsc" -DCMAKE_C_FLAGS="-DWIN32 -D_WINDOWS -W4"  ../../source

使用msys2 进入目录

cd /home/source/x265/build/msys-cl/

./make-Makefiles.sh

Nmake install

执行nmake install 如果出现权限错误,

8f29436837cdab6dc94946d6118020ea.png

那么需要使用管理员权限启动VS2019命令行,再通过命令行启动msys2

4462f58e7cbbba1c1a3679400f901a71.png

执行namake install之后可见x265被编译至  C:/Program Files (x86)/x265/目录

9bec6d3706f75f53602f1db391cb7088.png

我们需要将其复制至msys2的 /usr/local/目录

f04c9ba5fd6cfd57dd74a2ef3992afae.png

编辑D:\msys64\usr\local\lib\pkgconfig\x265.pc

prefix=C:/Program Files (x86)/x265

修改为

prefix=/usr/local

准备编译FFMPEG

进入目录 D:\msys64\home\source\fdk-aac-master\install

将其中的 bin、lib、include 目录 复制至 /usr/local

将 D:\msys64\home\source\fdk-aac-master\fdk-aac.pc.in

复制至 D:\msys64\usr\local\lib\pkgconfig 并重命名为 fdk-aac.pc

将内容替换为:

prefix=/usr/local

exec_prefix=${prefix}

libdir=${exec_prefix}/lib

includedir=${prefix}/include

Name: Fraunhofer FDK AAC Codec Library

Description: AAC codec library

Version:

Libs: -L${libdir} -lfdk-aac

Libs.private:

Cflags: -I${includedir}

将D:\msys64\usr\local\lib\pkgconfig 复制至 D:\msys64\mingw32\lib

进入目录 D:\msys64\usr\local\lib

将 libx264.dll.lib 重命名为 libx264.lib

将 libx265.lib 重命名为 x265.lib

编译ffmpeg

(1)复制FFMPEG 4.3源代码

将ffmpeg源码复制至 /home/source

cd /home/source/ffmpeg-4.3/

(2)使用VS2019编译器配置FFMPEG

CC=cl.exe ./configure --prefix=./install --toolchain=msvc --enable-shared --disable-programs --disable-ffplay --disable-ffmpeg --disable-ffprobe --enable-libx264 --enable-gpl --enable-libfdk-aac --enable-nonfree --enable-libx265

7499703b036d74c1fbac3609859681a0.png

(3)编译FFMPEG

Make -j4

5533d04749e7c8625389833fa232d57c.png

(4)安装FFMPEG

Make install

1c351ddaaa22b7d535930a1cf1892da7.png

整理编译后的文件

成功编译FFMPEG之后,我们需要整理FFMPEG相关文件,以便开发所用

(1)创建目录 ffmpeg4.3_project

进入该目录继续创建文件夹

Include : 用于放置头文件

Lib : 用于放置库文件

Bin : 用于放置DLL

Src :用于放置项目源码

Tools : 放置FFMPEG源码

(2)整理bin目录

复制 D:\msys64\home\source\ffmpeg-4.3\install\bin  中的DLL文件 至bin目录

复制 D:\msys64\usr\local\bin 中的DLL文件至 bin目录

(3)整理lib目录

复制 D:\msys64\home\source\ffmpeg-4.3\install\bin 中的lib文件至 lib目录

(4)整理include目录

复制 D:\msys64\home\source\ffmpeg-4.3\install\include 至include目录

(5)整理tools目录

复制 D:\msys64\home\source\ 至 tools目录

验证

(1)在src目录创建VS2019项目

8ec19d3c21a07bfbe273fc5f00d53924.png

(2)配置附加包含目录路径

8db6f85f912b093a5daa0b20f51a5be1.png

(3)配置附加库路径

6b3a7f5d1e291c82cceaa5344290c156.png

(4)配置输出目录

978f64375a9277d72306241d4eaa3cd0.png

(5)配置工作目录

5fa1588f5c9f4a44b726b5f99efb1b1b.png

(6)创建测试类

df51a9066d109c35d79d60b11c55b496.png

(7)编写代码

#include

using namespace std;

extern "C" {

#include

}

#pragma comment(lib,"avcodec")

int main(int argc, char* argv[])

{

cout <

return 0;

}

(8)测试

8c608b41a99a0122028eba0b4358800f.png

相关下载&#xff1a;



推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 1.直接在cmd窗口运行pipinstalljieba2.使用conda自带的安装工具condainstalljieba3.有一些模块是无法使用以上两种方式安装上ÿ ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
author-avatar
紫云轻梦lyq
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有