Cygwin 及 Windows下编译安装 FFmpeg

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

原文链接:https://www.imooc.com/article/247113

 

图片描述

 

在Linux/Mac下编译 ffmpeg是非常方便的。但要在 Windows下编译 ffmpeg还真要花点时间。不过为了满足学员的要求,也方便自己不再被这类问题打扰,今天我就写一下在 Windowns下编译ffmpeg的步骤,以供大家参考。

安装Cygwin

在windows下安装 ffmpeg 的最好方式就是使用Cygwin。 Cygwin是什么呢?简单的说,就是在 Windows上装了一个Linux模拟器。然后你可以在这个模拟器上按照Linux的方式操作 Windows系统。因此,Windows安装了Cygwin之后,你就把它当Linux用就可以了。

既然在Windows上装Cygwin之后,可以像Linux一样操作,那当然编译ffmpeg也就相当的方便了。下面我们就开始安装它吧。

  • 首先,到 Cygwin官网下载 Cygwin 的可执行程序 setup-x86_64.exe。当然,它是 64位的,如果你现在还在用 32位的,那请在 Cygwin官网上找 32位对应的版本。

  • 第二步安装Cygwin。安装 Cygwin的操作非常简单,就是下一步,下一步。但
    需要注意一点,在安装的时候我们需要将必须的包安装上。主要有下面几个包:
    1. gcc
    2. g++
    3. make
    4. cmake
    5. automake
    6. gdb
    7. nasm
    8. yasm
    9. wget

这几个包如何安装呢?要在选择安装包的界面里选"Full"选项,它表式在所有的可安装包里选择,然后在搜索框里填入上面的关键字就可以搜索到了。经过上面的步骤你应该已经成功将 Cygwin 安装到你的 Windows 系统上了。

安装 apt-cyg

https://blog.csdn.net/c_base_jin/article/details/81073535

安装pkg-config工具

在Windows系统下,一般不会默认安装该工具,所以在Windows下做实验的同学大都会遇到明明已经装了某个库,但仍然找不到该库的情况。其原因就是没有安装 pkg-config这个工具。

首先确认是否已经将 pkg-config工具安装好了。可以执行下面的命令:

pkg-config

如果提示没有安装,则先将该工具安装好,安装命令如下:

apt-cyg install pkg-config

编译安装 ffmpeg

先别高兴的太早,虽然有了apt-cyg这个神器,但它目前只能安装Linux下的一些常用命令,像我们编译时需要的 x264, x265这些库它是无法找到的。

不能找到的原因也很简单,是由于没有人把编译好的库放到apt-cyg 可以够到的源上。

没有办法,所以我们还必须要用最原始的方法,下代码自己进行编译。下面我们就一步一步的来吧

  • 编译 yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && sudo make install

  • 编译 fdk-aac

wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz
tar xvf fdk-aac-0.1.6.tar.gz
cd fdk-aac-0.1.6
./configure
make && sudo make install

  • 安装lame

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar -xzf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make && sudo make install

注:编译lame遇到的问题:

  • 问题一:
    在Cygwin下安装 lame的时候遇到执行 ./configure 失败的情况。如 "error: cannot guess build type; you must sepcify one",对这个问题可以通过下面的步骤来解决:
  1. 安装automake。可以通过 which automake来确认automake 是否已经安装。如果没有安装,可以通使用 apt-cyg install automake进行安装。
  2. 确认automake当前版本。可执行automake --version获取当前automake的版本号。
  3. 将 lame目录下的 config.guess文件替换为 /usr/share/automake-version下的config.guess 文件。
  4. 此时,再执行./configure进就可以下成功了。
  • 问题二:
    make时出现 "error: '_O_BINARY' undeclared (first use in this function)"的错误,解决办法如下:
  1. 打开出错文件 vi ./frontend/lametime.c
  2. 将下面这段代码注释掉
 
  1. /*

  2. #elif defined __CYGWIN

  3. setmod(fileno(fp), _O_BINARY);

  4. */

  1. 再执行make就可以成功了。
  • 安装nasm

wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz
tar xvf nasm-2.13.03.tar.gz
cd nasm-2.13.03
./configure
make && sudo make install

  • 安装x264

wget http://mirror.yandex.ru/mirrors/ftp.videolan.org/x264/snapshots/last_x264.tar.bz2
bunzip2 last_x264.tar.bz2
tar -vxf last_x264.tar
cd last_x264
./configure --enable-static --enable-shared --disable-asm --disable-avs
make && sudo make install

  • 安装ffmpeg
    从ffmpeg官网下载代码编译, 编译方法如下:

