FFmpeg

FFmpeg安装

FFmpeg 是一款免费开源的跨平台音视频处理工具,被誉为音视频领域的"瑞士军刀"。

| 功能 | 说明 |

| ----------- | ----------------------------- |

| **格式转换** | MP4 ↔ AVI ↔ MKV ↔ MOV 等任意格式互转 |

| **提取/分离** | 从视频中提取音频、提取字幕、分离音轨 |

| **剪辑合并** | 截取片段、拼接多个视频、裁剪画面 |

| **编码压缩** | 调整分辨率、码率、帧率来压缩文件大小 |

| **添加/移除字幕** | 嵌入字幕、提取字幕、移除字幕流 |

| **录制推流** | 屏幕录制、摄像头捕获、直播推流 |

| **滤镜处理** | 加水印、去水印、调色、模糊、旋转等 |

去字幕要

  • 软字幕:一条命令直接移除或提取,不重新编码,速度快、无损

  • 硬字幕:通过裁剪、模糊、遮罩等滤镜处理

  • 完全免费,无需安装大型软件

FFmpeg安装途径

用 winget 一键安装(最简单)

以管理员身份打开 CMD,输入:

bash 复制代码
winget install Gyan.FFmpeg

视频字幕

利用FFmpeg,可以将mp4视频中的字幕去掉。

软字幕(外挂/内封):可单独关闭或提取

硬字幕(内嵌):直接烧录在画面像素中,无法简单分离

bash 复制代码
# 查看字幕流信息
ffmpeg -i input.mp4

# 移除所有字幕流(复制视频和音频,不复制字幕)
ffmpeg -i input.mp4 -c copy -sn output.mp4

# 提取字幕为单独文件
ffmpeg -i input.mp4 -map 0:s:0 subtitles.srt

硬字幕无法完美去除,只能遮盖裁剪

遮盖字幕

遮盖字幕区域

bash 复制代码
# 对底部区域应用模糊效果
ffmpeg -i input.mp4 -vf "delogo=x=0:y=ih-80:w=iw:h=80" -c:a copy output.mp4

# 或用纯色遮罩
ffmpeg -i input.mp4 -vf "drawbox=x=0:y=ih-80:w=iw:h=80:color=black@1:t=fill" -c:a copy output.mp4

对于电脑中的视频,进行如下操作:

bash 复制代码
# 或用纯色遮罩
ffmpeg -i 1986-天空之城_2.mp4 -vf "drawbox=x=0:y=ih-100:w=iw:h=80:color=black@1:t=fill" -c:a copy output2.mp4

裁剪字幕

(字幕在底部黑边处)

bash 复制代码
# 裁剪底部 50 像素(根据实际调整)
ffmpeg -i input.mp4 -vf "crop=in_w:in_h-50:0:0" -c:a copy output.mp4

在CMD中进入视频所在的文件夹。E:\计算机多媒体\视频

cpp 复制代码
ffmpeg -i 1986-天空之城_2.mp4 -vf "crop=in_w:in_h-100:0:0" -c:a copy output2.mp4

执行以上代码之后,发现文件体积有所膨胀。

为什么裁掉一行反而变大?

  1. 一定会触发重编码

    ffmpeg -vf crop=... → 必须解码 → 裁画面 → 再编码。原视频是别人压好的、高度优化的;你重编码等于 "重新打包",默认参数往往更保守、体积更大。

  2. 默认码率 / 质量太高(最常见)

    ffmpeg 默认 x264:CRF 23 ,对很多高压缩的网片来说偏高质量、偏肥大。原视频可能是 800 kbps ,你重编码默认跑到 2000--5000 kbps,哪怕分辨率小一点,体积照样涨。

  3. 画面 "变干净" 反而不好压?

    字幕那一行往往是高对比度、高频细节 ,压缩时开销大;裁掉后,剩余画面更平、噪声更少 ,编码器反而分配了更高比特率去 "保质量",结果体积上去。

  4. 音频也被重编码了

    不加 -c:a copy,音频也会重新编码(比如 aac 默认 128k),额外增加体积。

  5. 容器 / 元数据差异(次要)

    mp4/mkv 封装、moov 块位置、字幕流等,也会带来几十 KB 到几 MB 差异。

只裁画面、尽量不涨体积、画质差不多,执行如下代码,即可对视频字幕进行优化剪裁。

cpp 复制代码
ffmpeg -i 1986-天空之城_3.mp4 -vf "crop=in_w:in_h-100:0:0" -c:v libx264 -crf 28 -preset fast  -c:a copy  output3.mp4

即可完成。

相关推荐
luoqice6 小时前
FLV文件格式详解
ffmpeg
happybasic1 天前
在CMD下使用FFmpeg将.wav文件转换成指定的格式~
ffmpeg
shao9185161 天前
第10章 Streaming(上):初级音频应用(1)——项目三:自建服务器的Mini-Omni实时语音聊天机器人
ffmpeg·whisper·asr·mini-omni·自建语音服务器
Leon_Chenl2 天前
【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
深度学习·opencv·yolo·ffmpeg·音视频·边缘计算·人脸识别+检测
antzou2 天前
视频图片/文字水印
ffmpeg·视频水印·批量水印
AC赳赳老秦3 天前
DBA 专属方案:用 OpenClaw 实现 SQL 语句优化、慢查询分析、数据库备份巡检全自动化
服务器·前端·数据库·ffmpeg·自动化·deepseek·openclaw
小叮当⇔4 天前
M4A 转 MP3 桌面转换器(PyQt5 + FFmpeg)
开发语言·qt·ffmpeg
aovenus7 天前
FFmpeg 官网及文档
ffmpeg
aovenus7 天前
FFmpeg 工具介绍
ffmpeg