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