wget -c https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2
bunzip2 ffmpeg-4.0.2.tar.bz2
cd ffmpeg-4.0.2
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-small --arch=x86_64 --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-filter=delogo --enable-debug --disable-optimizations --enable-shared
make && sudo make install

FFmpeg编译的问题

  • 问题一:找不到 fdk-aac库

    在编译ffmpeg时,有可能会报找不到fdk_aac库的错误。此时我们应该设置一下 PKG_CONFIG_PATH,指定ffmpeg到哪里找我们安装好的库。

    上面通过源码安装的库,默认地址为/usr/local/lib下面,当然你可以通过./configure 中的–prefix参数改变这个目录。

    如果使用默认路径的话,可以通过下面的命令来指定编译时去哪里找库

    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    

    如果你改变了默认路径,则将后面的 /usr/local/lib/pkgconfig修改为你变更后的路径/xxx/.../lib/pkgconfig即可

windowscygwin/mingw编译ffmpeg ffmpeg在Linux下的编译相当简单,只需要configure ,再make 一下就可以了。 需要动态库的话在configure 后面加一个 --enable-shared  就ok了。 但在windows下就不是很容易了,在网上搜索了一下各种在windows编译的方法,大多千篇一律,而且步骤繁琐,有的需要依赖很多库。而我只想像Linux下那样单纯方便的编译ffmpeg里的几个 阅读详情

相关推荐

ffmpeg编译安装

Fmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

CltCj的博客 2251

UTermuxVnc_v4.0.8.apk。

utermux,Linux和Windows模拟器,还可以直接搭建各种空间

ffmpeg编译(生成Windows或Win32平台dll, lib)

ffmpeg编译(生成Windows或Win32平台dll, lib)介绍:本文简要介绍通过cygwin环境来编译生成ffmpeg。包括解码组件libfaad与libopencore-amrnb的编译。1)安装msys + mingw环境具体安装过程可以看网上教程我用的是:http://code.google.com/p/msys-cn/假设装在d:/msys如果需编译libfaad,还需

littlepanda的专栏 3252

pip3命令全解析:Python3包管理工具的详细使用指南

pip3是 Python 3 的包管理工具,用于安装、升级和卸载 Python 3 的包。以下是pip3。

笔者从事电信媒体开发多年,愿意将多年的开发经验分享给同行 1030

[openGL]在ubuntu20.06上搭建openGL环境

就在刚刚, 我跑上了一个6小时后出结果的测试程序. 离下班还有很久, 于是我, 发现了很多可以写的openGL项目. 但是!!我的电脑现在是ubuntu呀, 但是不要慌!!!接下来我们一步一步教你如何完美搭建一个ubuntu上的openGL环境. 保证一个坑也不会踩!

听取WA声一片 3231

如何安装nodejs、webpack

