FFmpeg基础命令行

121 阅读1分钟

1.1 流程

type原始压缩编码
videoYUVH.264(AVC), H.265
audioPCMMP3,AAC
封装H.264 + AACFLV(flash video), MP4

image-20231107234312568.png

1.2 分类查询

image-20231108000351355.png

// 查看某个encoders的全名
ffmpeg -encoders | findstr x264

// 查看具体分类支持的参数(去掉s)
ffmpeg -h muxer=flx

// 分页查看
ffmpeg -filters | more

// 查看像素格式
ffmpeg -pix_fmts
FLAGS NAME 类型            NB_COMPONENTS (类型数)BITS_PER_PIXEL(总共bit)
-----
IO... yuv420p                3            12

1.3 播放控制

image-20231108002634398.png

1.4 常用参数

image-20231108123324549.png

1.5 常见命令

1.5.0 ffplay播放格式命令

image-20231108135451217.png

image-20231108135506010.png

1.5.1 提取音视频

  • test.mp4,默认封装:AVC + AAC
// 保留封装格式
// 提取音频
ffmpeg -i test.mp4 -acodec copy -vn audio.mp4

// 提取视频
ffmpeg -i test.mp4 -vcodec copy -an video.mp4
// 单独提取
// 提取音频,保留编码格式
ffmpeg -i test.mp4 -acodec copy -vn audio.aac
// 修改音频编码,指定编码器
ffmpeg -i test.mp4 -acodec libmp3lame -vn audio.mp3

// 提取视频,保留编码格式
ffmpeg -i test.mp4 -vcodec copy -an video.h264
// 修改视频编码格式,指定编码器
ffmpeg -i test.mp4 -vcodec libx265 -an video.h265

1.5.2 提取封装前像素

  • video

image-20231108135221273.png


  • audio

image-20231108135313894.png

1.5.3 视频转图片,gif

// 从第5s开始,的后10s内,每s随机抽取5帧,分辨率未720x360,一共10x5=50张图片
//文件名:haha01.jpg, haha02.jpg, haha03.jpg ......
ffmpeg -i test.mp4 -ss 5 -t 10 -r 5 -s 720x360 haha%03d.jpg
    
// 生成1张图片
ffmpeg -i t.mp4 -t 1 -r 1 one.jpg
// 图片生成视频
// -f注明是图片类型
// 将所有图片以每s25帧的方式变为视频
ffmpeg -f image2 -i haha%03d.jpg -r 25 video.mp4
// 生成gif
// 从第5s的后10s内,每s随机抽取5帧,制作gif,gif的时间仍为10s
ffmpeg -i t.mp4 --ss 5 -t 10 -r 5 -s 720x360 gif.gif
// gif变视频
ffmpeg -f gif -i image2.gif image2.mp

1.5.4 filter过滤器

1.5.5 推拉流

image-20231110110841060.png