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

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下:

ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4

或者带音频滤镜:

ffmpeg -i input.mp4 -vf "视频滤镜" -af "音频滤镜" output.mp4

常见视频滤镜(-vf

滤镜名称功能说明示例
scale缩放视频尺寸-vf "scale=1280:720"
crop裁剪视频区域-vf "crop=640:360:0:0"
drawtext添加文字水印-vf "drawtext=text='Hello':x=10:y=10:fontsize=24:fontcolor=white"
overlay叠加视频/图片-i bg.mp4 -i logo.png -filter_complex "overlay=10:10"
hflip / vflip水平/垂直翻转-vf "hflip"
transpose旋转90度(1 顺时针)-vf "transpose=1"
eq调整亮度/对比度/饱和度-vf "eq=brightness=0.06:contrast=1.5:saturation=1.2"
fps调整帧率-vf "fps=30"
setpts设置时间戳(变速)-vf "setpts=0.5*PTS"(加快2倍)
fade添加淡入淡出效果-vf "fade=t=in:st=0:d=3"
drawbox画框-vf "drawbox=x=100:y=100:w=200:h=100:color=red@0.5"
lut调色 LUT 滤镜-vf "lut=y='val*1.5'"

常见音频滤镜(-af

滤镜名称功能说明示例
volume调整音量-af "volume=1.5"(音量放大1.5倍)
aecho回声效果-af "aecho=0.8:0.9:1000:0.3"
atempo语速变快/变慢-af "atempo=2.0"(加快2倍)
highpass高频滤波-af "highpass=f=2000"
lowpass低频滤波-af "lowpass=f=500"
pan声道重混`-af "pan=stereo

示例

视频相关

缩放视频(保持宽高比)

# -1 表示自动计算高度以保持宽高比。
ffmpeg -i input.mp4 -vf "scale=1280:-1" output.mp4

裁剪视频

# 从 (100,50) 开始,裁剪大小为 640x360。
ffmpeg -i input.mp4 -vf "crop=640:360:100:50" output.mp4

添加文字水印

# 需要安装字体支持,或者加参数 :fontfile=/path/to/font.ttf
ffmpeg -i input.mp4 -vf "drawtext=text='Hello World':x=10:y=10:fontsize=24:fontcolor=white" output.mp4

添加图片水印

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4

模糊视频区域(高斯模糊)

ffmpeg -i input.mp4 -vf "boxblur=10:1" output.mp4

或仅模糊局部区域:

ffmpeg -i input.mp4 -filter_complex "[0:v]crop=200:200:100:100,boxblur=10:1[blur];[0:v][blur] overlay=100:100" output.mp4

视频旋转(顺时针90度)

ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

设置帧率为30fps

ffmpeg -i input.mp4 -vf "fps=30" output.mp4

视频加速2倍播放

ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4

视频减速(慢放)

ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" output.mp4

视频画中画(PIP)

# 把 small.mp4 缩放后叠加在右下角。
ffmpeg -i main.mp4 -i small.mp4 -filter_complex "[1:v]scale=320:240[small];[0:v][small] overlay=W-w-10:H-h-10" output.mp4

音频相关

音量调大1.5倍

ffmpeg -i input.mp4 -af "volume=1.5" output.mp4

加快音频播放速度(语速)

# atempo 只能在 0.5 到 2.0 之间,需多次叠加实现更大变化
ffmpeg -i input.mp4 -af "atempo=2.0" output.mp4

添加回声效果

ffmpeg -i input.mp4 -af "aecho=0.8:0.9:1000:0.3" output.mp4

混音或改变声道

# 将左声道复制到右声道,适用于单声道转双声道。
ffmpeg -i input.mp4 -af "pan=stereo|c0=c0|c1=c0" output.mp4
http://www.xdnf.cn/news/12887.html

相关文章:

  • C++ 搜索二叉树(BST)详解:实现与应用
  • 从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(十二)
  • DeepSeek10-RAG相关模型知识说明
  • Vue入门到实战之第一篇【超基础】
  • SeaweedFS S3 Spring Boot Starter
  • 三十五、面向对象底层逻辑-Spring MVC中AbstractXlsxStreamingView的设计
  • 网络编程(TCP编程)
  • NVIC (嵌套向量中断控制器)是什么?
  • AI智能驱动浏览器工具Browser Use详解
  • 【动画】Unity2D骨骼动画-Animation2D
  • 知名的WordPress模板团队
  • 【西门子杯工业嵌入式-5-串口实现数据收发】
  • 算法打卡17天(补)
  • 03.数据类型
  • vue项目使用svg图标
  • 软件工程的软件生命周期通常分为以下主要阶段
  • 计算机网络基础总结:TCP/IP 模型、TCP vs UDP、DNS 查询过程
  • React、Git、计网、发展趋势等内容——前端面试宝典(字节、小红书和美团)
  • Vue项目PDF目录功能集成【一】——方案深度思考
  • Android 线性布局中常见的冲突属性总结
  • 在网络排错中,经常会用到的操作命令和其作用
  • 剑指offer19_链表中倒数第k个节点
  • Jmeter(四) - 如何在jmeter中创建网络测试计划
  • protues仿真+C51+外部中断
  • MATLAB生成大规模无线通信网络拓扑(任意节点数量)
  • 微服务体系下将环境流量路由到开发本机
  • spring中的@KafkaListener 注解详解
  • NLP学习路线图(三十四): 命名实体识别(NER)
  • unity实现自定义粒子系统
  • java 时区时间转为UTC