Mac M1 源码安装FFmpeg,开启enable-gpl 和 lib x264

news/2025/2/2 11:43:15 标签: macos, ffmpeg

1、第一步:下载并安装minicoda

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh

sh Miniconda3-latest-MacOSX-arm64.sh

2、第二步:安装必要的依赖

conda install -c conda-forge gcc make nasm yasm

3、第三步:下载 FFmpeg 源代码

(1)从 FFmpeg 官方网站下载最新的稳定版本源代码,或者使用 wget 或 curl 下载:

wget https://ffmpeg.org/releases/ffmpeg-6.1.tar.gz

# 或者使用 curl
# curl -O https://ffmpeg.org/releases/ffmpeg-6.1.tar.gz

(2)解压下载的文件

tar -xzvf ffmpeg-6.1.tar.gz

cd ffmpeg-6.1

4、第四步:安装 libx264

使用 Conda 安装 libx264:

conda install -c conda-forge x264

5、第五步: 配置 FFmpeg 编译选项

运行 ./configure 脚本,指定安装路径和所需的编译选项:

./configure --prefix= /path/to/installation \
            --enable-shared \
            --enable-gpl \
            --enable-libx264

将 /path/to/installation 替换为你希望安装 FFmpeg 的实际路径。

下面是我替换的路径:

./configure --prefix=/Users/jieke/miniconda3/ \
            --enable-shared \
            --enable-gpl \
            --enable-libx264
第六步:6. 编译和安装 FFmpeg

配置完成后,进行编译和安装:

make -j$(sysctl -n hw.logicalcpu)

make install

-j$(sysctl -n hw.logicalcpu) 选项用于并行编译,利用系统的所有逻辑 CPU 核心,加快编译速度。

7. 验证安装

安装完成后,验证 FFmpeg 是否正确安装并启用了 libx264:

/path/to/installation/bin/ffmpeg -encoders | grep libx264

如果输出中包含 libx264 相关信息,则表示安装成功。

/Users/jieke/miniconda3/bin/ffmpeg -encoders | grep libx264

8.编辑 ~/.zshrc 或 ~/.bashrc 文件
vi ~/.zshrc 或 ~/.bashrc 文件
export PATH="/Users/jieke/miniconda3/bin/ffmpeg:$PATH"

:wq!

source ~/.zshrc

ffmpeg_89">9.验证ffmpeg

ffmpeg -encoders | grep libx264    

输出信息带有绿框内容,说明安装成功:
在这里插入图片描述


http://www.niftyadmin.cn/n/5840031.html

相关文章

LeetCode:377.组合总和IV

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:377.组合总和IV 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums…

什么是Rust?它有什么特点?为什么要学习Rust?

什么是Rust?它有什么特点?为什么要学习Rust? 如果你是一名编程初学者,或者已经有一些编程经验但对Rust感兴趣,那么这篇文章就是为你准备的!我们将用简单易懂的语言,带你了解Rust是什么、它有什…

关于matlab中rotm2eul的注释错误问题

在这里,写的是默认的旋转矩阵的顺序为‘ZYX’,对应的旋转轴的顺序为Z、Y、X。 包括网页上写的是 但是实际上,在实际的应用中,旋转的顺序应该是,X、Y、Z轴的顺序 即RRzRyRx 但是在矩阵运算中,由于YRzRyRx*X…

AMS仿真方法

1. 准备好verilog文件。并且准备一份.vc文件,将所有的verilog file的路径全部写在里面。 2. 将verilog顶层导入到virtuoso中: 注意.v只要引入顶层即可。不需要全部引入。实际上顶层里面只要包含端口即可,即便是空的也没事。 引入时会报warni…

跨域问题解决实践

在软件开发中,经常会遇到跨域问题,这个问题比较头疼,今天主要介绍下遇到的跨域问题解决思路及如何解决? 1、首先是后端跨域问题 spring boot中的跨域配置如下: Configuration public class WebMvcConfig implements W…

深入理解--JVM 类加载机制详解

当一个类加载器收到类加载任务,会先交给其父类加载器去完成,因此最终加载任务都会传递到顶层的启动类加载器,只有当父类加载器无法完成加载任务时,才会尝试执行加载任务。 采用双亲委派的一个好处是比如加载位于rt.jar包中的类ja…

基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)

酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 (1)系统首页 &#xff…

携程Android开发面试题及参考答案

在项目中,给别人发的动态点赞功能是如何实现的? 数据库设计:首先要在数据库中为动态表添加一个点赞字段,用于记录点赞数量,同时可能需要一个点赞关系表,记录用户与动态之间的点赞关联,包括点赞时间等信息。界面交互:在 Android 界面上,为点赞按钮设置点击事件监听器。…