- 安装ffmpeg
sudo apt-get install ffmpeg
ffmpeg官网: https://www.ostechnix.com/install-ffmpeg-linux/
- ffmpeg命令的典型语句:
ffmpeg [全局选项] {[输入文件选项] -i 输入_url_地址} ...
{[输出文件选项] 输出_url_地址} ...
-
常用命令
-
获取音频、视频文件信息
ffmpeg -i video.mp4
或ffmpeg -i video.mp4 -hide_banner
-
转换视频格式
ffmpeg -i video.mp4 video.avi
如果你想维持你的源视频文件的质量,使用
-qscale 0
参数:ffmpeg -i input.webm -qscale 0 output.mp4
检查 FFmpeg 的支持格式的列表,运行:
ffmpeg -formats
-
将视频转成音频
ffmpeg -i input.mp4 -vn output.mp3
对输出文件使用各种各样的音频转换编码选项,如:
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 -f mp3 output.mp3
说明
-vn 表面我们已经在输出文件中禁止视频录制
-ar 设置输出文件的音频频率 通常是22050HZ 44100HZ 48000HZ
-ac 设置音频通道的数目
-ab 表明音频比特率
-f 输出文件格式
-
更改视频文件的分辨率
设置视频的分辨率为1280*720
ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4
或
ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4
-
压缩视频文件
ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4
减小视频文件的大小,视频质量会损失。如 24 太有侵略性,可以降低
-crf
值到或更低值。你也可以通过下面的选项来转换编码音频降低比特率,使其有立体声感,从而减小大小。
-ac 2 -c:a aac -strict -2 -b:a 128k
-
压缩音频文件,如: 将文件压缩为128kbps
ffmpeg -i input.mp3 -ab 128 output.mp3
音频的比特率列表有:
- 96kbps
- 112kbps
- 128kbps
- 160kbps
- 192kbps
- 256kbps
- 320kbps
-
去掉视频中的声音
ffmpeg -i input.mp4 -an output.mp4
-an
表示没有音频录制 -
获取视频文件中的音频,命令转换所给定媒体文件为音频文件
ffmpeg -i input.mp4 -vn output.mp3
或 使用
-ab
指定输出文件的比特率ffmpeg -i input.mp4 -vn -ab 320 output.mp3
-
从视频中提前图像,从一个视频文件中创建一个相册.
ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.png
说明:
-r 设置帧速度。即,每秒提取帧到图像的数字。默认值是 25。
-f 表示输出格式,即,在我们的实例中是图像。
image-%2d.png 表明我们如何想命名提取的图像。在这个实例中,命名应该像这样image-01.png、image-02.png、image-03.png 等等开始。如果你使用
%3d
,那么图像的命名像 image-001.png、image-002.png 等等开始。 -
裁剪视频
ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4
说明:
input.mp4 源视频文件。
filter:v 表示视频过滤器。
crop 表示裁剪过滤器。
w 我们想自源视频中裁剪的矩形的宽度。
h 矩形的高度。
x 我们想自源视频中裁剪的矩形的 x 坐标 。
y 矩形的 y 坐标。
比如说你想要一个来自视频的位置 (200,150),且具有 640 像素宽度和 480 像素高度的视频,命令应该是:
ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4
-
转换一个视频的具体部分
有时,你可能想仅转换视频文件的一个具体的部分到不同的格式。以示例说明,下面的命令将转换所给定视频input.mp4 文件的开始 10 秒到视频 .avi 格式。
ffmpeg -i input.mp4 -t 10 output.avi
在这里,我们以秒具体说明时间。此外,以
hh.mm.ss
格式具体说明时间也是可以的。 -
设置视频的屏幕高宽比
ffmpeg -i input.mp4 -aspect 16:9 output.mp4
通常使用的高宽比:
- 16:9
- 4:3
- 16:10
- 5:4
- 2:21:1
- 2:35:1
- 2:39:1
-
根据开始和结束时间裁剪一段视频文件
ffmpeg -i input.mp4 -ss 00:00:50 -codec copy -t 50 output.mp4
-s 表示视频剪辑的开始时间。在我们的示例中,开始时间是第 50 秒。
-t 表示总的持续时间。
或
ffmpeg -i audio.mp3 -ss 00:01:54 -to 00:06:53 -c copy output.mp3
-