初识FFmpeg

前言

         无意间见到群里的小伙伴展示视频工具。功能比较多,包括视频编码修改,画质处理,比例处理、名称提取,剪辑、标题拆解。因此开始了FFmpeg学习。以下摘自百度百科的解释。

        FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

        FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。 [1]FFmpeg编码库可以使用GPU加速。

一、FFmpeg的下载和安装

1、下载地址: Download FFmpeg  https://www.ffmpeg.org/download.html

2、选择自己电脑的系统,我的是windows 10 

红框中是已经编译好的,选择哪个都可以,我习惯性选择第一个。

3、进入到 https://www.gyan.dev/ffmpeg/builds/ 这个链接后,滚动到页面下部到 release builds部分。

我选择的是最新的版本6.0 , 选择 ffmpeg-release-full-shared.7z  ,
这个地方注意 , 一定要选择shared!一定要选择shared!一定要选择shared!

4、解压并设置环境变量

接下来设置环境变量 , 右键->我的电脑 , 点击高级系统设置

点击环境变量

选择Path

将路径放到最后,然后一路确定。

基本的配置完成,下面我们来验证这个配置是否成功

二、FFmpeg安装验证

1、首先准备1个视频文件,我这里使用的是test.mp4 。(最好不要太大,便于测试)

2、进入dos命令行,并输入如下命令

ffmpeg -version

执行后,看到cmd窗口输出,说明环境变量配置成功,之后可以在任意的目录下进行操作了。

3、播放视频测试

ffplay test.mp4

控制台输出一堆信息,并正常播放视频

基本的环境配置已经完毕。

最后再介绍一下比较重要的两个exe的作用:

  • ffmpeg.exe 音视频的编码器
  • ffplay.exe    简单媒体播放器。 这个播放器比较有意思。 可以左右键拖动看看 ;)

   其实还有一个是ffprobe 简单多媒体分析器,比如输入ffprobe test.mp4 

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

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

相关文章

