FFMPEG

所有音频 视频 图片的瑞士军刀

基本使用

基本的转换

ffmpeg -i input.avi output.mp4

裁剪片段

# 从30秒截取到1分钟
ffmpeg -ss 00:00:30 -to 00:01:00 -i input -c copy clip.mp4

提取某一帧

# 提取第十秒
ffmpeg -ss 00:00:10 -i input -vframes 1 output.png

分辨率调整

# 调整input为1920*1080
ffmpeg -i input -vf "scale=1920:1080" output

变速

# 二倍速
ffmpeg -i input -filter:v "setpts=0.5*PTS" 

视频压缩

# crf为0-51的质量等级 越小越好
ffmpeg -i input -vcodec libx264 -crf 23 output

音频压缩

ffmpeg -i input -b:a 192k output

查看媒体的信息

ffmpeg -i input

元数据修改

ffmpeg -i music.flac -metadata artist="artist" output

选项

选项

意义

-vcode

指定编码器

媒体

编码器

编码器决定了视频的编码和解码方式

编码器的目的就是压缩视频体积 同时尽量保持画质

常见的视频编码器

编码器

标准

特点

libx264

H264

主流 高效 兼容性好

libx265

H265/HEVC

压缩更高 CPU占用更大

libvpx-vp9

VP9

开源 WEB友好

libaom-av1

AV1

新一代超高压缩率 速度慢

png/rawvideo

不压缩

音频编码器

编码器

标准

特点