当前位置: 首页 > news >正文

FFmpeg 音视频开发工具

目录

FFmpeg 下载与安装

ffmpeg 使用快速入门

ffplay 使用快速入门


FFmpeg 全套下载与安装

1、FFmpeg 是处理音频、视频、字幕和相关元数据等多媒体内容的库和工具的集合。一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。

官网:https://www.ffmpeg.org/

源码:https://github.com/FFmpeg/FFmpeg。

在线文档:http://ffmpeg.org/documentation.html。

2、进入官网下载页面:https://www.ffmpeg.org/download.html,选择 Get packages & executable files(可执行文件)-> 以 Windox 系统为例,选择 Windows Builds from gyan.dev-> 然后可以看到一些不同的下载方式,不同的下载地址,视个人网速而定,本人选择 git master builds 下面 mirror @ github 下面的镜像地址,-> 然后在  githunb 中下载 ffmpeg-2023-07-19-git-efa6cec759-full_build.zip(推荐下载 -full 全量版本,这样包含的库更多)。

3、下载解压后在 bin 目录下即可看到目标 .exe 程序文件:ffmpeg.exe、ffplay.exe、ffprobe.exe。

ffmpeg:是一个用于操作、转换和流式传输多媒体内容的命令行工具箱。

ffplay:是一款极简主义的多媒体播放器。

ffprobe:是一个用于检查多媒体内容的简单分析工具。

其他小工具:如 aviocat、ismindex 和 qt-faststart。

4、设置环境变量:搜索 -> 高级系统设置->高级->环境变量->系统变量-> 选择“Path” -> 点击“编辑->新建 -> 把FFmpeg解压后的bin文件夹路径复制粘贴进去,然后点击确定关闭即可。 

 5、测试是否安装成功,按 win + R 打开运行,输入cmd打开命令运行窗口,输入命令 ffmpeg –version 查看版本信息。

6、安装成功后就可以直接使用命令运行窗口执行ffmpeg命令进行各种媒体格式的转换了。

C:\Users\A> ffmpeg -version
ffmpeg version 2023-07-19-git-efa6cec759-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil      58. 14.100 / 58. 14.100
libavcodec     60. 22.100 / 60. 22.100
libavformat    60. 10.100 / 60. 10.100
libavdevice    60.  2.101 / 60.  2.101
libavfilter     9.  8.102 /  9.  8.102
libswscale      7.  3.100 /  7.  3.100
libswresample   4. 11.100 /  4. 11.100
libpostproc    57.  2.100 / 57.  2.100

ffmpeg 使用快速入门

1、ffmpeg 是一个用于操作、转换和流式传输多媒体内容的命令行工具箱。

2、官网在线文档:http://ffmpeg.org/ffmpeg.html。

3、下载的安装包解压后 doc 目录下有离线文档,如:file:///D:/software/ffmpeg-2023-07-19-git-efa6cec759-full_build/doc/ffmpeg.html。

演示描述
ffmpeg -i input.mp4 output.avi将 input.mp4 转为 input.avi 格式
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.mp4将输出文件的视频比特率设置为64 kbit/s
ffmpeg -i input.avi -r 24 output.mp4强制输出文件的帧速率为24 fps
ffmpeg -r 1 -i input.m2v -r 24 output.mp4强制输入文件的帧速率(仅对原始格式有效)为1 fps,强制输出文件的帧率为24 fps

ffplay 使用快速入门

1、ffplay 是一款极简主义的多媒体播放器,功能相当的强大,基于命令行和快捷键操作,没有图形化界面。

2、官网在线文档:https://ffmpeg.org/ffplay.html。

3、下载的安装包解压后 doc 目录下有离线文档,file:///D:/software/ffmpeg-2023-07-19-git-efa6cec759-full_build/doc/ffplay.html

常用快捷键

按键

作用

q, ESC

退出

f

全屏

p, 空格

暂停

w

显示音频波形

s

逐帧显示

左方向键/右方向键

向后10s/向前10s

上方向键/下方向键

向后1min/向前1min

page down/page up

向后10min/向前10min

鼠标点击屏幕

跳转到指定位置(根据鼠标位置相对屏幕的宽度计算)

常用命令参数

名称

有参数

作用

x

Y

强制屏幕宽度

y

Y

强制屏幕高度

s

Y

强制屏幕大小

fs

N

全屏

an

N

关闭音频

vn

N

关闭视频

ast

Y

设置想播放的音频流(需要指定流ID)

vst

Y

设置想播放的视频流(需要指定流ID)

sst

Y

设置想播放的字幕流(需要指定流ID)

ss

Y

从指定位置开始播放,单位是秒

t

Y

播放指定时长的视频

nodisp

N

无显示屏幕

f

Y