前言: 我在b站上面学习Vue的时候需要使用webpack进行模块化,那就安装webpack,老师说由于webpack需要nodejs的支持,所以我们还需安装nodejs,所以我就先安装nodejs,然后在安装webpack 第一步:安装nodejs 下载: 老师上面nodejs的版本是10.13.0,所以我也安装该版本,在nodejs官网上面是最新的12.8.4,这不符合我的要求,于是我找到了所有nodejs历史版本的链接(https://nodejs.org/dist/),由于我本次使用的nodejs版

qq_42449963的博客 1万+

python下的pip3使用指南

如果我们用了anaconda,这个是虚拟环境可以使用多个python版本,每个版本的依赖包都是隔离的。那么在安装使用pip的时候,需要先切换环境,默认是base。默认情况下pip使用的是国外的镜像,在下载的时候速度非常慢,所以需要将pip的官方软件源服务器换成国内的镜像服务器,从而提升Python软件包安装效率和成功率。在linux和macos,配置文件为:$HOME/.pip/pip.conf。在windows上,配置文件为:%HOME%\pip\pip.ini。

hjc_042043的博客 5116

Windows编译安装FFmpeg

安装Cygwin Cygwin类似于linux模拟器 64安装包下载https://cygwin.com/setup-x86_64.exe,32位安装包下载http://www.cygwin.com/setup-x86.exe 一直下一步。但是要安装所需的包: 在Select Packages这一步的"View"下拉框选"Full",搜索以下包并在"New"下拉框选择要安装的版本: gcc-core gcc-g++ make cmake automake gdb nasm yasm wget 安装ap

Houlin的博客 585

Windows编译安装 FFmpeg

##前言 最近我的视频课《FFmpeg音视频核心技术精讲与实战》终于与大家见面了。在学生学习的过程中不断有学生反馈一些问题,其中较多的是如何在Windows编译 ffmpeg。 在Linux/Mac下编译 ffmpeg是非常方便的。但要在 Windows编译 ffmpeg还真要花点时间。不过为了满足学员的要求,也方便自己不再被这类问题打扰,今天我就写一下在 Windowns下编译ffmpeg的步骤,以供大家参考。 安装Cygwinwindows安装 ffmpeg 的最好方式就是使用Cygw

prochsh的专栏 1181

windows编译ffmpeg+x264库(android和linux)(二)

前言 ffmpeg是一个跨平台的音视频处理库,为了跨平台那么就需要编译出适用于各个平台的ffmpeg库。一般在windows平台下会进行windows开发和安卓开发,所以本文的目的就是在windows平台下编译用于windows和安卓使用的ffmpeg库 在windows平台下编译ffmpeg有多种方式: 1、windows下装linux虚拟机编译用于Linux,Android平台使用的库 2、windows下通过Cygwin或minGW+MSYS编译用于windows,Android平台的库 这里采

翻肚鱼儿的博客 798

编译Windows版本ffmpegcygwin方式通过

  关键是编译没有出错。没有出错的原因,应该是什么也参数也没有。 安装cygwin 略。 下载ffmpeg 略。 编译ffmpeg ./configure make make install   肯定有朋友问,要扩展参数怎么办? ...

柳鲲鹏 673

Windows 编译 FFMpeg

https://www.cnblogs.com/schips/p/12579218.html

sun007700的专栏 499

FFmpegWindows10 FFmpeg下载、编译安装

1、安装Cygwinwindows安装 ffmpeg 的最好方式就是使用CygwinCygwin是什么呢?简单的说,就是在 Windows上装了一个Linux模拟器。然后你可以在这个模拟器上按照Linux的方式操作 Windows系统。因此,Windows安装Cygwin之后,你就把它当Linux用就可以了。 首先,到 Cygwin官网下载 Cygwin 的可执行程序 链接: setup-x86_64.exe。当然,它是 64位的,如果你现在还在用 32位的,那请在 Cygwin官网上找 32位

qq_30885821的博客 1099

Cygwin环境编译ffmpeg

介绍cygwin编译ffmepg方法,类似方案可以推到到VLC,openssl等源于Linux项目移植到Windows

江海细流的专栏 738

ffmpeg】学习记录(一):ffmpeg下载和windows编译

本文旨在记录一下在windows下面编译ffmpeg的时候,需要注意的事项还有遇到的问题 第一步:下载并安装Cygwin 首先我们需要使用Cygwin,对于windows命令行不熟悉的我来说需要这么一个可以模拟Linux运行的环境,不仅有利于ffmpeg的下载编译安装,而且对于后续我们的对ffmpeg的使用都很方便。当然这里我们也可以使用其他软件来模拟linux, 例如MSYS。 下载链接:Cygwin官网 在安装的时候一定要记得将gcc 之类的选项全部选上,由于后续我会一直使用Cygwin来学习

m0_46458527的博客 394

通过windows + Cygwin编译

通过windows + Cygwin编译:首先安装Cygwin, 通过以下连接获取:http://www.cygwin.com/setup.exe这种方式的安装过程,最复杂,和最耗时的就在安装Cygwin上了。setup.exe下载非常简单也很快,都不到1M. 但是这只是下载了安装的包的客户端。接下来的安装是通过setup.exe从官方网站下载安装包。速度会很慢,并且根据你所选的包种类,大小不一样。

尽此依报身,同生极乐国。 1111

FFmpeg win8下的Cygwin编译安装及clion运行校验

1、FFmpeg编译安装 大体流程编译按照摹课网李超老师的笔记摹课ffmpeg编译流程执行,上面的错误我都走了一遍。。。 好了上车了!!! 准备:Cygin安装文件 点下一步就好了 步骤:安装时一些库必须装上 1. gcc 2. g++ 3. make 4. cmake 5. automake 6. gdb 7. nasm 8. yasm 9. wge...

yan822的专栏 490
上一篇: Windows Visual Studio 使用 libevent 库
下一篇: 如何转发csdn博客
ssuqin001
博客等级 码龄15年 61粉丝 95原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值