可以使用 ffmpeg 方便的进行视频截取、视频格式转换、视频转gif动画等操作。
HUGOMORE42
基本格式
基本格式:
1
|
ffmpeg -i input.mp4 output.avi
|
常用参数
-
-i 指定输入文件
-
-f 指定输出格式
-
-ss 指定开始时间,从这个时间开始进行处理。 -ss 00:10:30
-
-t 持续时间 -t 5, -t 00:00:05
-
-r 设定输出帧率,默认为 25。 -r 15
-
-b 设定输出码率,黑夜为 200Kbit/s
-
-s 设定输出尺寸,缺省则保持原大小。 -s 640x360
-
-vn 不处理视频
-
-an 不处理音频
-
-vcodec 设定视频编解码格式 -vcodec h264
-
-acodec 设定音频编解码格式 -acodec acc
-
-vf Video Filter, 视频过滤器
-
-title 设置标题
-
-author 设置作者
-
-copyright 设置版权
常用过滤器
1
2
3
4
5
6
7
8
9
|
#通过 -vf scale 过滤器指定输出宽高, iw=输入流的宽度, ih=输入流的高度, -1=等比缩放
ffmpeg -ss 00:13:00 -t 00:02:00 -i S1E01.rmvb -s 640x360 -vf scale=iw/2:-1 s1e01.mp4
# 通过 -s 参数指定输出大小.
# 等效于: 0vf scale=640:360 ?
ffmpeg =i S1E01.rmvb -s 640x360 s1e01.mp4
# crop=w:h:x:y 裁切画面,从(x, y)的位置开始取 w×h 大小的画面
ffmpeg -i S1E01.rmvb -vf crop=995:1080:540:0 -acodec copy -vcodec libx264 -f mp4 s1e01.mp4
|
1
2
3
4
5
6
7
8
9
10
11
|
# 水印位置左上角
ffmpeg -ss 00:13:00 -t 00:00:10 -i S1E01.rmvb -i ~/Downloads/logo.png -filter_complex overlay -s 640x300 s1e01-2.mp4
##水印位置右上角
ffmpeg -ss 00:13:00 -t 00:00:10 -i S1E01.rmvb -i ~/Downloads/logo.png -filter_complex overlay=W-w -s 640x300 s1e01-2.mp4
左下角:
-filter_complex overlay=0:H-h
右下角:
-filter_complex overlay=W-w:H-h
|
语法: -vf delogo=x:y:w:h[:t[:show]]
参数说明:
1
2
3
4
|
x:y 离左上角的坐标
w:h logo的宽和高
t: 矩形边缘的厚度默认值4
show:若设置为1有一个绿色的矩形,默认值0。
|
示例:
1
|
ffmpeg -i s1e01-2.mp4 -vf delogo=0:0:600:216:100:1 output.mp4
|
其它
1
|
ffmpeg -ss 00:13:00 -i S1E01.rmvb -s 320x240 -vframes 1 -f image2 output.jpeg
|
1
2
3
4
5
|
# 每秒抽5帧 保存为一系列JPEG文件
ffmpeg -ss 25 -t 10 -i S1E01.rmvb -r 5 -s 320x240 -f image2 ~/temp/photo-%03d.jpeg
# 将JPEG合成帧率为 5fpms 的gif动画
ffmpeg -f image2 -framerate 5 -i ~/temp/photo-%03d.jpeg output.gif
|
