ffmpeg常用操作

1.利用ffpeg下载ts片段

ffmpeg -i https://b1.szjal.cn/20210818/LirlVQjP/index.m3u8  -c copy d:\save\1.mp4

这里的参数-i后面跟的是m3u8的url,-c是copy它的编码 然后存放到d盘save目录中(这里最好建个目录,否则不好找)

2.将一个视频改变它的格式

ffmpeg -i total.mp4 -c copy total.flv

这里我把这个.mp4文件放到了ffmpeg安装的目录 然后可以把它转换为.flv格式

3.把一个视频只提取声音

ffmpeg -i total.mp4 -vn 1.mp4

-vn代表不对视频进行处理

4.提取视频画面,但是没有声音

ffmpeg -i total.mp4 -an 1.mp4

-an表示不对音频进行处理

5.剪裁视频

ffmpeg -ss 00:00:00 -t 00:00:15 -i total.mp4 -c copy 1.mp4

-ss代表的是开始的时间

-t代表要切多少秒

6.视频编码转换

比如一个视频的编码是MPEG4,想用H264编码,咋办?

ffmpeg -i total.mp4 -vcodec h264 1.mp4

-vcodec 视频编码

7.调整图片分辨率

将一个视频1920*1080的分辨率设置为960*540

ffmpeg -i total.mp4 -vf scale=960:540  1.mp4

-vf 代表的是图片的滤镜

如果960:  [540]不写而写成960:-1那么,ffmpeg就会通知缩放滤镜输出时保持原始的宽比高。

8.合并视频

首先新建一个.txt文本文档,在其中输入file +'文件名' (注意:一定要单引号,否则报错)

ffmpeg -f concat -i test.txt -c copy 2.mp4

-f 代表强制指定输入和输入的文件格式

 

9.压缩视频

(1)改变视频的帧率

ffmpeg -i total.mp4 -r 20 2.mp4
  • -r 20:表示帧率设置为 20fps

(2)指定文件大小

 

ffmpeg -i total.mp4 -fs 20  2.mp4

 

  • fs 20 : 表示文件大小最大值为20MB

(3)  改变视频的码率

ffmpeg -i 1.mp4 -b:v 1.5m 2.mp4

 

  • -b:v 1.5M : 指定码率
  • -b:v :指定视频的码率
  • -b:a : 指定音频的码率
  • 1.5M:码率的值 1.5M 表示 1.5Mb/s
当码率设置为小于 1.5Mb/s 后视频的清晰度会降低很多

 

10.给图片添加logo

ffmpeg -i 1.mp4  -i 1.jpg -filter_complex overlay 2.mp4

-overlay 代表水印的位置

语法:overlay[=x:y[[:rgb={0, 1}]] 参数 x 和 y 是可选的,默认为 0。 参数 rgb 参数也是可选的,其值为 0 或 1,默认为 0。 参数说明: x 从左上角的水平坐标,默认值为 0 y 从左上角的垂直坐标,默认值为 0 rgb 值为 0 表示输入颜色空间不改变,默认为 0;值为 1 表示将输入的颜色空间设置为 RGB 变量说明:如下变量可用在 x 和 y 的表达式中 main_w 或 W 主输入(背景窗口)宽度 main_h 或 H 主输入(背景窗口)高度 overlay_w 或 w overlay 输入(前景窗口)宽度 overlay_h 或 h overlay 输入(前景窗口)高度

 

右上角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w output.mp4
左下角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=0:H-h output.mp4
右下角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w:H-h output.mp4

11.截取视频中的一段帧,将其转换为图片

ffmpeg -ss 00:00:00 -i 1.mp4  -vframes 1  1.jpg

-vframes 1代表截取视频的第一帧  

(1)每秒钟截取一张图片

ffmpeg -i 1.mp4 -vf fps=1 %d.jpg

特殊地,

  • -vf fps=1 表示 frame per second截取一张
  • %d.png 会生成类似 1.jpg 2.jpg等文件。

(2) 每隔一段时间截取一张图片

将视频截取成图片集合

ffmpeg -i input.mp4  -ss 00:00:10 -t 3  -vcodec mjpeg  pic/%04d.jpg

说明从视频第十秒开始,截取3秒中的视频生成图片

必须创建pic图片文件夹,必须保证视频时长大于10秒

12.图片合成视频

ffmpeg -f image2 -i D:\下载文件\壁纸\%d.jpg 2.mp4

-f image2表示输入或输出文件的格式是image2格式, -f是format(格式)的意思。

13.给视频添加文字水印

ffmpeg -i 1.mp4 -vf "drawtext=fontfile=simhei.ttf: text='我是恁爹':x=10:y=10:fontsize=24:fontcolor=white:shadowy=2" 2.mp4

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值