ffmpeg常用命令及介绍

news2025/1/14 22:45:59

FFmpeg 是一个非常强大的多媒体处理工具,可以用来进行视频和音频的转换、剪辑、合并、提取等多种操作。以下是一些常用的 FFmpeg 命令及其功能介绍:

1. 基本命令结构

FFmpeg 的基本命令结构如下:

ffmpeg [全局选项] [输入文件选项] -i 输入文件 [输出文件选项] 输出文件

2. 常用命令

2.1 查看媒体文件信息

使用 ffprobeffmpeg -i 查看媒体文件的详细信息。

ffprobe -i input.mp4

ffmpeg -i input.mp4
2.2 视频格式转换

将一个视频文件从一种格式转换为另一种格式。

ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
2.3 音频格式转换

将一个音频文件从一种格式转换为另一种格式。

ffmpeg -i input.wav -c:a libmp3lame output.mp3
2.4 提取音频

从视频文件中提取音频并保存为单独的音频文件。

ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
2.5 提取视频

从视频文件中提取视频流(无音频)。

ffmpeg -i input.mp4 -c copy -an output.mp4
2.6 裁剪视频

裁剪视频的指定时间段。

ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 -c copy output.mp4
2.7 合并视频

将多个视频文件合并为一个文件。

ffmpeg -i "concat:input1.mp4|input2.mp4" -c copy output.mp4

或者使用 concat 文件列表:

echo "file 'input1.mp4'" > filelist.txt echo "file 'input2.mp4'" >> filelist.txt ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
2.8 调整分辨率

将视频文件调整为指定的分辨率。

ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
2.9 调整比特率

设置视频和音频的比特率。

ffmpeg -i input.mp4 -b:v 1000k -b:a 128k output.mp4
2.10 添加水印

在视频上添加水印。

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
2.11 旋转视频

旋转视频 90 度。

ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
2.12 截取视频帧

从视频中截取一帧图像。

ffmpeg -i input.mp4 -ss 00:00:01 -vframes 1 output.jpg
2.13 更改帧率

更改视频的帧率。

ffmpeg -i input.mp4 -r 30 output.mp4
2.14 更改音频采样率

更改音频的采样率。

ffmpeg -i input.mp3 -ar 44100 output.mp3
2.15 更改音频声道数

更改音频的声道数。

ffmpeg -i input.mp3 -ac 2 output.mp3
2.16 静音或删除音频

删除视频中的音频。

ffmpeg -i input.mp4 -c copy -an output.mp4
2.17 添加音频到视频

将音频文件添加到视频文件中。

ffmpeg -i input.mp4 -i audio.mp3 -c copy -shortest output.mp4
2.18 生成缩略图

生成视频的缩略图。

ffmpeg -i input.mp4 -vf fps=1/60 thumbnails_%03d.jpg

3. ffmpeg的filter使用方式

3.1常用filter

3.1.1 缩放 (scale)

调整视频的分辨率。

ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4
3.1.2 裁剪 (crop)

裁剪视频的一部分。

ffmpeg -i input.mp4 -vf "crop=640:360:0:0" output.mp4
  • crop=out_w:out_h:x:y:其中 out_w 和 out_h 是输出宽度和高度,x 和 y 是裁剪区域的起始坐标。
3.1.3 叠加 (overlay)

在视频上叠加另一个视频或图像。ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4

  • overlay=x:y:其中 x 和 y 是叠加位置的坐标。
3.1.4 旋转 (transpose)

旋转视频。

ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
  • transpose=1:顺时针旋转90度。
  • transpose=2:逆时针旋转90度。
  • transpose=3:顺时针旋转90度并垂直翻转。
  • transpose=4:逆时针旋转90度并垂直翻转。
3.1.5 淡入淡出 (fade)

添加淡入淡出效果。

ffmpeg -i input.mp4 -vf "fade=t=in:st=0:d=1,fade=t=out:st=59:d=1" -c:a copy output.mp4
  • fade=t=in:st=0:d=1:从第0秒开始,持续1秒的淡入效果。
  • fade=t=out:st=59:d=1:从第59秒开始,持续1秒的淡出效果。
3.1.6 颜色调整 (eq)

调整视频的颜色、亮度、对比度等。

ffmpeg -i input.mp4 -vf "eq=brightness=0.1:contrast=1.5:saturation=1.2" output.mp4
  • brightness:亮度。
  • contrast:对比度。
  • saturation:饱和度。
3.1.7 模糊 (gblur)

添加高斯模糊效果。

ffmpeg -i input.mp4 -vf "gblur=sigma=5" output.mp4
  • sigma:控制模糊程度。
3.1.8 抽取帧 (select)

抽取特定条件的帧。

