FFMPEG在Windows下编译(MIMO431)

/***************************************************************************************************************************************************************************************************************************************************
第一次编辑:2021-02-24 10:55 原文编辑
第二次编辑:2021-02-24 16:05 第一次修改**

​ 第三次编辑:2021-02-25 13:09 第二次修改
***************************************************************************************************************************************************************************************************************************************************/

1.参考链接

B站乔红---Redknot
https://www.bilibili.com/video/BV17i4y1G7WA 二次编辑:
本文编译结果不会生成lib文件(Windows平台开发使用),后续进行添加
三次编辑:
没注意,lib文件实际上在bin里面,0.0

1.下载准备

X264
https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2 FFmpeg-4.3.2
1.官网下载:http://ffmpeg.org/releases/ffmpeg-4.3.2.tar.xz
2.Git下载:https://gitee.com/mirrors/ffmpeg.git MSYS2
https://repo.msys2.org/distrib/x86_64/msys2-x86_64-20210215.exe

2.更换为清华源

#全部位开头添加
nano /etc/pacman.d/mirrorlist.mingw32
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686 nano /etc/pacman.d/mirrorlist.mingw64
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64 nano /etc/pacman.d/mirrorlist.msys
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch #刷新
pacman -Sy

3.MSYS下环境配置(MINGW64)

1.安装mingw核心模块
pacman -S mingw-w64-x86_64-toolchain
2.make 相关
pacman -S base-devel
3.安装nasm
pacman -S nasm

4.build.sh

basepath=$(cd `dirname $0`;pwd)
echo ${basepath} cd ${basepath}/x264-master
pwd
./configure --prefix=${basepath}/x264_install --enable-static --enable-win32thread
make -j8
make install cd ${basepath}/ffmpeg
pwd ./configure --prefix=${basepath}/ffmpeg432_install --enable-static --enable-shared --enable-libx264 --enable-gpl \
--extra-cflags=-I${basepath}/x264_install/include \
--extra-ldflags=-L${basepath}/x264_install/lib make -j8
make install

5.编译

将FFmpeg包,X264包,build.sh放到用户目录下,即软件安装目录/home/mimo431

个人示例:F:\Software\msys\home\mimo431\bianyi

根据自己的文件夹名称修改shell脚本内容

打开msys窗口,选择64位

 sh build.sh

编译费时较长,最后会生成x264_install和ffmpeg432_install两个文件夹,里面有头文件和库文件。

编译结束。

Windows下FFMEPG编译的更多相关文章

  1. 原创 C++应用程序在Windows下的编译、链接:第一部分 概述

    本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.ex ...

  2. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...

  3. C++应用程序在Windows下的编译、链接(一)概述

    C++应用程序在Windows下的编译.链接(一)概述 本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 c ...

  4. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  5. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

  6. windows下rabbitmq-c编译(带openssl、无需MinGW)

    因为项目原因,需要使用到rabbitmq的c客户端库.首先,参见上一篇windows下openssl编译,如果已经使用cmake编译过了,则先delete cache(File-Delete Cach ...

  7. Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)

    后记: 由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看: <Windows7 VS2015 下编译 PythonQt3.2> https:// ...

  8. Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)探索

    时间:2018年10月20日 笔者最近在做Qt方面的开发工作,需用到脚本程序对程序内部进行扩展,就很自然的想到了PythonQt,下面介绍PythonQt在Windows下的的安装编译心得,水平有限, ...

  9. 设置 Quick-Cocos2d-x 在 Windows 下的编译环境

    http://cn.cocos2d-x.org/tutorial/show?id=1304 设置 Quick-Cocos2d-x 在 Windows 下的编译环境 Liao Yulei2014-08- ...

随机推荐

  1. python 装饰器的使用

    装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权 ...

  2. VS2010 显示TFS删除项

    通过 TFS 是删除的工程显示出来, 操作步骤.Tools->Options-> Source Control ->Visual Studio Team Foundation Ser ...

  3. AOP源码解析之二-创建AOP代理前传,获取AOP信息

    AOP源码解析之二-创建AOP代理前传,获取AOP信息. 上篇文章对AOP的基本概念说清楚了,那么接下来的AOP还剩下两个大的步骤获取定义的AOP信息,生成代理对象扔到beanFactory中. 本篇 ...

  4. vscode使用python虚拟环境

    vscode使用python虚拟环境 创建好虚拟环境之后,在vscode中配置使用python的虚拟环境. 首先打开设置,然后搜索python venv, 在python: Venv Path中设置为 ...

  5. Java基础——自动装箱与拆箱

    装箱:把基本数据类型转换为对应的包装类类型 //装箱Integer i=Integer.ValuesOf(100);//自动装箱integer i1=100;//能够直接赋值成功的称为自动装箱,也调用 ...

  6. kali下对Docker的详细安装

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 前言 Docker是渗透测试中必学不可的一个容器工具,在其中,我们能够快速创建.运行.测试以及部署应用程序.如,我们对一些漏洞进行本地复现时,可以 ...

  7. SQL语句优化、mysql不走索引的原因、数据库索引的设计原则

    SQL语句优化 1 企业SQL优化思路 1.把一个大的不使用索引的SQL语句按照功能进行拆分 2.长的SQL语句无法使用索引,能不能变成2条短的SQL语句让它分别使用上索引. 3.对SQL语句功能的拆 ...

  8. 通过TCP Allocate连接数告警了解promethous-NodeExporter数据采集及相关知识扩散

    1.问题由来 近日有环境告警如下:TCP Allocate连接数过多 很多资料告诉我们使用:netstat –ant | grep ^tcp | wc –l命令查询,但查询的值与告警中获取的只相差很大 ...

  9. 使用数据库连接工具DBeaver连接H2数据库

    H2数据库第一次听说,学习了. H2数据库自带了一个浏览器web操作,但是非常的不好用,用DBeaver看着好用多了. 1.点击带+的连接图标 2.选择ALL点击H2 Embedded.(如果本地没有 ...

  10. python练习册 每天一个小程序 第0006题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都 ...