强制封装格式

pix_fmt

Y

指定像素格式

stats

N

显示统计信息

idct

Y

IDCT算法

ec

Y

错误隐藏方法

sync

Y

视音频同步方式(type=audio/video/ext)

autoexit

N

播放完成自动退出

exitonkeydown

N

按下按键退出

exitonmousedown

N

按下鼠标退出

loop

Y

指定循环次数

framedrop

N

CPU不够的时候丢帧

window_title

Y

显示窗口的标题

rdftspeed

Y

Rdft速度

showmode

Y

显示方式(0 = video, 1 = waves, 2 = RDFT)

codec

Y

强制解码器

相关文章:

FFmpeg 音视频开发工具

目录 FFmpeg 下载与安装 ffmpeg 使用快速入门 ffplay 使用快速入门 FFmpeg 全套下载与安装 1、FFmpeg 是处理音频、视频、字幕和相关元数据等多媒体内容的库和工具的集合。一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。 官网:http…...

Go 语言 select 都能做什么?

原文链接: Go 语言 select 都能做什么? 在 Go 语言中,select 是一个关键字,用于监听和 channel 有关的 IO 操作。 通过 select 语句,我们可以同时监听多个 channel,并在其中任意一个 channel 就绪时进行相…...

Hive之窗口函数lag()/lead()

一、函数介绍 lag()与lead函数是跟偏移量相关的两个分析函数 通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤,该操作可代替表的自联接,且效率更高 lag()/lead() lag(c…...

Vite+Typescript+Vue3学习笔记

ViteTypescriptVue3学习笔记 1、项目搭建 1.1、创建项目(yarn) D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh packages...success Installed…...

二、SQL-6.DCL-2).权限控制