ffmpeg -i input.mp4 -vf "select='gt(scene,0.4)',setpts=N/FRAME_RATE/TB" -vsync vfr output_%d.jpg
  • select='gt(scene,0.4)':选择场景变化大于0.4的帧。
  • setpts=N/FRAME_RATE/TB:重新设置时间戳。
  • -vsync vfr:保持原始帧率。

3.2 常用音频滤镜

3.2.1 音量调整 (volume)

调整音频的音量。

ffmpeg -i input.mp3 -af "volume=0.5" output.mp3
  • volume=0.5:将音量降低到50%。
3.2.2 均衡器 (equalizer)

调整音频的频率响应。

ffmpeg -i input.mp3 -af "equalizer=f=1000:t=h:width_type=o:width=2:g=10" output.mp3
  • f=1000:中心频率为1000 Hz。
  • t=h:类型为高通。
  • width_type=o:带宽类型为八度。
  • width=2:带宽为2个八度。
  • g=10:增益为10 dB。
3.2.3 混响 (aecho)

添加混响效果。

ffmpeg -i input.mp3 -af "aecho=0.8:0.88:60:0.4" output.mp3
  • aecho=in_gain:out_gain:delays:decays:分别控制输入增益、输出增益、延迟时间和衰减系数。
3.2.4 动态范围压缩 (compand)

压缩音频的动态范围。

ffmpeg -i input.mp3 -af "compand=attacks=0:points=-80/-80|-40/-40|0/-30|20/-20|40/-20|60/-20|80/-20:gain=10" output.mp3
  • attacks=0:攻击时间为0。
  • points:定义压缩点。
  • gain=10:增益为10 dB。

3.3. 复杂滤镜链

多个滤镜可以组合成一个复杂的滤镜链。

ffmpeg -i input.mp4 -vf "scale=1280:720,crop=1000:1000:100:100,transpose=1,fade=t=in:st=0:d=1,fade=t=out:st=59:d=1" -c:a copy output.mp4

3.4. 使用 filter_complex

对于更复杂的操作,可以使用 filter_complex 选项。

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v][1:v]overlay=10:10,format=yuv420p[v]; [0:a]volume=0.8[a]" -map "[v]" -map "[a]" output.mp4
  • [0:v] 和 [1:v] 分别表示第一个和第二个输入文件的视频流。
  • [0:a] 表示第一个输入文件的音频流。
  • overlay=10:10 将水印叠加在视频上。
  • format=yuv420p 确保输出格式兼容性。
  • volume=0.8 调整音频音量。

4. 总结

FFmpeg 是一个极其强大的工具,适用于各种音视频处理任务。通过上述命令,你可以完成大多数常见的音视频处理需求。如果你有更具体的需求或遇到问题,可以通过查阅 FFmpeg 的官方文档或社区资源来获取更多信息。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASP.NET Core - 日志记录系统(二)

ASP.NET Core - 日志记录系统(二) 2.4 日志提供程序2.4.1 内置日志提供程序2.4.2 源码解析 本篇接着上一篇 ASP.NET Core - 日志记录系统(一) 往下讲,所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括…

无源器件-电容

电容器件的参数 基本概念由中学大学物理或电路分析内容获得,此处不做过多分析。 电容的产量占全球电子元器件产品的40%以上。 单位:法拉 F;1F10^6uF;电路中常见的104电容就是10*10^4pF100nF0.1uF C为电容,Rp为绝缘电…

云平台一键部署【Video-Background-Removal】视频换背景,无任何限制,随意换

Video-Background-Removal 是一款革命性的视频背景替换工具,旨在让用户轻松实现视频背景的快速更换。无论你是专业创作者还是普通用户,这款软件都能让你在几秒钟内改变背景,完全消除限制,随心所欲,随时随地想换就换&am…

HCIP笔记1--IP路由基础回顾、BFD单臂回声、OSPF基础

1. 路由基础回顾 概念 AS(Aotonomous System): 自治系统,由同一机构管理的路由器集合。LAN(Local Area Network): 局域网,用户所使用的网络WAN(Wideless Area Network): 广域网,运营商网络广播域:一个广播帧能在网络中到达的所有…

【Linux网络编程】数据链路层 | MAC帧 | ARP协议

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 🌈个人主页: 南桥几晴秋 🌈C专栏: 南桥谈C 🌈C语言专栏: C语言学习系…

微软与腾讯技术交锋,TRELLIS引领3D生成领域多格式支持新方向

去年 11 月,腾讯推出 Hunyuan3D 生成模型,是业界首个同时支持文字和图像生成 3D 的开源大模型。紧接着不到一个月,微软便发布了全新框架 TRELLIS,加入 3D 资产生成领域的竞争中。TRELLIS 支持多格式输出,包括辐射场、3…

【爬虫】单个网站链接爬取文献数据:标题、摘要、作者等信息

