本随笔原文出自:一叶知秋0830
链接:https://www.jianshu.com/p/ab469a2ffd28

1.下载FFmpeg

先进入要存放下载文件的目录,比如要放在/Users/qinjian/Downloads/ffm目录,先执行命令

cd /Users/qinjian/Downloads/ffm

再执行下载的命令:

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

2.编译FFmpeg

先执行下面命令进入ffmpeg目录:

cd /Users/qinjian/Downloads/ffm/ffmpeg

再执行下面命令配置configure:

./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=

如果报错nasm/yasm not found or too old. Use --disable-x86asm for a crippled build的话,先执行下面命令安装yasm然后再执行配置configure的命令。

brew install yasm
 
如果报错:Error: Your Xcode (1) is too outdated.
 
 但是 Xcode 确实已经更新到了最新版本 10.1
 解决办法:更新 Homebrew
 终端中执行命令 brew update-reset

如果报错ERROR: libfdk_aac not found的话,先执行下面命令安装fdk-aac然后再执行配置configure的命令。

brew install fdk-aac

3.安装FFmpeg

执行下面命令来安装:

make && make install

// 如果安装出现下图的错误的话就用这条命令来安装
sudo make && sudo make install

安装成功后ffmpeg所在的目录是/usr/local/ffmpeg

4.配置环境变量

安装成功后要输入ffmpeg的全路径才能调用ffmpeg命令:

/usr/local/ffmpeg/bin/ffmpeg -version

我们可以配置环境变量,配置环境变量后可以直接通过ffmpeg -version来调用命令。
先执行下面命令打开环境变量配置文件:

vi ~/.bash_profile

在配置文件加入ffmpeg的bin文件夹路径:

export PATH=$PATH:/usr/local/ffmpeg/bin

然后输入:wq保存退出,再执行下面命令让刚配置的环境变量生效:

source ~/.bash_profile
 

二、安装ffplay

1. 允许编译ffplay

./configure --enable-ffplay

2.安装sdl2

brew install sdl2

3.安装

./configure

make -j4

make install

FFmpeg学习笔记之安装的更多相关文章

  1. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  2. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  3. CUBRID学习笔记 2 安装教程

    下载地址  http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...

  4. nodejs学习笔记<一>安装及环境搭建

    零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...

  5. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  6. Nginx 学习笔记之安装篇

    在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ...

  7. 学习笔记:安装swig+用SWIG封装C++为Python模块+SWIG使用说明

    这段时间一直在摸索swing,用它来封装C++代码来生成python脚步语言.并总结了swing从安装到配置再到代码封装编译生成动态库的整个过程,下面这篇文章都是我在实际的运用中的一些经验总结,分享给 ...

  8. Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)

    前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...

  9. TP6学习笔记一:安装与基本配置

    1 说明与概述 1.1 说明 以下内容大部分来源于TP6完全开发手册,以手册为主附上个人理解,仅作学习使用. 1.2 概述 第一篇学习笔记,主要记录TP6的基础,包括TP6简介,安装,Hello Wo ...

随机推荐

  1. 关于使用Arduino做开发的理解

    转载自arduino中文社区 https://www.arduino.cn/thread-5414-1-1.html 见到很多人对Arduino的开发方法 .应用场景有误解,特别开个帖子说明下. 误解 ...

  2. Spring分层次建包

    1.包分三层 配置包 控制器包 模型包 视图层 模板放 src/main/resources下的templates目录下

  3. Guava源码阅读-base-Charsets

    package com.google.common.base; 今天在找base包下的源码阅读时,看到了Charsets,肯定是定义字符集的类,本来就想简单的看一下.(部分内容摘抄自:http://b ...

  4. ztree根据ztreeId【节点id】设置展开、选中、触发点击节点事件

    有时候我们要默认选中某个节点,根据ztreeId // 这里的ztreeId就是ztree存放在页面的元素id,比如div的id // treeObj就是ztree对象 var treeObj = $ ...

  5. 24.Azkaban调度脚本的编写

    启动azkaban 在启动了server和excutor之后,在浏览器打开azkaban,会发现不能打开,日志报这个错误 at sun.security.ssl.InputRecord.handleU ...

  6. 【Jmeter源码解读】001——目录结构

    1.顶层目录 bin - 包含.bat 和 . sh 这些文件用于启动JMeter.同时也包含了ApacheJmeter.jar 和 相关的配置文件 build - build 脚本创建的目录,存放一 ...

  7. Photon Server 实现注册与登录(五) --- 服务端、客户端完整代码

    客户端代码:https://github.com/fotocj007/PhotonDemo_Client 服务端代码:https://github.com/fotocj007/PhotonDemo_s ...

  8. tensorflow lite 之生成 tflite 模型文件

    下载最新的的tensorflow源码. 1.配置 tflite 文件转换所需环境 安装 bazel 编译工具 https://docs.bazel.build/versions/master/inst ...

  9. NIO总结-----Buffer

    Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的. 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO ...

  10. 关于EF数据迁移的个人总结 简单有效

    有用的拿走,没用的嘴下留情!