在window下代建编译环境的情况下,我们开始着手下载编译ffmpeg以及相对应的库,我将我本人安装的过程以及碰到的问题进行一个记录,方便日后查看以及与在同在音视频学习路上的同志一个分享。

还没有安装好编译环境的可以参考我的另一篇介绍搭建编译环境的博客:

window下编译ffmpeg--安装msys2:https://blog.csdn.net/tanziliang98/article/details/122401214

一:准备工作

1:重命名link.exe

重命名 msys64/usr/bin/link.exe 为 msys64/usr/bin/link.bak , 避免和MSVC 的link.exe抵

触。

2.启动命令⾏窗⼝,在窗⼝中输⼊:

#进⼊msys2安装⽬录
D:
cd D:\msys64#如果要打开msys2的mingw64窗⼝
msys2_shell.cmd -mingw64 6
#如果要打开msys2的msys窗⼝ 7#msys2_shell.cmd

3.下载和安装YASM

pacman -S yasm

4.检查编译环境⼯具

mingw64的shell窗⼝输⼊:

which cl link yasm cpp

看返回结果,没有no的结果⼀般就没问题。

5.修改⽀持中⽂显示

窗⼝右键->Options->Text,然后locale选择:zh_CN,Character set 选择 UTF-8。

6.安装nasm

pacman -S nasm

二:编译第三方库

1:下载编译x64

1.1.MinGW-w64版本下载x264

将下载下的放置于/home/96358/ffmpeg,把第三⽅库编译的库⽂件放在 /home/96358/ffmpeg/build

git clone https://gitee.com/mirrors_addons/x264.git

注意:在下载库文件时,可能因为网站会出现下载不了的现象,这个时候考虑将https更换成git

git clone git://gitee.com/mirrors_addons/x264.git

1.2:对x264配置安装

cd 进入x264目录:

cd x264
./configure --prefix=/home/96358/ffmpeg/build/libx264 --host=x86_64-w64-mingw32 --enable-static --extra-ldflags=-Wl,--output-def= libx264.def
make
make install

1.3:生成libx64

上⾯编译出来的结果没有包含lib⽂件,需要⾃⼰⼿⼯⽣成。configure时我们⽣成了 libx264.def 此时就派上⽤场。

cp ./libx264.def /home/96358/ffmpeg/build/libx264/lib/
cd /home/96358/ffmpeg/build/libx264/lib
#若要⽣成64位lib⽂件则输⼊如下命令:
lib /machine:X64 /def:libx264.def
#若要⽣成32位lib⽂件则输⼊如下命令:
#lib /machine:i386 /def:libx264.def

即得到 libx264 .lib

2:下载编译fdk-acc

2.1:下载fdk-acc

git clone --depth 1 https://gitee.com/mirrors/fdk-aac.git

注意:

        使用该命令访问不到网页时,可以尝试将https改成git。

2.2:编译、安装fdk-acc

进入fdk-acc目录

cd fdk-acc
#配置
./autogen.sh
./configure --prefix=/home/96358/ffmpeg/build/libfdk-aac --enable-static --enable-shared
#编译
make -j4
#安装
make install

进入对应目录查看是否安装成功:/home/96358/ffmpeg/build/

3:下载编译MP3(libmp3lame)

3.1:下载

git clone --depth 1 https://gitee.com/hqiu/lame.git

3.2:进入目录配置安装

cd lame
./configure --prefix=/home/96358/ffmpeg//build/libmp3lame --disable-shared --disable- frontend --enable-static
make
make install

4:下载编译libvpx

4.1:下载

git clone --depth 1 https://github.com/webmproject/libvpx.git

4.3:配置编译安装

cd libvpx
./configure --prefix=/home/96358/ffmpeg/build/libvpx --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make -j4
make install

5:下载编译ffmpeg

5.1:下载ffmpeg

#码云连接
git clone https://gitee.com/mirrors/ffmpeg.git
cd ffmpeg
#查看版本
git branch -a
#选择4.2版本
git checkout remotes/origin/release/4.2

5.2:编译ffmpeg

创建⼀个build.sh

将下载好的ffmpeg与x264放在⼀个⽬录下,本⼈是/home/96358/ffmpeg。

        build_ffmpeg.sh内容是:
./configure \--prefix=/home/96358/ffmpeg/build/ffmepg-4.2 \--arch=x86_64 \--enable-shared \--enable-gpl \--enable-libfdk-aac \--enable-nonfree \--enable-libvpx \--enable-libx264 \--enable-libmp3lame \--extra-cflags="-I/home/96358/ffmpeg/build/libfdk-aac/include" \--extra-ldflags="-L/home/96358/ffmpeg/build/libfdk-aac/lib" \--extra-cflags="-I/home/96358/ffmpeg/build/libvpx/include" \--extra-ldflags="-L/home/96358/ffmpeg/build/libvpx/lib" \--extra-cflags="-I/home/96358/ffmpeg/build/libx264/include" \--extra-ldflags="-L/home/96358/ffmpeg/build/libx264/lib" \--extra-cflags="-I/home/96358/ffmpeg/build/libmp3lame/include" \--extra-ldflags="-L/home/96358/ffmpeg/build/libmp3lame/lib"