源码链接: https://github.com/Niceeggplant/Single—Site-Crawler.git 一、项目概述 从指定网页中提取文章关键信息的工具。通过输入文章的 URL,程序将自动抓取网页内容 二、技术选型与原理 requests 库:这是 Python 中用于发送 HTTP 请求…

设计模式-结构型-组合模式

1. 什么是组合模式? 组合模式(Composite Pattern) 是一种结构型设计模式,它允许将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端对单个对象和组合对象的使用具有一致性。换句话说,组合模式允…

js:正则表达式

目录 正则表达式的语法 定义 检测 检索 元字符 边界符 量词 字符类 表单判断案例 修饰符 过滤敏感词 正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本字符组合模式 正则表达式是一…

PHP数据过滤函数详解:filter_var、filter_input、filter_has_var等函数的数据过滤技巧

PHP数据过滤函数详解:filter_var、filter_input、filter_has_var等函数的数据过滤技巧,需要具体代码示例 在 Web 开发中,数据过滤是非常重要的一环。过滤用户输入的数据可以保护我们的应用程序免受潜在的安全威胁。PHP 提供了一系列强大的数…

QT跨平台应用程序开发框架(1)—— 环境搭建

目录 一,关于QT 二,关于应用程序框架 三,环境搭建 3.1 预备 3.2 下载Qt SDK 3.3 安装Qt SDK 3.4 配置环境变量 3.5 认识一些重要工具 四,Qt Creator 的基本使用 4.1 创建项目 4.2 代码解释 一,关于QT 互联网…

【MySQL】基础架构分析

考察频率难度40%⭐⭐⭐⭐ 这道题在面试时的出现频率其实并不高,最起码对于笔者来说是没有遇到过。那为什么还是选择把这个问题作为 MySQL 八股文系列的第一个呢?其实原因也挺简单的,还是老规矩,先通过一个问题把整个知识框架来一…

【华为云开发者学堂】基于华为云 CodeArts CCE 开发微服务电商平台

实验目的 通过完成本实验,在 CodeArts 平台完成基于微服务的应用开发,构建和部署。 ● 理解微服务应用架构和微服务模块组件 ● 掌握 CCE 平台创建基于公共镜像的应用的操作 ● 掌握 CodeArts 平台编译构建微服务应用的操作 ● 掌握 CodeArts 平台部署微…

Elasticsearch ES|QL 地理空间索引加入纽约犯罪地图

可以根据地理空间数据连接两个索引。在本教程中,我将向你展示如何通过混合邻里多边形和 GPS 犯罪事件坐标来创建纽约市的犯罪地图。 安装 如果你还没有安装好自己的 Elasticsearch 及 Kibana 的话,请参考如下的链接来进行安装。 如何在 Linux&#xff0…

P10打卡——pytorch实现车牌识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.检查GPU from torchvision.transforms import transforms from torch.utils.data import DataLoader from torchvision import datasets import torchvisio…

GitCode G-Star 光引计划终审前十名获奖项目公示

在技术的浩瀚星空中,GitCode 平台上的 G-Star 项目熠熠生辉。如今,“光引计划” 已圆满落幕,众多 G-Star 项目作者,一同分享项目在 GitCode 平台托管的宝贵体验,并深入挖掘平台的多样玩法。 众多投稿纷至沓来&#xf…

【pycharm】远程部署失败,查看日志

pycharm 远程部署失败,查看日志 远程一直失败,gateway超时会还知道拉取一份日志: 在./root 下 发现了崩溃日志,启动崩溃了,导致backend一直无法启动。win11就是一直在connect到ubuntu的后端pycharm。。gateway 拉取的日志 我上传的linux版本的pycharm暂时存在dist目录下,…

浅谈云计算02 | 云计算模式的演进

云计算计算模式的演进 一、云计算计算模式的起源追溯1.2 个人计算机与桌面计算 二、云计算计算模式的发展阶段2.1 效用计算的出现2.2 客户机/服务器模式2.3 集群计算2.4 服务计算2.5 分布式计算2.6 网格计算 三、云计算计算模式的成熟与多元化3.1 主流云计算服务模式的确立3.1.…

Vue 学习之旅:从基础到实践(vue快速上手+插值表达式+指令上)

Vue 学习之旅:从基础到实践 文章目录 Vue 学习之旅:从基础到实践一、Vue 简介二、创建 Vue 实例与插值表达式(一)创建 Vue 实例步骤(二)插值表达式 三、Vue 核心特性 - 响应式四、Vue 指令(一&a…

PMP–一、二、三模、冲刺–分类–7.成本管理

文章目录 技巧一模7.成本管理--4.控制成本--数据分析--挣值分析--进度绩效指数(SPI)是测量进度效率的一种指标,表示为挣值与计划价值之比,反映了项目团队完成工作的效率。 当 SPI小于 1.0 时,说明已完成的工作量未达到…