-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathffmpeg
More file actions
94 lines (67 loc) · 2.78 KB
/
Copy pathffmpeg
File metadata and controls
94 lines (67 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
-y
覆盖
-n
不覆盖 立即退出
-an
去掉音频
-loglevel
日志级别
-f fmt (input/output) 指定输入或者输出文件格式。常规可省略而使用依据扩展名的自动指定
-i filename
输入文件。
-vcodec codec
视频 择编/解码模式,对于输出文件就是编码器,对于输入或者某个流就是解码器, codec 是编解码器的名字,或者是 copy(仅对输出文件)则意味着流数据直接复制而不再编码。
-vframes number (output)
设置输出文件的帧数,是 -frames:v 的别名。
-r
设置帧率
-s
宽x高
-t duration(input/output)
限制输入/输出的时间。如果是在 -i 前面,就是限定从输入中读取多少时间的数据;如果是用于限定输出文件,则表示写入多少时间数据后就停止。duration可以是以秒为单位的数值或者 hh:mm:ss[.xxx] 格式的时间值。 注意 -to 和 -t 是互斥的,-t 有更高优先级。
-to position (output)
只写入position时间后就停止,position可以是以秒为单位的数值或者 hh:mm:ss[.xxx]格式的时间值。 注意 -to 和 -t 是互斥的,-t 有更高优先级。
-ss position (input/output)
当在 -i 前,表示定位输入文件到position指定的位置。注意可能一些格式是不支持精确定位的,所以ffmpeg可能是定位到最接近position(在之前)的可定位点。position可以是以秒为单位的数值或者 hh:mm:ss[.xxx] 格式的时间值。
--preset
这10个选项,速度从快到慢。 文件大小从大到小
libx264 有10个选项
速度由快到慢,速度越慢,质量越好,压缩比越大;默认是medium。
ultrafast
superfast
veryfast
faster
fast
medium
slow
slower
veryslow
placebo
h264_nvenc 有11个选项
默认是medium。
slow
medium
fast
hp
hq
bd
ll
llhq
llhp
lossless
losslesshp
-b
指定比特率(bits/s)
比特率,英文为 bit rate,描述每秒钟输出多少 KB 的参数,单位是 Kbps,也就是 kbit/s,8Kbit/s = 1KB/s。也就是说 800Kbps 意思就是每秒视频就要占用 100KB 磁盘空间。对于音频文件也存在比特率,同理。压缩同一个视频,视频比特率越大,文件体积越大。视频比特率越大,画质越好,马赛克越少。
MP3 一般使用的比特率为 8~320kbps。
举一个例子:
bitrate 可以理解为 file size / duration
比如一个视频文件 20.8 M 时长为 1min,那么
bitrate = 20.8M bit/60s = 20.8 * 1024 * 1024 * 8 bit/60s = 2831 Kbps
假设音频的码率为固定 128 Kbps,那么视频的码率就是
2831 Kbps - 128 Kbps = 2703 Kbps
H.264 标准建议
视频大小 分辨率 建议码率
480P 720X480 1800Kbps
720P 1280X720 3500Kbps
1080P 1920X1080 8500Kbps