在下载好的ffmpeg目录执行脚本配置:

sh build_ffmpeg.sh

注意:在执行这里是可能会由于脚本问题、文件不存在出现错误:

再次脚本符号之间连接是否正确,每个文件在对应的目录是否存在。

正确配置后:

5.3:编译安装

make
make install

安装之后进入ffmpeg的bin目录查看:

如果安装成功,拷贝一个MP4文件到bin目录,执行:

ffplay.exe believe.mp4 -x 480 -y 500

可以得到:

mp4文件正常播放即表示ffmpeg以安装完毕。

window下编译ffmpeg--mys2下安装对应库编译ffmpeg相关推荐

  1. 【转载】【重要】Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用小结

    近段时间在学习 Ffmpeg.Mencoder 音视频转换,大概在 Ubuntu 10.04.Ubuntu 10.10.Ubuntu Natty 测试版上安装和使用过.重点是针对低分辨率的普通手机视频 ...

  2. 【网络编程实践】2.4.2 muduo库安装与 procmon 编译

    procmon 源码在 muduo 库下,下面我们通过安装muduo库,编译procmon 源码. 2.4.2.1 安装依赖 muduo库拉取:git clone https://gitee.com/ ...

  3. 【转载】Mac安装 Java 反编译工具 JD-GUI

    一.安装 下载地址:https://github.com/java-decompiler/jd-gui/releases 选择对应平台的资源进行下载,这里可选择:jd-gui-osx-1.6.6.ta ...

  4. php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库

    php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库发现php5.6.30没有加载gd库[root@cn_vs_web04:/u ...

  5. 七、FFmpeg使用---X264静态库编入FFmpeg

    欢迎加入技术交流群 群号: 552340860 ####下面用到的脚本.静态库资料. 上篇文章六.FFmpeg使用-X264的编译粗略的讲了一下如何编译X264,和之前FFmpeg的编译方式差不多,就 ...

  6. linux opencv编译静态库,使用openCV的静态库编译

    转载请注明出处: By 少侠阿朱 摘要: 本文主要讲述如何使用opencv静态库进行编译,生成脱离opencv环境可执行.exe文件. 实现的效果: 此方法生成的exe文件在其他没有配置openCV环 ...

  7. python需要安装的库_使用python学习【机器学习】需要安装的库~

    ---------------------------------------------------------------------------------------------------- ...

  8. python支持向量机库安装,使用python学习【机器学习】需要安装的库~

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 ----------------------------------------------------------------------------- ...

  9. centos 卸载ffmpeg_Linux下ffmpeg的完整安装

    最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用 ...

  10. mysql netcdf_Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2以后版本)

    本来这个问题真的没必要写的,可是真的困扰我太久%>_ 首先,最权威清晰的安装文档还是官方的: 那这个文档最开始就告诉我们,自NetCDF库4.2版本以后,Fortran的库和C的库就要分开bui ...

最新文章

  1. Android的多任务之路
  2. 云幸福–如何在几分钟内安装新的OpenShift Container Platform 3.7
  3. 冗余的阿里云实例开启和停止API
  4. Module System of Swift (简析 Swift 的模块系统)
  5. js / php 网站底部版权文字自动改变年份
  6. vue 子页面调用父页面常用方式
  7. Java - 泛型 ( Generic )
  8. nodejs中全栈开发框架meteor的文档
  9. 百度网盘打开显示读写权限不足
  10. bzoj 4568 [Scoi2016]幸运数字
  11. 信度和效度经典例子_信度与效度公式的纠正
  12. 7628刷breed_小米路由器青春版 开启ssh 刷入breed 潘多拉 华硕 固件
  13. 百度地图API V2.0 离线版本
  14. CKPT,SMON,PMON,RECO,Dnnn
  15. 图论学习笔记——一笔画(最少笔画)问题
  16. 群晖服务器+微信同步,群晖服务器 云同步
  17. 中国各省、自治区的名字来历
  18. 跟着老猫来搞GO——工欲善其事必先利器
  19. H5手机搜索框的简单实现
  20. android会超过苹果,任正非:华为操作系统要想超越安卓和苹果 不会超过300年

热门文章

  1. 全球AI泰斗Stuart Rusell:研究人工智能太诱人了,不可抗拒
  2. c语言文件操作之图片+文件“合成器”(详解+源码+视频讲解)
  3. 【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32进制)
  4. SQL窗口函数OVER用法整理
  5. 谷歌浏览器提示adobeflashplayer已过期
  6. python中矩阵怎么表示_python中的列矩阵表示
  7. oracle簇详解,Oracle 簇的使用详解
  8. 不用编程语言自带函数,你会如何实现计算平方根
  9. java网关详解_一篇让你彻底理解网关是什么的文章
  10. 《刷新》读书笔记1-3章