*是数据库和表的通配符,出现在数据库位置上表示所有数据库,出现在表名位置上,表示所有表 %是主机名的通配符,表示所有主机。 e.g.所有数据库(*)的所有表(*)的所有权限(a…...

[OpenStack] GPU透传

GPU透传本质就是PCI设备透传,不算是什么新技术。之前按照网上方法都没啥问题,但是这次测试NVIDIA A100遇到坑了。 首先是禁用nouveau 把intel_iommuon rdblacklistnouveau写入/etc/default/grub的cmdline,然后grub2-mkconfig -o /etc/grub2.c…...

无涯教程-jQuery - Progressbar组件函数

小部件进度条功能可与JqueryUI中的小部件一起使用。一个简单的进度条显示有关进度的信息。一个简单的进度条如下所示。 Progressbar - 语法 $( "#progressbar" ).progressbar({value: 37 }); Progressbar - 示例 以下是显示进度条用法的简单示例- <!doctype …...

[SQL挖掘机] - 窗口函数 - rank

介绍: rank() 是一种常用的窗口函数&#xff0c;它为结果集中的每一行分配一个排名&#xff08;rank&#xff09;。这个排名基于指定的排序顺序&#xff0c;并且在遇到相同的值时&#xff0c;会跳过相同的排名。 用法: rank() 函数的语法如下&#xff1a; rank() over ([pa…...

VBAC多层防火墙技术的研究-状态检测

黑客技术的提升和黑客工具的泛滥,造成大量的企业、机构和个人的电脑系统遭受程度不同的入侵和攻击,或面临随时被攻击的危险。迫使大家不得不加强对自身电脑网络系统的安全防护,根据系统管理者设定的安全规则把守企业网络,提供强大的、应用选通、信息过滤、流量控制、网络侦…...

PHP8的数据类型-PHP8知识详解

在PHP8中&#xff0c;变量不需要事先声明&#xff0c;赋值即声明。 不同的数据类型其实就是所储存数据的不同种类。在PHP8.0、8.1中都有所增加。以下是PHP8的15种数据类型&#xff1a; 1、字符串&#xff08;String&#xff09;&#xff1a;用于存储文本数据&#xff0c;可以使…...

明晚直播:可重构计算芯片的AI创新应用分享!

大模型技术的不断升级及应用落地&#xff0c;正在推动人工智能技术发展进入新的阶段&#xff0c;而智能化快速增长和发展的市场对芯片提出了更高的要求&#xff1a;高算力、高性能、灵活性、安全性。可重构计算区别于传统CPU、GPU&#xff0c;以指令驱动的串行执行方式&#xf…...

flask 点赞系统

dianzan.html页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>点赞系统</title> </head> <body><h2>这是一个点赞系统</h2><table border"1"><…...

关于Java的多线程实现

多线程介绍 进程&#xff1a;进程指正在运行的程序。确切的来说&#xff0c;当一个程序进入内存运行&#xff0c;即变成一个进程&#xff0c;进程是处于运行过程中的程序&#xff0c;并且具有一定独立功能。 线程&#xff1a;线程是进程中的一个执行单元&#xff0c;负责当前进…...

如何判断某个视频是深度伪造的?

目录 一、前言 二、仔细检查面部动作 三、声音可以提供线索 四、观察视频中人物的身体姿势 五、小心无意义的词语 深造伪造危险吗&#xff1f; 一、前言 制作深度伪造视频就像在Word文档中编辑文本一样简单。换句话说&#xff0c;您可以拍下任何人的视频&#xff0c;让他…...

ESP32(MicroPython) 四足机器人(一)

最近决定研究一下四足机器人&#xff0c;但市面上的产品&#xff0c;要么性价比低&#xff0c;要么性能达不到要求。本人就另外买了零件&#xff0c;安装到之前的一个麦克纳姆轮底盘的底板上。&#xff08;轮子作为装饰&#xff0c;使用铜柱固定&#xff09; 舵机使用MG996R&a…...

力扣刷题记录---利用python实现链表的基本操作

文章目录 前言一、利用python实现链表的基本操作1.节点的定义使用类实现&#xff1a;1.链表的定义使用类实现&#xff1a;3.判断是否为空函数实现&#xff1a;4.链表长度函数实现&#xff1a;5.遍历链表函数实现&#xff1a;6.头插法函数实现&#xff1a;7.尾插法函数实现&…...

OpenAI重磅官宣ChatGPT安卓版本周发布,现已开启下载预约,附详细预约教程

7月22号&#xff0c;OpenAI 突然宣布&#xff0c;安卓版 ChatGPT 将在下周发布&#xff01;换句话说&#xff0c;本周安卓版 ChatGPT正式上线&#xff01; 最早&#xff0c;ChatGPT仅有网页版。 今年5月&#xff0c;iOS版ChatGPT正式发布&#xff0c;当时OpenAI表示Android版将…...

PHP 支付宝支付、订阅支付(周期扣款)整理汇总

最近项目中需要使用支付宝的周期扣款&#xff0c;整理一下各种封装方法 APP支付&#xff08;服务端&#xff09; /******************************************************* 调用方法******************************************************/function test_pay(){$isSubscri…...

python-pytorch基础之神经网络回归

这里写目录标题 定义数据集定义函数生成数据集 使用Dataloader加载dataset定义神经网络定义实例化查看是否是输出的一个 训练编写trian方法训练并保存模型 测试模型结果构造数据测试结论 定义数据集 import torch import random定义函数 # 生成数据 def get_rancledata():wid…...

linux中通过.desktop文件执行bash命令打开chrome浏览器并传参

.desktop 文件介绍 Ecex 参数介绍 Code 描述 %f %f指向临时文件。用于不了解URL语法的程序。 %F 文件列表。用于可以一次打开多个本地文件的应用程序。每个文件作为单独的参数传递给可执行程序。 %u 单一的URL或者本地文件 %U %u的复数 %i 如果Icon 为空,不应该填写此参数。…...

ChatGPT的应用与发展趋势:解析人工智能的新风口

目录 优势 应用领域 发展趋势 总结 在人工智能技术迅猛发展的时代&#xff0c;自然语言处理系统的提升一直是研究者们追求的目标。作为人工智能领域的重要突破之一&#xff0c;ChatGPT以其出色的语言模型和交互能力&#xff0c;在智能对话领域取得了重要的进展。 ChatGPT是…...

使用maven打jar包时,如何只把依赖的其它jar中的类打进jar包,没有依赖的其它jar包的类文件不打进来?

简介 使用Maven打包时&#xff0c;默认情况下&#xff0c;所有依赖的jar包都会被打包到生成的jar文件中。 如果只想将依赖的其他jar中的类文件打进来&#xff0c;而不包含其它jar包&#xff0c;可以使用Maven的 maven-shade-plugin插件进行配置。 步骤 以下是一个示例配置&…...

arm neon/fpu/mfloat

neon官网介绍: Arm Neon technology is an advanced Single Instruction Multiple Data (SIMD) architecture extension for the A-profile and R-profile processors. Neon technology is a packed SIMD architecture. Neon registers are considered as vectors of elements …...

Maven基础之项目创建、packaging

文章目录 创建 maven 项目流程骨架是浮云&#xff0c;packaging 是关键 创建 maven 项目流程 通过骨架&#xff08;archetype&#xff09;创建 maven 工程 第一步&#xff1a;选择 new → maven → Maven Project 第二步&#xff1a;New Maven Project 窗口不作任何设置&…...

c++ std::map 使用注意事项

1. std::map 如果在添加元素前&#xff0c;直接去取 key-value&#xff0c;会怎样 &#xff1f; 先说答案&#xff0c;map 在添加元素前&#xff0c;直接使用会给 key 添加默认的 value&#xff01; 2. 问题背景 某项目代码报出个严重的bug&#xff0c;具体现象是某个 map…...

Camera HAL/ISP 专业术语大全

不断更新&#xff0c;建议收藏&#xff0c;快速检索 SOC&#xff0c;System On Chip&#xff0c;片上系统 HAL&#xff0c;Hardware Abstraction Layer&#xff0c;硬件抽象层 ISP&#xff0c;Image Signal Processor&#xff0c;图像信号处理器 KMD&#xff0c;Kernel Mod…...

POI的简单入门

POI的简单入门 导入jar包将数据写入Excel文件读取Excel文件中的数据 导入jar包 Apache POI的maven坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version> </dependency>…...

如何将笔记本作为另一台电脑的副屏显示

背景说明 台式电脑一个显示器不够我使用&#xff0c;而手头又没有多的显示器。我的笔记本有屏幕&#xff0c;但是不能直接连HDMI线给台式拓展屏幕。研究一段时间后发现&#xff0c;利用spacedesk软件可以基本完美解决这个问题。 效果演示 软件下载与安装 官网下载最新版(需要…...

深入理解正则表达式:为什么它在Java中如此重要?

文章目录 一、正则表达式1.1 为什么引入正则表达式1.2 什么是正则表达式 二、正则表达式规则2.1 正则表达式的基本语法规则2.2 非贪婪匹配 三、正则表达式在java中的应用3.1 String3.2 java.util.regex 参考资料 一、正则表达式 1.1 为什么引入正则表达式 在实际编写程序的过…...

jmeter实现webservice接口测试

其实可以用jmeter两种sampler进行webservice的测试&#xff1a; 1、SOAP/XML-RPC Request(但是在jmeter3.2以后版本中已经取消了这个取样器) 2、HTTP请求 下面分别介绍两种方式 一、首先需要使用soupUI工具抓取webservice接口的部分需要的信息。 1、新建项目 2、新建成功的…...

wordpress缓存方案/亚马逊关键词优化怎么做

MySQL 5.6.17 rpm 文件安装顺序 64位安装包, 查看系统位数, 安装对应的mysql Linux系统安装MySQL时&#xff0c;将MySQL-5.6.17-1.el6.x86_64.rpm-bundle.tar包打开&#xff0c;有7个rpm文件&#xff0c;如下&#xff1a; MySQL-client-5.6.17-1.el6.x86_64.rpmMySQL-devel-…...

什么网站做设计可以赚钱吗/百度公司有哪些部门

在各种情况下&#xff0c;在利益相关者之间共享之前&#xff0c;PDF文档都是经过加密的。加密使文档免受未经授权的访问和内容篡改的影响。有两种保护PDF文档安全的流行方法-用密码加密PDF或限制用户的访问权限&#xff0c;例如打印&#xff0c;编辑&#xff0c;复制等。 本文…...

广州建设网站是什么/爱站网长尾关键词挖掘

有的人能力不如你&#xff0c;人生阅历不如你&#xff0c;技巧不如你&#xff0c;亲和力不如你&#xff0c;形象不如你&#xff0c;但成绩比你好、收入比你高&#xff01;是什么限制了你的能力和成就&#xff1f;1、否定性思想比如&#xff1a;不可能、没办法、怎么会&#xff…...

网站被别人备案/直通车优化推广

1、用fixed定位做的弹出框&#xff0c;弹出框里面有文本框。fixed在ios上兼容不友好&#xff0c;会造成光标乱跳。 解决方法&#xff1a;当弹出框弹出时给父元素加上fixed定位&#xff0c;此时页面无法滚动&#xff1b;弹出框关闭时移除fixed定位&#xff0c;页面恢复正常滚动。…...

哪一家做网站好/aso优化违法吗

题意&#xff1a; 有\(n(1 \leq n \leq 10^5)\)个点&#xff0c;\(q(1 \leq q \leq 10^5)\)条路和起点\(s\) 路有三种类型&#xff1a; 从点\(v\)到点\(u\)需要花费\(w\)从点\(v\)到区间\([l,r]\)中的点花费为\(w\)从区间\([l,r]\)中的点到点\(v\)花费为\(w\)求起点到各个点的最…...

保定网站建设与seo/搜索关键词排名提升

一、ReadyDR 是什么&#xff1f;ReadyDR 是基于快照的块级别灾备方案&#xff0c;ReadyNAS OS 6.6 版本支持该功能.• ReadyDR 里面的 DR 两个字母&#xff0c;分别代表 Disaster Recover• ReadyDR 当前只有使用 X86 CPU 的 ReadyNAS 支持• ReadyDR 并非一个高可用&#xff0…...