mac M1下 ffmpeg 编译,安转和xcode 引入

Posted 骄傲的笔者吴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac M1下 ffmpeg 编译,安转和xcode 引入相关的知识,希望对你有一定的参考价值。

一、下载ffmpeg

    三种下载方式

  1. Homebrew 下载 ,终端输入 brew install ffmpeg
  2. github连接下载 , 下载地址 https://git.ffmpeg.org/ffmpeg.git

     3. 官网:下载 FFmpeg   下载后解压

 

二. 然后对ffmpeg配置编译

cd 到ffmpeg 目录

1.配置编译项

./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-videotoolbox --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --cc=clang --host-cflags= --host-ldflags= --disable-x86asm --enable-ffplay

配置编译项自选,通过 ./configure --help 命令查看每一个配置项的作用

  • --prefix

    • 用以指定编译好的FFmpeg安装到哪个目录
    • 一般放到 /usr/local/ffmpeg 中即可
  • --enable-shared

    • 生成动态库
  • --disable-static

    • 不生成静态库
  • --enable-libfdk-aac

    • 将fdk-aac内置到FFmpeg中
  • --enable-libx264

    • 将x264内置到FFmpeg中
  • --enable-libx265

    • 将 x265 内置到 FFmpeg 中
  • --enable-gpl

过程中可能应为缺少依赖项而报以下错误

  • brew install yasm

    • ffmpeg的编译过程依赖yasm
    • 若未安装yasm会出现错误:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
  • brew install sdl2

    • ffplay 依赖于 sdl2,有的编译安转后bin文件夹下没有ffplay就是这依赖库没有装
    • 如果缺少sdl2,就无法编译出ffplay
  • brew install speex
    • 不然会出现错误:ERROR: speex not found
  • brew install fdk-aac

    • 不然会出现错误:ERROR: libfdk_aac not found
  • brew install x264

    • 不然会出现错误:ERROR: libx264 not found
    • x264 地址
  • brew install x265

    • 不然会出现错误:ERROR: libx265 not found

三. ffmpeg编译安转

sudo make -j 8  && sudo make install

安装成功后

可以看到ffmpeg下出现bin:ffmpeg所有命令工具   include:头文件  lib: 生成动态或静态库  share:文档和例子,bin 下ffmpeg:推流视频处理 ffplay:拉流  ffproe:视频信息侦测

四. 配置环境变量路径

为了让 bin 目录中的 ffmpeg、ffprobe、ffplay 在任意位置都能够使用,需要先将 bin 目录配置到环境变量 PATH 中

# 编辑.zshrc
vim ~/.zshrc

# .zshrc文件中写入以下内容
export PATH=/usr/local/ffmpeg/bin:$PATH

# 让.zshrc生效
source ~/.zshrc

五.引入xcode工程

将头文件include和库lib 复制到自己的工程目录下

1.设置头文件路径

 2.添加依赖静态库

六.关闭mac APP 沙盒

 

 

FFMPEG系列一:Mac下FFMPEG编译安装配置及使用例子

系统环境:10.13以前系统版本,没有升级到macOS High Sierra。正常情况是直接输入brew install ffmpeg即可安装ffmpeg,但是该过程还是有一些坑需要填。

一、mac命令行输入brew install ffmpeg

这时候会提示错误:-bash: brew: command not found

这是因为没有安装Homebrew,解决办法参照第二步

二、max下安装Homebrew

max下安装Homebrew参照:mac终端 -bash: brew: command not found
安装完成之后回到第一步,再次输入brew install ffmpeg
此时报错
【Homebrew】Error: Failure while executing: git config --local --replace-all homebrew.private true
原因是缺少 xcode 插件引起,可以下载最新版本的插件或者下载更新至最新版本的xcode
可以在终端输入xcode-select --install,下载安装插件,如果此步骤安装提示不兼容,建议将xcode和操作系统更新至最新版本macOS High Sierra。

三、解决xcode问题之后再次回到第一步,输入brew install ffmpeg

此时是可以正常编译安装ffmpeg的

四、测试是否安装成功,终端输入ffmpeg,输出如下信息表示安装成功

技术分享图片

五、使用ffmpeg将视频转为gif

切换到有视频目录
/Users/chenshouyin/Desktop/ffmpeg
输入如下命令,将视频转换为gif
ffmpeg -i test.mp4 -t 10 -pix_fmt rgb24 out.gif

技术分享图片

如上图,顺利的话是可以看到out.gif生成的。

转载请注明:本文转载自在线助手|在线工具博客,原文链接:http://www.it399.com/blog/ffmpeg/201807011540









以上是关于mac M1下 ffmpeg 编译,安转和xcode 引入的主要内容,如果未能解决你的问题,请参考以下文章

FFMPEG系列一:Mac下FFMPEG编译安装配置及使用例子

Mac FFmpeg编译和解决nasm/yasm not found or too old错误

FFmpeg4.1编译:mac+android-ndk-14b+ffmpeg4.1成功编译

FFmpeg4.1编译:mac+android-ndk-14b+ffmpeg4.1成功编译

在 arm64 模式下在 M1 Mac 上运行 tmux

如何卸载 mac ffmpeg