【Proteus仿真】【Arduino单片机】简易电子琴

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用无源蜂鸣器、按键等。 主要功能: 系统运行后,按下K1-K7键发出不同音调。 二、软件设计 /* 作者:嗨小易&a…

视频平台跨网级联视频压缩解决方案

一、 简介 视频监控领域对带宽有着较大的需求,这是因为视频流需要实时占用网络带宽资源。视频监控的传输带宽是组网结构的基础保障,关系到视频监控的稳定性、可靠性和可拓展性等因素。例如,720P的视频格式每路摄像头的比特率为2Mbps&#xff…

【机器学习合集】模型设计之网络宽度和深度设计 ->(个人学习记录笔记)

文章目录 网络宽度和深度设计1. 什么是网络深度1.1 为什么需要更深的模型浅层学习的缺陷深度网络更好拟合特征学习更加简单 2. 基于深度的模型设计2.1 AlexNet2.2 AlexNet工程技巧2.3 VGGNet 3. 什么是网络宽度3.1 为什么需要足够的宽度 4. 基于宽度模型的设计4.1 经典模型的宽…

在IDEA运行spark程序(搭建Spark开发环境)

建议大家写在Linux上搭建好Hadoop的完全分布式集群环境和Spark集群环境,以下在IDEA中搭建的环境仅仅是在window系统上进行spark程序的开发学习,在window系统上可以不用安装hadoop和spark,spark程序可以通过pom.xml的文件配置,添加…

【洛谷算法题】P5710-数的性质【入门2分支结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5710-数的性质【入门2分支结构】🌏题目描述🌏输入格式&a…

开源库存管理系统InvenTree的安装

本文是应网友 shijie880500 要求折腾的; 什么是 InvenTree ? InvenTree 是一个开源的库存管理系统,提供强大的低级别库存控制和零件跟踪。InvenTree 系统的核心是 Python/Django 数据库后端,它提供了一个管理界面(基于…

绝缘检测原理和绝缘电阻计算方法

文章目录 简介绝缘检测功能绝缘检测原理绝缘电阻检测的常用方法不平衡电桥法 绝缘电阻绝缘电阻的计算 绝缘检测开启或关闭为什么根据 V1 < V2 或 V1 ≥ V2 判断是上桥臂并入电阻还是下桥臂并入电阻 简介 绝缘检测是判断动力(正、负)总线与外…

Flutter三棵树的创建流程

一、Flutter常见的家族成员 Widget常见的家族成员 Element常见的家族成员 Render常见的家族成员 二、示例代码对应的Flutter Inspector树 示例代码:MyApp->MyHomePage->ErrorWidget,包含了StatelessWidget、StatefulWidget、LeafRenderObjectWid…

位运算与简单应用

一.位运算的基本概念: 首先,位运算是针对二进制的,(数字本来int,4字节,下面假设为1字节)。比如数字12,它的二进制本来是: 0000 0000 0000 0000 0000 0000 0000 1100 因为前面的数字大都是0,所以为了简写…

火影忍者游戏攻略大公开!成为忍者大师的秘诀揭秘

大家好!作为火影忍者游戏的玩家,我们都希望能够在游戏中成为优秀的忍者大师,战胜强大的对手。为了帮助大家实现这一目标,我想分享一些实用的攻略和技巧。 首先,熟悉忍者技能是成为忍者大师的基础。在火影忍者游戏中&am…

C语言_自定义类型详解

文章目录 前言一.结构体的声明1.1结构体的基础知识1.2结构的声明1.3特殊声明1.4结构体的自引用在结构中包含一个类型为该结构本身的成员是否可以?正确的自引用方式匿名结构体类型和typedef的结合形式 1.5 结构体变量的定义和初始化结构体定义与初始化结构体里嵌套结…

【Linux进程】再谈软件—操作系统(Operator System)

目录 操作系统(Operator System) 概念 设计OS的目的 如何理解 "管理"——先描述再组织 系统调用和库函数概念 总结 操作系统(Operator System) 概念 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。 笼统的理解,操作系统…

【python】路径管理+路径拼接问题

路径管理 问题相对路径问题绝对路径问题 解决os库pathlib库最终解决 问题 环境:python3.7.16 win10 相对路径问题 因为python的执行特殊性,使用相对路径时,在不同路径下用python指令会有不同的索引效果(python的项目根目录根据执…

利用Graviton2和S3免费套餐搭建私人网盘

网盘是一种在线存储服务,提供文件存储,访问,备份,贡献等功能,是我们日常中不可或缺的一种服务。很多互联网公司都为个人和企业提供免费的网盘服务。但这些免费服务都有一些限制,比如限制下载速度&#xff0…

下载树莓派对应的64位Ubuntu系统步骤

说点废话:因为ros2需要安装在64位Ubuntu上面,所以安装64位最合适; 第一步打开https://cn.ubuntu.com/ 网站;选择下载--->iot----> 选择这个镜像文件下载。我觉得镜像文件是img格式的,跟iso文件区别是&#xff…

vue详细安装教程

这里写目录标题 一、下载和安装node二、创建全局安装目录和缓存日志目录三、安装vue四、创建一个应用程序五、3x版本创建六、创建一个案例 一、下载和安装node 官网下载地址:https://nodejs.org/en/download 选择适合自己的版本,推荐LTS,长久…

【计算机网络】计算机网络中的基本概念

文章目录 局域网LAN基于网线直连基于集线器组建基于交换机组建基于交换机和路由器组建 广域网WANIP地址端口号协议为什么要有协议知名协议的默认端口 五元组协议分层TCP/IP五层模型封装和分用 网络互连就是将多台计算机连接在一起,完成数据共享。数据共享本质是网络…

C++设计模式_23_Command 命令模式

我们将Command 和Visitor归为“行为变化”模式。 Command 命令模式与函数对象十分类似,但在C主流框架中,函数对象(function object)应用的更为广泛。 文章目录 1. “行为变化”模式1.1 典型模式 2. 动机( Motivation )3. 模式定义…

【Leetcode】【消失的数字】【C语言】

方法一&#xff1a;按位异或&#xff08;找单身狗&#xff09; 我们知道&#xff1a;按位异或^操作原则&#xff1a;相同为零&#xff0c;相异为一 所以 0^aa a ^a0 a ^bb ^a int missingNumber(int* nums, int numsSize){ int i 0; int tem1 0,tem20; for (i 0;i < nu…