欢迎光临散文网 会员登陆 & 注册

ffmpeg基础玩法

2021-03-31 00:20 作者:beyondware  | 我要投稿

ffmpeg基础

  • 三大结构

    ffmpeg:核心

    ffprobe:查看参数

    ffplay:播放器

  • 查询版本

    ffmpeg -version

  • 帮助

    ffmpeg -h

  • 查看编解码器

    ffmpeg -codecs

  • 常见封装格式

    MP4:H264视频编码+ACC音频编码

  • WebM:VP8视频编码+Vorbis音频编码

  • OGG:Theora视频编码+Vorbis音频编码

  • ffmpeg格式

    ffmpeg -i 输入文件 [参数] 输出文件

    [参数]:可选项

音频参数

-acodec libmp3lame:(Audio Coder Decoder )音频编码解码器

-ar 44100/48000:音频采样率,默认:原音频采样率(KHz)

-ab 320k:比特率,默认:128K(kbps)

-ac 2:声道数,1:单声道,2:立体声,默认:原音频声道

-vol:音量,默认:256(100%音量)

-an:禁用音频

音频转换

ffmpeg -i input.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 output.mp3

视频参数

-s 1920x1080:输出视频尺寸

-pix_fmt yuv420p:(pixel format)颜色空间

-vcodec libx264:(Video Coder Decoder)视频编码解码器

-preset:编码器预设,默认:medium

  • veryfast(录屏)、medium、veryslow(压制)

  • 精度越高,算法越慢

-r 30/60:帧率

-b:a 128k:比特率(等同于:-ab 128k)

-vn:禁用视频

码率控制模式

-crf:(Constant Rate Factor)恒定速率因子模式,默认:23

  • 范围:0到51,数字越小画质越好。

  • 0表示无损,推荐:8-28

-qp:(Constant Quantizer)恒定量化器模式

  • 范围:0到51,数字越小画质越好。

  • 0表示无损

-b:(bitrate)固定目标码率模式

比特率

vbr:(Variable Bit Rate)动态比特率

abr:(Average Bit Rate)平均比特率

cbr:(Constant Bit Rate)恒定比特率

视频转换

ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4

或者

ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4

  • 无损压缩:(快速编码)

    ffmpeg -i input.mkv -vcodec libx264 -preset ultrafast -qp 0 output.mp4

  • 无损压缩:(高压缩比)

    ffmpeg -i input.mkv -vcodec libx264 -preset veryslow -qp 0 output.mp4

提取视频

ffmpeg -i input.mp4 -vcodec copy -an output.mp4

提取音频

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

  • 多音频提取

    ffmpeg -i input.mp4  -acodec copy -vn -map 0:3 output.m4a

    -map 0:3:指定提取音频的轨道

截取某一段音频

ffmpeg -i input.mp3 -ss 00:01:00 -to 00:01:10 -acodec copy output.mp3

-ss 00:01:00 -to 00:01:10:截取的开始到结束时间

-ss 00:01:00 -t 10:表示01:00开始截取10秒(截取时长)

合并音视频

ffmpeg -i input.mp4 -i input.mp3 -c copy output.mp4

合并多个视频

ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -c copy output.mp4

"concat:1.mp4|2.mp4|3.mp4":多个视频之间用(|)隔开

加水印

ffmpeg -i input.mp4 -i logo.png  -filter_complex  "overlay=20:20"  output.mp4

"overlay=20:20":水印位置(以左上角为参照)

视频截图

ffmpeg -i input.mp4 -ss 5 -vframes 1 output.jpg

-ss 5  -vframes 1:表示截取第5秒第一帧的画面

动图

ffmpeg -i input.mp4 -ss  00:10:00 -to 00:10:10 -s 640x320 -r 15 output.gif

-ss  00:10:00 -to 00:10:10:动态起始时间

-s 640x320:动态输出尺寸

-r 15:帧率


ffmpeg基础玩法的评论 (共 条)

分享到微博请遵守国家法律