基本命令

查看 FFmpeg 版本

ffmpeg -version

查看支持的编解码器

ffmpeg -codecs

查看支持的格式

ffmpeg -formats

获取输入文件信息

ffmpeg -i input.mov

格式转换

将 MOV 转换为 MP4

ffmpeg -i input.mov output.mp4

将 AVI 转换为 MP4

ffmpeg -i input.avi output.mp4

将音频文件转换为 MP3

ffmpeg -i input.wav output.mp3

视频压缩

FFmpeg 可以通过调整比特率、分辨率和编码器等方式压缩视频。以下是一些压缩视频的常用方法:

通过设置比特率压缩视频

ffmpeg -i input.mp4 -b:v 1000k output.mp4

-b:v 选项设置视频的比特率(此处为 1000 kbps)。

通过设置视频质量压缩视频(使用 CRF 参数)

ffmpeg -i input.mp4 -vcodec libx264 -crf 23 output.mp4

-crf 参数用于控制质量(值越小,质量越高,文件越大;值越大,质量越低,文件越小)。通常范围是 18 到 28。

通过调整分辨率压缩视频

ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

-vf scale=width:height 选项用于设置输出视频的分辨率。

提取音频

从视频中提取音频

ffmpeg -i input.mp4 -vn -acodec copy output.aac

-vn 选项表示不包括视频流。

从视频中提取音频并转换为 MP3

ffmpeg -i input.mp4 -q:a 0 -map a output.mp3

-q:a 0 选项表示高质量音频(VBR)。

裁剪视频

裁剪视频的前 30 秒

ffmpeg -i input.mp4 -ss 00:00:00 -t 00:00:30 -c copy output.mp4

-ss 选项表示开始时间,-t 选项表示持续时间。

从视频的第 10 秒开始截取到结束

ffmpeg -i input.mp4 -ss 00:00:10 -c copy output.mp4

合并视频

合并多个视频文件

首先,创建一个包含所有视频文件路径的文本文件(如 filelist.txt),内容格式如下:

file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'

使用 FFmpeg 进行合并:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

视频转码

使用 H.264 编码器进行转码

ffmpeg -i input.mp4 -vcodec libx264 -preset fast -crf 23 -acodec aac -b:a 128k output.mp4

-preset 选项控制编码速度和压缩比,常用值包括 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。

其他有用的命令

显示输入视频的帧数、帧率、时长等信息

ffprobe -v error -show_entries format=duration:stream=avg_frame_rate:frame=pkt_pts_time input.mp4

提取视频帧

ffmpeg -i input.mp4 -vf "select=eq(pict_type\,I)" -vsync vfr -q:v 2 frames_%04d.jpg

上面的命令将提取所有关键帧(I 帧)并保存为图像文件

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required