windows下编译ffmpeg 最详细教程

1 Ffmpeg下载地址:FFmpeg

使用命令下载 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

下载完成后会发现如下目录:

2  msys2下载地址:MSYS2

解压好后,选择一个非空路径安装,安装好后路径如下:

为什么要编译?

由于FFpeg目前不提供预编译的库文件,需要自己下载并编译,自定义配置和优化,比直接下载预编译的二进制的版本更加灵活。

3 安装好msys后,打开下面的mingw64.exe然后依次执行下面的命令:

  1. pacman -Syu  用来更新系统
  2. pacman -Syu 更新后会关闭终端 再次打开执行
  3. pacman -Su  更新所有的软件包
  4. pacman -S git gcc make yasm pkg-config 安装编译工具和必要的库
  5. pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-ffmpeg 安装ffmpeg需要的库
  6. cd e/ffmepg/ffmpeg  进入到ffpmeg安装路径下,根据自己的安装路径更改
  7. ./configure --       配置参数 具体的配置参数我列举在下面了,根据自己的需要配置

·  --prefix=/e/msys2/msys64/mingw64:安装路径为 E:\msys2\msys64\mingw64。

·  --target-os=mingw32:目标操作系统为Windows。

·  --arch=x86_64:目标架构为64位。

·  --enable-shared:启用共享库。

·  --disable-static:禁用静态库。

·  --enable-gpl:启用GPL许可证下的代码。

·  --enable-libx264:启用libx264编码器。

·  --enable-libx265:启用libx265编码器。

--prefix后面跟的是自己下载msys64的路径 我第一次配置就没设置对,然后报错:

配置好自己的参数  执行下面命令

 ./configure --prefix=D/software_work/MSYS2/msys64 --target-os=mingw32 --arch=x86_64 --enable-shared --disable-static --enable-gpl --enable-libx264 --enable-libx265

  1. make 编译ffmpeg (编译过程会久一点)
  2. make install  安装ffmpeg
  3. ffmpeg -version 验证版本

安装好了就是这样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自己动手实现语音识别

声音的本质是震动,震动的本质是位移关于时间的函数,波形文件(.wav)中记录了不同采样时刻的位移。 通过傅里叶变换,可以将时间域的声音函数分解为一系列不同频率的正弦函数的叠加,通过频率谱线的特殊分布,建立音频内容和文本的对应关系,以此作为模型训练的基础。 语音mfc…

ROS——坐标系管理、监听与广播、常用可视化工具

