ffmpeg使用入门

1. ffmpeg是什么:

FFmpeg是一款音视频编解码工具,也是一组音视频编解码开发套件,为开发者提供了丰富的音视频处理调用接口。

FFmpeg源代码编译后会生成三个可执行程序,分别是:ffmpeg、ffplay、ffprobe,
这三个也成为FFmpeg三剑客,各有各的作用。

(1)ffmpeg:

ffmpeg主要是多媒体的编解码工具,具体功能主要包括视频裁剪、去除水印、添加logo、提取封面、提取音频、提取视频等功能。

(2)ffplay:

ffplay提供了音视频显示和播放相关的图像信息,音频的波形信息等。简而言之就是一个播放器。

(3)ffprobe:

ffprobe是多媒体分析工具,比如音视频的参数、媒体容器的参数信息等。也可以分析媒体文件中每个包的长度、包的类型、帧的信息等。

2. ffmpeg编译和安装:

macOS下安装步骤:

(1)下载源码:

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
请添加图片描述

(2)编译:

执行以下三步:

./configure --prefix=/usr/local/ffmpeg --enable-debug=3
make -j4
sudo make install

configure支持的配置选项可以通过 ./configure --help 查看,如:
./configure --help

(3)编译产物:

编译产物

(4)macOS需要安装依赖项:

  1. yasm:
    下载地址:
    http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
    下载完成后解压,执行三步:
./configure
make
make install
  1. sdl库:
    ffplay的编译需要依赖于sdl库,使用Homebrew安装:
brew install sdl2 

安装sdl之后,重新执行ffmpeg的编译步骤后即可编译出ffplay。

Linux下编译安装 参考:
https://zhuanlan.zhihu.com/p/637822560

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/295910.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为vrrp+mstp+ospf+dhcp+dhcp relay配置案例

1、左边是vlan 10主桥,右边是vlan 20的主桥,并且互为备桥 2、 vlan 10 vrrp网关默认用左边,vlan 20的vrrp 网关默认用右边,对应mstp生成树 3、两边都track检测,不通就把vrrp减掉60,这样就会自动切另一边了 …

NHNL因子如何刻画行业强弱

根据华福证券-市场情绪指标专题(五),进行了提炼和改写,特此致谢! ( N H N L ) % ( c o u n t ( H H V ) − c o u n t ( L L V ) ) / N (NHNL)\% (count(HHV) - count(LLV))/N (NHNL)%(count(HHV)−count(LLV))/N 个…

机器人创新实验室任务三参考文档

一、JAVA环境配置 需要在Linux里面下载并且安装java。 sudo apt-get install openjdk-17-jre-headless 打开终端并且运行指令,用apt下载安装java。官方用的好像是java11,我安装的是java17。 如果无法定位软件安装包,可以试试更新一下 sudo …

【数据结构入门精讲 | 第六篇】队列知识点及考研408、企业面试练习

在上一篇文章中我们介绍了栈的知识点及相关练习,在这一篇文章中我们将介绍队列的知识点并通过练习来巩固。 目录 队列队列的数组实现基础概念伪代码 队列的循环数组实现基础概念伪代码 队列的链表实现基础概念伪代码 判断题选择题函数题R6-1 双端队列 编程题R7-1 列…

互联网+建筑工地源码,基于微服务+Java+Spring Cloud +Vue+UniApp开发

一、智慧工地概念 智慧工地就是互联网建筑工地,是将互联网的理念和技术引入建筑工地,然后以物联网、移动互联网技术为基础,充分应用BIM、大数据、人工智能、移动通讯、云计算、物联网等信息技术,通过人机交互、感知、决策、执行和…

SpringMVC:整合 SSM 中篇

文章目录 SpringMVC - 04整合 SSM 中篇一、优化二、总结三、说明注意: SpringMVC - 04 整合 SSM 中篇 一、优化 在 spring-dao.xml 中配置 dao 接口扫描,可以动态地实现 dao 接口注入到 Spring 容器中。 优化前:手动创建 SqlSessionTempl…

【量化金融】证券投资学

韭菜的自我修养 第一章: 基本框架和概念1.1 大盘底部形成的技术条件1.2 牛市与熊市1.3 交易系统1.3.1 树懒型交易系统1.3.2 止损止损的4个技术 第二章:证券家族4兄弟2.1 债券(1)债券,是伟大的创新(2&#x…

Python 爬虫之下载视频(四)

爬取某投币视频平台的小视频 文章目录 爬取某投币视频平台的小视频前言一、基本内容二、基本思路三、代码编写1.引入库2.设置手机模式3.跳过手动点击等操作4.获取视频下载地址5.获取视频标题6.下载保存 总结 前言 这篇用来记录一下如何爬取这个平台的视频,比如一些…

Unity矩阵平移旋转缩放Matrix4x4

Unity矩阵平移旋转缩放Matrix4x4 Unity中的矩阵(Matrix4x4)创建自定义模型平移矩阵缩放矩阵旋转矩阵 Unity中的矩阵(Matrix4x4) 最近在研究帧同步定点数物理系统中需要自定义定点数矩阵,所以在这里分享下基础的矩阵案…

每日一题——LeetCode860

个人方法: 用change数组保存我们拥有的零钱的数量,change数组只有change[5]、change[10]、change[20]是有效的,其值代表了不同面值的零钱拥有多少张 顾客付了多少钱,先把钱存入零钱数组,然后计算需要找零的金额&…

Pytest+Requests+Allure实现接口自动化测试

一、整体结构 框架组成:pytestrequestsallure设计模式: 关键字驱动项目结构: 工具层:api_keyword/参数层:params/用例层:case/数据驱动:data_driver/数据层:data/逻辑层&#xff1a…

消息队列之关于如何实现延时队列

一、延时队列的应用 1.1 什么是延时队列? 顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。 延时队列在项目中的应用还是比较多的,尤其像…