FFmpeg 添加字幕、转换格式等常见用法

FFmpeg 提供了一整套音视频转换、录制、处理的解决方案,很多播放器也使用 FFmpeg 来处理,比如前面介绍过的 VLC 播放器,youtube-dlBBDown 也使用 FFmpeg 对音视频进行处理。

FFmpeg 的安装

1、Windows

Windows 下的安装比较方便,下载一个编译好的 FFmpeg,然后解压到一个文件夹下,把这个文件夹下的 bin 目录添加到环境变量里即可。

2、Linux

Linux 下有两种安装方法,一种是使用包管理工具,比如 yum,但是版本往往比较旧。另一种方法就是自己编译,自己编译比较复杂,可以参考玩客以前写的 FFmpeg 编译安装教程

3、macOS

macOS 下建议使用 brew 来安装,brew -install ffmpeg 即可。

FFmpeg 常见操作

1、查看文件信息

ffmpeg -i  file.mp4 -hide_banner

2、添加字幕

字幕分两种,软字幕和硬字幕,软字幕也称为“外挂字幕”,可以手动选择隐藏或者显示,而硬字幕也称为“内嵌字幕”,像给视频添加了一层滤镜,无法隐藏和分离。youtube-dl 和 yt-dlp 添加的是软字幕,在一些播放器上不能显示。

添加软字幕的命令:

ffmpeg -i video.mp4 -i zimu.srt -c copy output.mp4

添加硬字幕的命令:

ffmpeg -i video.mp4 -vf subtitles=zimu.src output.mp4

3、提取音频

提取音频,添加一个 -vn 参数即可,表示去掉视频;也可以使用其他参数对音频进行更改。

-ab:音频比特率,常见的有128k、192k、256k、320k

-ar:音频的采样率,常见的有22050、44100、48000

-ac:声道数量

-f:可以指定音频的格式,一般常用的格式会自动识别

ffmpeg -i input.mp4 -vn output.mp3
ffmpeg -i input.mp4 -ab 192k -f mp3 output.mp3

4、更改视频的分辨率

-s:缩放视频

ffmpeg -i input.mp4 -s 1280x700 -c:a copy output.mp4

示例中添加了 -c:a copy 来保证音频的编码不变

5、旋转视频

将视频顺时针旋转 90 度:

ffmpeg -i input.mp4 -vf "rotate=90*PI/180"

将视频顺时针旋转 180 度,即上下颠倒:

ffmpeg -i input.mp4 -vf "rotate=PI"

6、转换编码格式

将视频转换成 H.264 编码:

ffmpeg -i input.mp4 -c:v libx264 output.mp4

将视频转换成 H.265 编码:

ffmpeg -i input.mp4 -c:v libx265 output.mp4

扩展阅读:

FFmpeg 官网

FFmpeg 官方文档

One Comment

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>