坐标系管理 TF功能包 小海龟追踪实验 ros版本(20.04)的tf安装命令: sudo apt-get install ros-noetic-turtle-tf 解决因python版本出现的无法生成跟随海龟: sudo ln -s /usr/bin/python3 /usr/bin/python ( -s 软链接,符号链接) ln命令(英文全拼&#…

grpc-go服务端接口添加

【1】新建一个目录whgserviceproto,目录下新建一个proto包:whgserviceproto.proto (注意目录和包名称保持一致) //协议为proto3 syntax "proto3"; // 指定生成的Go代码在你项目中的导入路径 option go_package"…

代理模式详解、RESTFul风格、Spring IOC

Day49 代理模式proxy 概念: 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式,即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 代理模式分为静态代理和动态代理…

开源数据科学平台Anaconda简介

开源数据科学平台Anaconda简介 零、时光宝盒 最近,某金融行业女性选择以跳楼的形式结束自己的生命,这件不幸的事情成了热门话题,各种猜测的都有,有些人评论的话真的很过分。我想起前段时间看到的,有个女学生跳江&#…

【论文解读】AGENTLESS:揭开基于LLM的软件工程代理的神秘面纱,重塑软件工程自动化新基线

📜 文献卡 英文题目: Agentless: Demystifying LLM-based Software Engineering Agents;作者: Chunqiu Steven Xia; Yinlin Deng; Soren Dunn; Lingming ZhangDOI: 10.48550/arXiv.2407.01489摘要翻译: 大型语言模型(LLM)的最新进展显著推进…

进程的控制-ps和kill命令

ps 查看进程信息 部分参数: a : 显示现行终端机下的所有程序,包括其他用户的程序 u: 以用户为主的格式来显示程序状况 x: 显示所有程序,不以 终端机来区分 kill 向指定的进程发送信号 kill 可将指定的信息送至程序。预设的信息为 SIG…

OpenAI突然停止中国API使用,出海SaaS产品如何化挑战为机遇?

2023年是AI爆发的年代,人工智能带来的信息裂变刷新了整个SaaS行业。在这个AI引领的时代,我们不应该单纯依赖工具本身,而是要理解如何将这些AI功能与行业相结合。 然而,上周OpenAI宣布禁止对中国提供API服务,有一些用户…

六、数据可视化—flask框架入门(爬虫及数据可视化)

六、数据可视化—flask框架入门(爬虫及数据可视化) 1,数据可视化简介2,flask(1)创建flask项目(2)开启debug模式(3)通过访问路径传递参数(4&#x…

图的应用之最短路径

引入 应用 算法思想 Dijistra算法 用于解决单个顶点间的最短路径问题 将顶点看成两部分: 最短路径顶点集合A与尚未确定最短路径顶点集合B。 先将顶点按最短路径由小到大依次加入到A中,选择由源点到A中最短的顶点,并记录距离与顶点&#xf…

身体(body)的觉醒:如果你贪婪,给你整个宇宙都不够

佛,是一个梵文的汉语音译词,指觉醒者。 何谓觉醒?什么的觉醒?其实很简单,就是身体的觉醒。 佛的另一个名字,叫菩提,佛就是菩提,菩提老祖,就是佛祖。 一、body&#xff…

Lambda架构

1.Lambda架构对大数据处理系统的理解 Lambda架构由Storm的作者Nathan Marz提出,其设计目的在于提供一个能满足大数据系统关键特性的架构,包括高容错、低延迟、可扩展等。其整合离线计算与实时计算,融合不可变性、读写分离和复杂性隔离等原则&…

3.js - 裁剪平面(clipIntersection:交集、并集)

看图 代码 // ts-nocheck// 引入three.js import * as THREE from three// 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls// 导入lil.gui import { GUI } from three/examples/jsm/libs/lil-gui.module.min.js// 导入tween import …

深度解析Ubuntu版本升级:LTS版本升级指南

深度解析Ubuntu版本升级:Ubuntu版本生命周期及LTS版本升级指南 Ubuntu是全球最受欢迎的Linux发行版之一,其版本升级与维护策略直接影响了无数用户的开发和生产环境。Canonical公司为Ubuntu制定了明确的生命周期和发布节奏,使得社区、企业和开…

Spring AOP源码篇三之 xml配置

简单代码示例, 了解Spring AOP基于xml的基本用法 xml配置&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-insta…

django之url路径

方式一&#xff1a;path 语法&#xff1a;<<转换器类型:自定义>> 作用&#xff1a;若转换器类型匹配到对应类型的数据&#xff0c;则将数据按照关键字传参的方式传递给视图函数 类型&#xff1a; str: 匹配除了”/“之外的非空字符串。 /test/zvxint: 匹配0或任何…

golang线程池ants-实现架构

1、总体架构 ants协程池&#xff0c;在使用上有多种方式(使用方式参考这篇文章&#xff1a;golang线程池ants-四种使用方法)&#xff0c;但是在实现的核心就一个&#xff0c;如下架构图&#xff1a; 总的来说&#xff0c;就是三个数据结构&#xff1a; Pool、WorkerStack、goW…

【前端实现】在父组件中调用公共子组件:注意事项逻辑示例 + 将后端数组数据格式转换为前端对象数组形式 + 增加和删除行

【前端】在父组件中调用公共子组件的实现方法 写在最前面一、调用公共子组件子组件CommonRow.vue父组件ParentComponent.vue 二、实现功能1. 将后端数组数据格式转换为前端对象数组形式2. 增加和删除row 三、小结 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2…

全景图三维3D模型VR全景上传展示H5开发

全景图三维3D模型VR全景上传展示H5开发 3D互动体验平台的核心功能概览 兼容广泛格式&#xff1a;支持OBJ、FBX、GLTF等主流及前沿3D模型格式的无缝上传与展示&#xff0c;确保创意无界。 动态交互探索&#xff1a;用户可自由旋转、缩放、平移模型&#xff0c;深度挖掘每一处…

STMF4 硬件IIC(天空星开发板)

前言&#xff1a;笔记参考立创开发文档&#xff0c;连接放在最后 #IIC概念介绍 #IIC介绍 IIC通信协议&#xff0c;一种常见的串行通信协议&#xff0c;英文全程是 Inter-Integrated Circuit 使用这种通信方式的模块&#xff0c;通常有SCL&#xff08;Serial Clock Line&…