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 | 强制解码器 |
相关文章:
![](https://img-blog.csdnimg.cn/14bd14000f6f4d10842cc3feb747fe3a.gif)
FFmpeg 音视频开发工具
目录 FFmpeg 下载与安装 ffmpeg 使用快速入门 ffplay 使用快速入门 FFmpeg 全套下载与安装 1、FFmpeg 是处理音频、视频、字幕和相关元数据等多媒体内容的库和工具的集合。一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。 官网:http…...
![](https://www.ngui.cc/images/no-images.jpg)
Go 语言 select 都能做什么?
原文链接: Go 语言 select 都能做什么? 在 Go 语言中,select 是一个关键字,用于监听和 channel 有关的 IO 操作。 通过 select 语句,我们可以同时监听多个 channel,并在其中任意一个 channel 就绪时进行相…...
![](https://img-blog.csdnimg.cn/img_convert/ee98692a786db9b84dff0add248d7e91.png)
Hive之窗口函数lag()/lead()
一、函数介绍 lag()与lead函数是跟偏移量相关的两个分析函数 通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤,该操作可代替表的自联接,且效率更高 lag()/lead() lag(c…...
![](https://img-blog.csdnimg.cn/fee73157bcc34a1cb4262665476fe020.png)
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…...
![](https://img-blog.csdnimg.cn/508f70d6f1384a1d8d71599d970b7c87.png)
二、SQL-6.DCL-2).权限控制
*是数据库和表的通配符,出现在数据库位置上表示所有数据库,出现在表名位置上,表示所有表 %是主机名的通配符,表示所有主机。 e.g.所有数据库(*)的所有表(*)的所有权限(a…...
![](https://www.ngui.cc/images/no-images.jpg)
[OpenStack] GPU透传
GPU透传本质就是PCI设备透传,不算是什么新技术。之前按照网上方法都没啥问题,但是这次测试NVIDIA A100遇到坑了。 首先是禁用nouveau 把intel_iommuon rdblacklistnouveau写入/etc/default/grub的cmdline,然后grub2-mkconfig -o /etc/grub2.c…...
![](https://www.learnfk.com/guide/images/wuya.png)
无涯教程-jQuery - Progressbar组件函数
小部件进度条功能可与JqueryUI中的小部件一起使用。一个简单的进度条显示有关进度的信息。一个简单的进度条如下所示。 Progressbar - 语法 $( "#progressbar" ).progressbar({value: 37 }); Progressbar - 示例 以下是显示进度条用法的简单示例- <!doctype …...
![](https://www.ngui.cc/images/no-images.jpg)
[SQL挖掘机] - 窗口函数 - rank
介绍: rank() 是一种常用的窗口函数,它为结果集中的每一行分配一个排名(rank)。这个排名基于指定的排序顺序,并且在遇到相同的值时,会跳过相同的排名。 用法: rank() 函数的语法如下: rank() over ([pa…...
![](https://www.ngui.cc/images/no-images.jpg)
VBAC多层防火墙技术的研究-状态检测
黑客技术的提升和黑客工具的泛滥,造成大量的企业、机构和个人的电脑系统遭受程度不同的入侵和攻击,或面临随时被攻击的危险。迫使大家不得不加强对自身电脑网络系统的安全防护,根据系统管理者设定的安全规则把守企业网络,提供强大的、应用选通、信息过滤、流量控制、网络侦…...
![](https://img-blog.csdnimg.cn/627abab8ffc7457093ea4f444529140e.png)
PHP8的数据类型-PHP8知识详解
在PHP8中,变量不需要事先声明,赋值即声明。 不同的数据类型其实就是所储存数据的不同种类。在PHP8.0、8.1中都有所增加。以下是PHP8的15种数据类型: 1、字符串(String):用于存储文本数据,可以使…...
![](https://img-blog.csdnimg.cn/img_convert/7a49eff5f23c85dfbdbe2e9630d9e721.png)
明晚直播:可重构计算芯片的AI创新应用分享!
大模型技术的不断升级及应用落地,正在推动人工智能技术发展进入新的阶段,而智能化快速增长和发展的市场对芯片提出了更高的要求:高算力、高性能、灵活性、安全性。可重构计算区别于传统CPU、GPU,以指令驱动的串行执行方式…...
![](https://img-blog.csdnimg.cn/e14c861826dc4bb1b3c97244dabfefb2.png#pic_center)
flask 点赞系统
dianzan.html页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>点赞系统</title> </head> <body><h2>这是一个点赞系统</h2><table border"1"><…...
![](https://img-blog.csdnimg.cn/img_convert/fd1629dd41be7be9d06309cafc59ab91.jpeg)
关于Java的多线程实现
多线程介绍 进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 线程:线程是进程中的一个执行单元,负责当前进…...
![](https://img-blog.csdnimg.cn/img_convert/d47de021b60f7402bcae4647759d6a5a.jpeg)
如何判断某个视频是深度伪造的?
目录 一、前言 二、仔细检查面部动作 三、声音可以提供线索 四、观察视频中人物的身体姿势 五、小心无意义的词语 深造伪造危险吗? 一、前言 制作深度伪造视频就像在Word文档中编辑文本一样简单。换句话说,您可以拍下任何人的视频,让他…...
![](https://img-blog.csdnimg.cn/42daa379a3734b03ac2fe3b61d2e2464.jpg)
ESP32(MicroPython) 四足机器人(一)
最近决定研究一下四足机器人,但市面上的产品,要么性价比低,要么性能达不到要求。本人就另外买了零件,安装到之前的一个麦克纳姆轮底盘的底板上。(轮子作为装饰,使用铜柱固定) 舵机使用MG996R&a…...
![](https://img-blog.csdnimg.cn/be73f0e1f1f7405681c93ac2f6271b4d.png)
力扣刷题记录---利用python实现链表的基本操作
文章目录 前言一、利用python实现链表的基本操作1.节点的定义使用类实现:1.链表的定义使用类实现:3.判断是否为空函数实现:4.链表长度函数实现:5.遍历链表函数实现:6.头插法函数实现:7.尾插法函数实现&…...
![](https://img-blog.csdnimg.cn/img_convert/dc547ae9b521c6a0bc089faccf5e0ce6.png)
OpenAI重磅官宣ChatGPT安卓版本周发布,现已开启下载预约,附详细预约教程
7月22号,OpenAI 突然宣布,安卓版 ChatGPT 将在下周发布!换句话说,本周安卓版 ChatGPT正式上线! 最早,ChatGPT仅有网页版。 今年5月,iOS版ChatGPT正式发布,当时OpenAI表示Android版将…...
![](https://www.ngui.cc/images/no-images.jpg)
PHP 支付宝支付、订阅支付(周期扣款)整理汇总
最近项目中需要使用支付宝的周期扣款,整理一下各种封装方法 APP支付(服务端) /******************************************************* 调用方法******************************************************/function test_pay(){$isSubscri…...
![](https://www.ngui.cc/images/no-images.jpg)
python-pytorch基础之神经网络回归
这里写目录标题 定义数据集定义函数生成数据集 使用Dataloader加载dataset定义神经网络定义实例化查看是否是输出的一个 训练编写trian方法训练并保存模型 测试模型结果构造数据测试结论 定义数据集 import torch import random定义函数 # 生成数据 def get_rancledata():wid…...
![](https://www.ngui.cc/images/no-images.jpg)
linux中通过.desktop文件执行bash命令打开chrome浏览器并传参
.desktop 文件介绍 Ecex 参数介绍 Code 描述 %f %f指向临时文件。用于不了解URL语法的程序。 %F 文件列表。用于可以一次打开多个本地文件的应用程序。每个文件作为单独的参数传递给可执行程序。 %u 单一的URL或者本地文件 %U %u的复数 %i 如果Icon 为空,不应该填写此参数。…...
![](https://img-blog.csdnimg.cn/56fe69830b264b3d8e617d222c7e0605.jpeg)
ChatGPT的应用与发展趋势:解析人工智能的新风口
目录 优势 应用领域 发展趋势 总结 在人工智能技术迅猛发展的时代,自然语言处理系统的提升一直是研究者们追求的目标。作为人工智能领域的重要突破之一,ChatGPT以其出色的语言模型和交互能力,在智能对话领域取得了重要的进展。 ChatGPT是…...
![](https://www.ngui.cc/images/no-images.jpg)
使用maven打jar包时,如何只把依赖的其它jar中的类打进jar包,没有依赖的其它jar包的类文件不打进来?
简介 使用Maven打包时,默认情况下,所有依赖的jar包都会被打包到生成的jar文件中。 如果只想将依赖的其他jar中的类文件打进来,而不包含其它jar包,可以使用Maven的 maven-shade-plugin插件进行配置。 步骤 以下是一个示例配置&…...
![](https://img-blog.csdnimg.cn/31c5909968a140d09a930982d08ae6f1.png)
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 …...
![](https://img-blog.csdnimg.cn/bf6cc9a90fe249a5b5bcd6a2367acf8d.png#pic_center)
Maven基础之项目创建、packaging
文章目录 创建 maven 项目流程骨架是浮云,packaging 是关键 创建 maven 项目流程 通过骨架(archetype)创建 maven 工程 第一步:选择 new → maven → Maven Project 第二步:New Maven Project 窗口不作任何设置&…...
![](https://www.ngui.cc/images/no-images.jpg)
c++ std::map 使用注意事项
1. std::map 如果在添加元素前,直接去取 key-value,会怎样 ? 先说答案,map 在添加元素前,直接使用会给 key 添加默认的 value! 2. 问题背景 某项目代码报出个严重的bug,具体现象是某个 map…...
![](https://www.ngui.cc/images/no-images.jpg)
Camera HAL/ISP 专业术语大全
不断更新,建议收藏,快速检索 SOC,System On Chip,片上系统 HAL,Hardware Abstraction Layer,硬件抽象层 ISP,Image Signal Processor,图像信号处理器 KMD,Kernel Mod…...
![](https://www.ngui.cc/images/no-images.jpg)
POI的简单入门
POI的简单入门 导入jar包将数据写入Excel文件读取Excel文件中的数据 导入jar包 Apache POI的maven坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version> </dependency>…...
![](https://s2.loli.net/2023/02/11/bNjf3qaFmCPTZpl.png)
如何将笔记本作为另一台电脑的副屏显示
背景说明 台式电脑一个显示器不够我使用,而手头又没有多的显示器。我的笔记本有屏幕,但是不能直接连HDMI线给台式拓展屏幕。研究一段时间后发现,利用spacedesk软件可以基本完美解决这个问题。 效果演示 软件下载与安装 官网下载最新版(需要…...
![](https://www.ngui.cc/images/no-images.jpg)
深入理解正则表达式:为什么它在Java中如此重要?
文章目录 一、正则表达式1.1 为什么引入正则表达式1.2 什么是正则表达式 二、正则表达式规则2.1 正则表达式的基本语法规则2.2 非贪婪匹配 三、正则表达式在java中的应用3.1 String3.2 java.util.regex 参考资料 一、正则表达式 1.1 为什么引入正则表达式 在实际编写程序的过…...
![](https://img-blog.csdnimg.cn/834fc3d411d84297af0b362558c8092d.png)
jmeter实现webservice接口测试
其实可以用jmeter两种sampler进行webservice的测试: 1、SOAP/XML-RPC Request(但是在jmeter3.2以后版本中已经取消了这个取样器) 2、HTTP请求 下面分别介绍两种方式 一、首先需要使用soupUI工具抓取webservice接口的部分需要的信息。 1、新建项目 2、新建成功的…...
![](/images/no-images.jpg)
wordpress缓存方案/亚马逊关键词优化怎么做
MySQL 5.6.17 rpm 文件安装顺序 64位安装包, 查看系统位数, 安装对应的mysql Linux系统安装MySQL时,将MySQL-5.6.17-1.el6.x86_64.rpm-bundle.tar包打开,有7个rpm文件,如下: MySQL-client-5.6.17-1.el6.x86_64.rpmMySQL-devel-…...
![](https://img-blog.csdnimg.cn/img_convert/0337fc9bcb7b785ea19985b9f2c082a5.png)
什么网站做设计可以赚钱吗/百度公司有哪些部门
在各种情况下,在利益相关者之间共享之前,PDF文档都是经过加密的。加密使文档免受未经授权的访问和内容篡改的影响。有两种保护PDF文档安全的流行方法-用密码加密PDF或限制用户的访问权限,例如打印,编辑,复制等。 本文…...
广州建设网站是什么/爱站网长尾关键词挖掘
有的人能力不如你,人生阅历不如你,技巧不如你,亲和力不如你,形象不如你,但成绩比你好、收入比你高!是什么限制了你的能力和成就?1、否定性思想比如:不可能、没办法、怎么会ÿ…...
![](/images/no-images.jpg)
网站被别人备案/直通车优化推广
1、用fixed定位做的弹出框,弹出框里面有文本框。fixed在ios上兼容不友好,会造成光标乱跳。 解决方法:当弹出框弹出时给父元素加上fixed定位,此时页面无法滚动;弹出框关闭时移除fixed定位,页面恢复正常滚动。…...
![](https://images2015.cnblogs.com/blog/640481/201704/640481-20170412184549939-1526543986.png)
哪一家做网站好/aso优化违法吗
题意: 有\(n(1 \leq n \leq 10^5)\)个点,\(q(1 \leq q \leq 10^5)\)条路和起点\(s\) 路有三种类型: 从点\(v\)到点\(u\)需要花费\(w\)从点\(v\)到区间\([l,r]\)中的点花费为\(w\)从区间\([l,r]\)中的点到点\(v\)花费为\(w\)求起点到各个点的最…...
![](https://s1.51cto.com/images/blog/201712/26/69b200548aaae453adb48b1ee13c19e0.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
保定网站建设与seo/搜索关键词排名提升
一、ReadyDR 是什么?ReadyDR 是基于快照的块级别灾备方案,ReadyNAS OS 6.6 版本支持该功能.• ReadyDR 里面的 DR 两个字母,分别代表 Disaster Recover• ReadyDR 当前只有使用 X86 CPU 的 ReadyNAS 支持• ReadyDR 并非一个高可用࿰…...