FFmpeg常用命令

视频压缩:

ffmpeg -i juping.mp4 -r 10 -b:a 32k juping-small.mp4

 

为视频添加文字水印:

描述

从文本文件或字符串在视频中添加文本,并使用各种参数进行修改。 文本从文本文件参数指定的文件中加载,或直接使用文本参数输入。 其他必需参数是指定选定字体的字体文件。 文本位置由x和y参数设置。

Syntaxdrawtext=fontfile=font_f:text=text1[:p3=v3[:p4=v4[...]]]
p3,p4 ...表示参数#3,参数#4等
**********参数的描述
box如果box=1,在文本周围绘制一个方框,颜色由boxcolor参数设置,默认值为0
boxcolor颜色为box参数,颜色名称或0xRRGGBB[AA]格式(详见第1章的颜色名称),默认值为白色
draw表达式指定如果表达式求值为0时,是否应该绘制文本,则不绘制文本,默认为“1”。它用于指定只在特定条件下绘制文本。接受的变量和函数将在下一页和本章的内置数学函数中描述
fix_bounds如果是true,文本坐标是固定的,以避免剪切
fontcolor用于绘制字体、颜色名称或0xRRGGBB[AA]格式的颜色,默认为黑色
fontfile字体文件用于绘制文本的正确路径,强制参数
fontsize要绘制的文本字体大小,默认值为16
ft_load_flags用于加载字体的标志,默认值是“render”;更多信息在FT_LOAD_* libfreetype标志的文档中
shadowcolor在绘制的文本、颜色名称或0xRRGGBB[AA]格式后面绘制阴影的颜色,可能后面跟着一个alpha说明符,默认值是黑色
shadowx, shadowyx和y抵消了文本阴影位置对文本位置的影响,它们可以是正的,也可以是负值,两者的默认值是“0”
tabsize用于呈现选项卡的空间大小,默认值为4
timecodehh:mm:ss[:;]ff格式,可以使用或不使用文本参数,但必须指定timecode_rate参数
timecode_rate, rate, rtimecode帧率(仅限时间)
text要绘制的文本字符串,必须是UTF-8编码的字符序列,如果没有指定textfile参数,该参数是必需的
textfile文本文件与要绘制的文本,文本必须是一个UTF-8编码字符序列;如果不使用文本参数,则该参数是强制性的;如果指定了文本和文本文件参数,则显示一条错误消息
x, yx和y值是表示文本将在视频帧中绘制的偏移量的表达式;它们相对于左上角,而x和y的默认值为“0”;下面描述了接受的变量和函数
***********接受变量和函数表达式中的x和y参数
dar输入显示纵横比,与(w / h) * sar相同
hsub, vsub水平和垂直的色度子样本值。例如,像素格式的“yuv422p”hsub是2,而vsub是1
line_h, lh每个文本行的高度
main_h, h, H输入的高度
main_w, w, W输入的宽度
max_glyph_a, ascent从基线到最高/上格坐标的最大距离,用于放置一个字形轮廓点,用于所有呈现的字形;一个正值,由于网格
max_glyph_d, descent从基线到最低网格坐标的最大距离,用于放置一个字形轮廓点,用于所有呈现的字形;一个负值,由于网格
max_glyph_h最大字形高度,即所呈现文本中所包含的所有字形的最大高度,相当于上升下降
max_glyph_w最大的字形宽度,这是在呈现的文本中所包含的所有字形的最大宽度
n输入框的数目,从0开始
rand(min, max)返回最小值和最大值之间的随机数
sar输入样本比例
t时间戳以秒表示,如果输入时间戳未知
text_h or th呈现文本的高度
text_w or tw渲染文本的宽度
x, yx和y坐标,在这里文本被绘制,这些参数允许x和y表达式相互引用,所以你可以指定y=x/dar
ffmpeg -i juping.mp4  -vf "drawtext=fontfile=simhei.ttf: text='百度聚屏 成就您的品牌':x=main_w/2 - text_w/2:y=main_h/2 - text_h/2:fontcolor=white:shadowy=2:fontsize=60" juping-text.mp4

 

截取视频图像:

ffmpeg -i juping.mp4 -ss 00:00:01 -t 1 -r 1 -q:v 2 -f image2 pic-%03d.jpg

-ss 表示开始时间

-t 表示共要多少时间。

-q:v表示存储jpeg的图像质量,一般2是高质量。

如此,ffmpeg会从input.mp4的第1s时间开始,往下1s,即1~2s这1秒钟之间,抓一帧

 

视频切割:

下面的命令,可以从时间为00:00:15开始,截取5秒钟的视频。

ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4

-ss表示开始切割的时间,

-t表示要切多少。

上面就是从15秒开始,切5秒钟出来。

 

改变视频尺寸和宽高比:

ffmpeg -i juping-text.mp4 -vf scale=1920:1080,setdar=16:9 juping-default.mp4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值