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

Linux ffmpeg 基础用法

简介

FFmpeg 是一个强大的开源多媒体框架,用于处理视频、音频和其他多媒体文件和流。它允许转换、录制、编辑、流媒体等等。

安装

  • Debian/Ubuntu
sudo apt update
sudo apt install ffmpeg
  • Red Hat/CentOS
sudo dnf install ffmpeg
  • macOS (via Homebrew)
brew install ffmpeg
  • 从源码构建
# Install dependencies
sudo apt update
sudo apt install -y build-essential yasm pkg-config libx264-dev libx265-dev libvpx-dev# Clone FFmpeg repo and compile
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure
make
sudo make install

常用选项

  • -i:指定输入文件

  • -f:指定输出的格式

  • -c:v:指定视频编解码器

  • -c:a:指定音频编解码器

  • -b:v:指定视频比特率

  • -b:a:指定音频比特率

  • -t:持续时间 (hh:mm:ss)

  • -ss:开始时间

  • -vn:禁用视频流

  • -an:禁用音频流

  • -map:选择指定的流

  • -y:无需询问即可覆盖输出文件

示例用法

查看 ffmpeg 版本
ffmpeg -version
转换视频格式

要将视频从一种格式转换为另一种格式(例如,将 .avi 转换为 .mp4

ffmpeg -i input.avi output.mp4
从视频中提取音频

提取音频并保存为 mp3 格式

ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
  • -q:a 0:设置音频质量(0 为最佳)

  • -map a:选择音频流

转换音频格式

要转换音频文件(例如,将 .wav 转换为 .mp3

ffmpeg -i input.wav output.mp3
调整视频大小

要将视频调整为特定分辨率(例如 1280x720

ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4
更改视频编解码器

要使用特定编解码器(例如 H.264 编解码器)转换视频

ffmpeg -i input.mp4 -c:v libx264 output.mp4
从视频中提取特定时间范围

要从视频中提取特定片段(例如从 1 分钟开始的 30 秒)

ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c:v copy -c:a copy output.mp4
  • -ss 00:01:00:开始时间(1分钟)

  • -t 00:00:30:时长(30 秒)

合并多个视频

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

  1. 先创建一个文本文件,把文件的名称写进去,如下:
file 'input1.mp4'
file 'input2.mp4'
  1. 运行命令
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
视频添加水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
  • overlay=10:10:水印的位置(距左上角 10px
调整视频速度
  • 减速(50% 速度)
ffmpeg -i input.mp4 -filter:v "setpts=2.0*PTS" output.mp4
  • 加速(200% 速度)
ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4
从视频中创建 GIF
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif
将音频转换为单声道
ffmpeg -i input.mp3 -ac 1 output.mp3
将音频转换为立体声
ffmpeg -i input.mp3 -ac 2 output.mp3
将音频的音量增加 2 倍
ffmpeg -i input.mp3 -filter:a "volume=2.0" output.mp3
将音频标准化为标准音量级别
ffmpeg -i input.mp3 -filter:a "loudnorm" output.mp3
通过 RTMP 流式传输音频/视频
ffmpeg -re -i input.mp4 -f flv rtmp://live.twitch.tv/app/stream_key
通过 RTP 传输音频
ffmpeg -i input.mp3 -f rtp rtp://192.168.0.100:1234
应用视频滤镜

FFmpeg 包含许多过滤器来调整视频属性,如亮度、对比度、饱和度等。

增加亮度和对比度的示例

ffmpeg -i input.mp4 -vf "eq=brightness=0.05:contrast=1.5" output.mp4
应用音频滤镜

降低音频噪音的示例

ffmpeg -i input.wav -af "afftdn" output.wav

总结

FFmpeg 是一个非常强大和灵活的多媒体工具,用于转换、编辑和处理音频和视频。它支持广泛的格式和编解码器,使其成为任何媒体相关任务的必备工具。使用FFmpeg,可以执行简单的任务,如转换文件和提取音频,以及更高级的任务,如流式传输、创建 gif 和编辑视频。广泛的过滤器和选项使其适用于几乎任何媒体相关的需求。

相关文章:

Linux ffmpeg 基础用法

简介 FFmpeg 是一个强大的开源多媒体框架,用于处理视频、音频和其他多媒体文件和流。它允许转换、录制、编辑、流媒体等等。 安装 Debian/Ubuntu sudo apt update sudo apt install ffmpegRed Hat/CentOS sudo dnf install ffmpegmacOS (via Homebrew) brew i…...

【C++入门】详解(中)

目录 💕1.函数的重载 💕2.引用的定义 💕3.引用的一些常见问题 💕4.引用——权限的放大/缩小/平移 💕5. 不存在的空引用 💕6.引用作为函数参数的速度之快(代码体现) &#x1f4…...

深度学习的加速器:Horovod,让分布式训练更简单高效!

什么是 Horovod? Horovod 是 Uber 开发的一个专注于深度学习分布式训练的开源框架,旨在简化和加速多 GPU、多节点环境下的训练过程。它以轻量级、易用、高性能著称,特别适合需要快速部署分布式训练的场景。Horovod 的名字来源于俄罗斯传统舞…...

计算机的错误计算(二百零八)

摘要 用两个大模型计算 arccot(0.9911588354432518e10) . 保留16位有效数字。两个的输出均是错误的。代码的输出格式亦均出错。 本节题目为一读者来信提议(不知该题目有何玄机?)。 例1. 计算 arccot(0.9911588354432518e10) . 保留16位有…...

海康机器人IPO,又近了一步

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。欢迎大家到本文底部评论区留言。 海康机器人的IPO之路,一路跌宕起伏,让无数投资者和业内人士关注。这不仅仅是一家企业的上市之旅,更是中国智能制造…...

【环境搭建】Metersphere v2.x 容器部署教程踩坑总结

前言 Metersphere部署过程中遇到的问题有点多,原因是其容器的架构蛮复杂的,比较容易踩坑,所以记录一下。 介绍 MeterSphere 是开源持续测试平台,遵循 GPL v3 开源许可协议,涵盖测试管理、接口测试、UI 测试和性能测…...

系统看门狗配置--以ubuntu为例

linux系统配置看门狗 以 ubuntu 系统配置看门狗为例 配置看门狗使用的脚本文件,需要使用管理员权限来执行: 配置是:系统每 30S 喂一次狗,超过 60S 不进行投喂,就会自动重启。 1. 系统脚本内容: #!/bin/b…...

阅读笔记——《A survey of protocol fuzzing》

【参考文献】Zhang X, Zhang C, Li X, et al. A survey of protocol fuzzing[J]. ACM Computing Surveys, 2024, 57(2): 1-36.【注】本文仅为作者个人学习笔记,如有冒犯,请联系作者删除。 目录 1、Introduction 2、Background 2.1、Communication Pro…...

C# 语法中级

总目录 C# 语法总目录 C# 语法中级 lambda 表达式1. 捕获外部变量2. 捕获迭代变量 匿名类型匿名方法异常相关1. 枚举器2. 可枚举对象3. 迭代器3. 迭代器语义4. yield break 语句5. 组合序列 可空类型1. Nullable< T > 结构体 lambda 表达式 编译器在内部将lambda表达式编…...

STORM:从多时间点2D图像中快速重建动态3D场景的技术突破

随着计算机视觉和机器学习技术的迅猛发展,我们已经能够利用AI来解决许多复杂的问题。然而,在处理大规模室外动态3D场景重建时,现有的方法往往面临着诸多挑战,如需要大量人工标注数据、处理速度慢以及难以准确捕捉移动物体等。为了解决这些问题,研究者们开发了STORM(Spati…...

excel前缀和(递增求和)

方法一&#xff1a;https://www.zhihu.com/zvideo/1382164996659515392?utm_id0 假设输入数据在B2:B10&#xff0c;选中单元格C2&#xff0c;输入SUM(B2:B2&#xff0c;然后选中其中的B2&#xff0c;按F4&#xff08;或者直接输入SUM(B$2:B2&#xff09;&#xff0c;回车确认&…...

【AI日记】25.01.11 Weights Biases | AI 笔记 notion

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 AI kaggle 比赛&#xff1a;Forecasting Sticker Sales笔记&#xff1a;我的 AI 笔记主要记在两个地方 有道云笔记&#xff1a;数学公式和符号比较多的笔记notion&#xff1a;没什么数学公式的…...

P8772 [蓝桥杯 2022 省 A] 求和

题目描述 给定 &#x1d45b; 个整数 &#x1d44e;1,&#x1d44e;2,⋯ ,&#x1d44e;&#x1d45b; 求它们两两相乘再相加的和&#xff0c;即 &#x1d446;&#x1d44e;1⋅&#x1d44e;2&#x1d44e;1⋅&#x1d44e;3⋯&#x1d44e;1⋅&#x1d44e;&#x1d45b;&…...

【Oracle篇】深入了解执行计划中的访问路径(含表级别、B树索引、位图索引、簇表四大类访问路径)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;从事IT领域✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、NoSQL(…...

WSDL的基本概念

《WSDL 语法》这篇文章将详细介绍WSDL&#xff08;Web Services Description Language&#xff09;的语法。WSDL是一种基于XML的语言&#xff0c;用于描述Web服务及其访问方式。它允许开发者将Web服务定义为服务访问点或端口的集合&#xff0c;这些服务访问点可以通过特定的协议…...

RabbitMQ解决消息积压的方法

目录 减少发送mq的消息体内容 增加消费者数量 批量消费消息 临时队列转移 监控和预警机制 分阶段实施 最后还有一个方法就是开启队列的懒加载 这篇文章总结一下自己知道的解决消息积压得方法。 减少发送mq的消息体内容 像我们没有必要知道一个的中间状态&#xff0c;只需…...

Android 网络层相关介绍

关注 Android 默认支持的网络管理行为,默认支持的网络服务功能。 功能术语 术语缩写全称释义DHCPv6Dynamic Host Configuration Protocol for IPv6动态主机配置协议的第六版,用于在IPv6网络中动态分配IP地址和其他网络配置参数。DNS Domain Name System域名系统。LLALink-Loc…...

2025年第三届“华数杯”国际赛B题解题思路与代码(Matlab版)

问题1&#xff1a;产业关联性分析 在 question1.m 文件中&#xff0c;我们分析了中国主要产业之间的相互关系。以下是代码的详细解读&#xff1a; % 问题1&#xff1a;分析中国主要产业之间的相互关系function question1()% 清空工作区和命令窗口clear;clc;% 设置中文显示set…...

小米路由器IPv6 功能使用指南

本文不限于多层路由使用IPv6 的情况&#xff0c;提供解决IPv6 无法获取的更硬核的方法&#xff0c;需要有ssh 工具。&#xff08;无安卓设备&#xff0c;测试环境win、mac、ios&#xff09; 首先明确一点&#xff0c;就是如果想让你的设备得到GUA 地址&#xff0c;即访问 6.i…...

k8s dashboard离线部署步骤

确定k8s版本&#xff0c;以1.23为例。 部署metrics-server服务&#xff0c;最好用v0.5.2。 用v0.6.0&#xff0c;可能会报以下错误&#xff1a; nodekubemaster:~/Desktop/metric$ kubectl top nodes Error from server (ServiceUnavailable): the server is currently unabl…...

Android购物商城APP实战:从零到一构建核心功能模块

1. 项目功能模块拆解与实现路径 一个完整的购物商城APP通常包含四大核心模块&#xff1a;用户系统、商品展示、购物车管理和订单处理。这就像搭建一个实体商店&#xff0c;需要先规划好门面&#xff08;登录注册&#xff09;、货架&#xff08;商品展示&#xff09;、购物篮&am…...

别再用if-else了!用状态机重构你的51单片机红外循迹小车代码(思路+代码对比)

用状态机重构51单片机红外循迹小车&#xff1a;告别if-else的工程化实践 当你的红外循迹小车代码开始变得像意大利面条一样混乱时&#xff0c;是时候考虑一种更优雅的解决方案了。想象一下&#xff0c;每次需要新增一个传感器或者修改转向逻辑时&#xff0c;都要在几十个if-els…...

如何在5分钟内免费激活Windows和Office?KMS_VL_ALL_AIO智能脚本终极指南

如何在5分钟内免费激活Windows和Office&#xff1f;KMS_VL_ALL_AIO智能脚本终极指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活和Office办公软件激活而烦恼吗&#x…...

小白也能懂:雪女-斗罗大陆-造相Z-Turbo文生图模型使用详解

小白也能懂&#xff1a;雪女-斗罗大陆-造相Z-Turbo文生图模型使用详解 1. 模型介绍 1.1 什么是雪女-斗罗大陆-造相Z-Turbo 雪女-斗罗大陆-造相Z-Turbo是一款专门用于生成《斗罗大陆》风格图片的AI模型&#xff0c;特别擅长创作与"雪女"角色相关的精美图像。这个模…...

Windows Cleaner实战指南:解决C盘空间不足和电脑卡顿的5个高效策略

Windows Cleaner实战指南&#xff1a;解决C盘空间不足和电脑卡顿的5个高效策略 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows…...

Phi-3-mini-4k-instruct-gguf在中小企业内容运营中的应用:自动摘要与文案改写实战

Phi-3-mini-4k-instruct-gguf在中小企业内容运营中的应用&#xff1a;自动摘要与文案改写实战 1. 中小企业内容运营的痛点与机遇 对于中小企业来说&#xff0c;内容运营是品牌建设和客户沟通的重要环节。然而&#xff0c;在实际操作中&#xff0c;我们常常面临以下挑战&#…...

AI绘画新玩法:图图的嗨丝造相-Z-Image-Turbo部署实战,轻松生成高质量渔网袜图片

AI绘画新玩法&#xff1a;图图的嗨丝造相-Z-Image-Turbo部署实战&#xff0c;轻松生成高质量渔网袜图片 1. 引言&#xff1a;解锁AI绘画的专属风格 你是否曾经遇到过这样的困扰&#xff1f;想要生成特定风格的图片&#xff0c;比如穿着精致渔网袜的人物形象&#xff0c;但使用…...

支付宝秘钥模式说明

1 python服务器需要使用 PKCS1格式2 秘钥格式是不带头尾的&#xff0c;中间的纯字符串...

CYBER-VISION零号协议Markdown文档大师:替代Typora的智能写作体验

CYBER-VISION零号协议Markdown文档大师&#xff1a;替代Typora的智能写作体验 如果你和我一样&#xff0c;每天都要和Markdown文档打交道&#xff0c;那你肯定知道那种感觉&#xff1a;面对一个空白文档&#xff0c;脑子里有想法&#xff0c;但就是敲不出满意的句子&#xff1…...

Qwen-Image-Edit-2511-Unblur-Upscale惊艳效果:模糊图片一键高清化

Qwen-Image-Edit-2511-Unblur-Upscale惊艳效果&#xff1a;模糊图片一键高清化 1. 效果展示&#xff1a;从模糊到高清的魔法 你是否遇到过这样的情况&#xff1f;手机里珍藏的老照片因为年代久远变得模糊不清&#xff0c;或是匆忙拍摄的珍贵瞬间因为手抖而糊成一片。现在&…...