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

即可完成。

相关推荐
矜辰所致4 小时前
嵌入式语音开发应用基础说明
ffmpeg·ai 语音·嵌入式语音·语音播放·语音采样
luoyayun36117 小时前
Qt + FFmpeg 实战:音频静音段检测
qt·ffmpeg·音视频·静音段检测
小鹿研究点东西2 天前
直播带货长视频AI自动剪辑开播:一场直播如何反复利用?
ffmpeg·自动化·音视频·语音识别
luoyayun3613 天前
Qt + FFmpeg 实战:获取音视频文件基础属性、流信息和元数据
qt·ffmpeg·音视频·元数据·获取音视频文件属性
Rudon滨海渔村3 天前
ffmpeg裁剪视频黑屏、不准时等处理方式 - ffmpeg基本操作
ffmpeg·音视频
The Sheep 20233 天前
ffmpeg速成
ffmpeg
街灯L3 天前
【Ubuntu】使用ffmpeg解析m3u8网页视频
ubuntu·ffmpeg·音视频
烟雨江南7854 天前
特高压输电线路带电作业直升机吊篮与强电磁感应放电:基于“灵声智库”空间自适应滤波与声纹授权的离线语音控制指令方案
人工智能·ffmpeg·webrtc·语音识别·ai质检
AJi4 天前
H264码率控制
ffmpeg
换个昵称都难5 天前
webrtc voice engine 介绍(新版webrtc)
ffmpeg·音视频·webrtc