Mac M1安装编译FFmpeg教程

本篇介绍的是Mac安装FFmpeg的教程,该教程是为进行音视频的开发学习作准备的,很多时候需要看源码调试学习,若只为了熟悉使用ffmpegffplayffprobe等命令,建议直接使用brew install ffmpeg安装稳定版本。

一、安装Homebrew

Homebrew是MacOS(或 Linux)的软件包管理器,可以说是神器了。用于软件包的安装、更新、卸载、搜索等等。

#需要梯子 
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

没有梯子的使用国内,可以参考一下其他博客的方法,由于要编译ffmpeg会装比较多的库,推荐用国内镜像

#使用检验
brew -v 

二、安装FFmpeg

这里并没有直接使用brew install ffmpeg 安装是因为后续想用源码调试。

1.官网下载

  • 最新稳定版本

    在这里插入图片描述

  • 其他版本

    在这里插入图片描述

2.使用git安装

使用git安装源码比较方便版本切换,推荐此方法

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

查看远端的分支

cd ffmpeg &&  git branch -r

拉取远端分支到本地 - 将来想要切换分支比较方便

git checkout -b release/7.0 origin/release/7.0

接下来使用brew进行安装编译需要的库,建议一个一个下

brew install automake
brew install fdk-aac
brew install lame
brew install libass
brew install libtool
brew install libvorbis
brew install libvpx
brew install libvo-aacenc
brew install opencore-amr
brew install openjpeg
brew install opus
brew install speex
brew install texi2html
brew install x264
brew install x265
brew install xvid
brew install yasm
brew install freetype
brew install pkg-config
brew install shtool
brew install theora
brew install sdl2
brew install aom
brew install aribb24
brew install dav1d
brew install fontconfig
brew install libbluray
brew install libgsm
brew install openh264
brew install libmodplug
brew install snappy
brew install libsoxr
brew install two-lame
brew install libvidstab
brew install zimg
brew install zmq

配置编译信息 - 可以参考官网这部分的编译

在这里插入图片描述

./configure --prefix=/usr/local/ffmpeg --extra-cflags="-I/opt/homebrew/include" --extra-ldflags="-L/opt/homebrew/lib" --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib" --enable-avisynth --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --disable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-static --enable-shared  --enable-fontconfig --enable-libaom --enable-libbluray --enable-libdav1d --enable-libgsm --enable-libharfbuzz --enable-libmodplug --enable-libmysofa --enable-libopenh264 --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libwebp --enable-libx265 --enable-libxavs --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-openssl

-------------------------------------------------------------------------------------------
--prefix=/usr/local/ffmpeg: 这部分指定编译的时候指定程序存放路径,这个路径根据自己
以下在编译过程中传递给编译器和链接器的选项,确保编译器和链接器能找到必要的库和头文件
homebrew安装的会存放在这个地方,M芯片的库放在/opt/homebrew/lib
--extra-cflags="-I/opt/homebrew/include"
--extra-ldflags="-L/opt/homebrew/lib"
--extra-cflags="-I/usr/local/include"
--extra-ldflags="-L/usr/local/lib"

遇到的问题:

  1. ERROR: avisynth/avisynth_c.h avisynth/avs/version.h not found

    安装地址:https://github.com/AviSynth/AviSynthPlus/releases
    

    在这里插入图片描述

  2. ERROR: libxavs not found

    在这里插入图片描述

    下载文件: https://sourceforge.net/p/xavs/code/HEAD/tree/
    解压后:cd ./xavs-code-r55-trunk
    Intel结构运行: ./configure --prefix=/usr/local --host=x86_64-darwin --disable-asm
    arm架构运行: ./configure --prefix=/usr/local --host=arm-darwin --disable-asm
    # 编译失败不管什么情况运行先运行清除
    make clean 
    
    make && sudo make install
    
  3. ERROR: lib_amrwbenc not found

    在这里插入图片描述

    安装地址: https://sourceforge.net/projects/opencore-amr/files/vo-amrwbenc/vo-amrwbenc-0.1.3.tar.gz/download
    解压后: cd ./vo-amrwbenc-0.1.3
    ./configure --prefix=/usr/local --disable-shared
    make && sudo make install
    
  4. ERROR: libtwolame not found

    brew install two-lame
    
  5. ERROR: libmysofa not found

    在这里插入图片描述

    git clone https://github.com/hoene/libmysofa.git
    cd ./libmysofa/build
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF ..
    make && sudo make install
    
  6. ERROR: shine not found using pkg-config

    在这里插入图片描述

    git clone https://github.com/toots/shine.git
    cd ./shine
    ./bootstrap
    ./configure --prefix=/usr/local --disable-shared
    make && sudo make install
    
  7. ERROR: zvbi-0.2 not found using pkg-config

    在这里插入图片描述

    下载地址: https://sourceforge.net/projects/zapping/files/zvbi/
    解压后: cd ./zvbi-0.2.35
    ./configure --prefix=/usr/local --disable-shared
    make && sudo make install
    

3. 编译

#回到克隆下来的ffmpeg的目录
cd ./ffmpeg
# 根据自己的电脑最大逻辑CPU编译,比如我电脑最大是8
make -j8
sudo make install
# 此时运行成功后,前面配置--prefix=/usr/local/ffmpeg 编译成功后会在/usr/local/ffmpeg找到,剩下全局配置

4.全局配置

vim ~/.zshrc
export PATH=${PATH}:/usr/local/ffmpeg/bin
source ~/.zshrc

5.检验

ffmpeg -version
在这里插入图片描述
ffplay xxx.mp4
在这里插入图片描述

参考文档: https://segmentfault.com/a/1190000043925577

  • 32
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
使用Visual Studio 2019编译FFmpeg的简单教程如下: 1. 首先,确保您已经安装了Visual Studio 2019,并且已经正确配置了相关的开发环境。 2. 下载FFmpeg源代码,并解压到您喜欢的目录。 3. 打开Visual Studio 2019,并选择“文件”菜单中的“新建”->“项目”。 4. 在“创建新项目”对话框中,选择“Visual C++”类别,并选择“空项目”。 5. 输入项目名称,并选择项目保存的位置,然后单击“确定”按钮。 6. 在解决方案资源管理器中,右键单击您刚创建的项目,选择“属性”。 7. 在属性页面中,选择“配置属性”->“VC++目录”,然后在包含目录一栏中,添加FFmpeg源代码的头文件路径。 8. 在“配置属性”->“零售”或“调试”->“VC++目录”下的“库目录”一栏,添加FFmpeg库文件的路径。 9. 在“配置属性”->“链接器”->“输入”,在“附加依赖项”一栏中,添加FFmpeg的库文件的名称。 10. 单击“应用”按钮,然后关闭属性页面。 11. 在解决方案资源管理器中,右击项目,选择“添加”->“现有项”,并选择FFmpeg源代码中的所需源文件。 12. 在代码中,添加必要的#include语句,并编写您的应用程序逻辑。 13. 单击“生成”菜单,然后选择“生成解决方案”。 14. 如果编译成功,您将在输出窗口看到“已成功编译”等提示。 15. 在输出目录下找到生成的可执行文件,运行并测试您的应用程序。 请注意,这只是一个简单的FFmpeg编译教程,实际上可能会涉及更多的配置和调整步骤,具体取决于您的项目需求和环境设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值