12
12
```
13
13
process=pfopcmd
14
14
indexes=
15
+ avinfo-index=
15
16
pfop-config=
16
17
duration=
17
18
size=
18
- avinfo-index=
19
+ combine=true/false
19
20
#cmd=
20
21
#saveas=
21
22
#scale=
@@ -25,9 +26,10 @@ avinfo-index=
25
26
| process=pfopcmd| 该操作设置为pfopcmd| 表示根据 avinfo 生成音视频转码指令|
26
27
| indexes| 字符串| 设置输入行中 key 字段的下标(有默认值),参考[ 数据源 indexes 设置] ( datasource.md#1-公共参数 ) |
27
28
| pfop-config| 文件路径字符串| 进行转码和另存规则设置的 json 配置文件路径,可设置多个转码条件和指令,[ 配置写法] ( #pfop-config-配置文件 ) |
28
- | duration| true/false| 得到的结果行中是否需要保存 duration(音视频时长)信息,会放在转码指令字段之后 |
29
- | size| true/false| 得到的结果行中是否需要保存 size(音视频时长)信息,会放在 duration 字段之后|
30
29
| avinfo-index| 字符串| 读取 avinfo 信息时需要设置的 avinfo 字符串索引(下标),必须指定才能进行处理|
30
+ | duration| true/false| 得到的结果行中是否需要保存 duration(音视频时长)信息,会放在转码指令字段之后 |
31
+ | size| true/false| 得到的结果行中是否需要保存 size(音视频大小)信息,会放在 duration 字段之后|
32
+ | combine| true/false| 多个 pfop 命令时,是否组合成一个命令来处理,默认为 true,使用 ` ; ` 来拼接多条处理命令,参考[ persistentOps 多个命令] ( https://developer.qiniu.com/dora/api/3686/pfop-directions-for-use#1 ) |
31
33
| cmd| 字符串| pfop 命令,如 avthumb/mp4,和 pfop-config 中的 cmd 相同,如果不想设置 pfop-config 配置文件则可采用 cmd + saveas + scale 设置的方式|
32
34
| saveas| 字符串| saveas 的格式,如 bucket:$(key)F720.mp4,和 pfop-config 中的 saveas 相同,如果不想设置 pfop-config 配置文件则可采用 cmd + saveas + scale 设置的方式|
33
35
| scale| 字符串| scale 的格式,如 ` [1000,1280] ` ,和 pfop-config 中的 scale 相同,如果不想设置 pfop-config 配置文件则可采用 cmd + saveas + scale 设置的方式|
@@ -39,12 +41,20 @@ avinfo-index=
39
41
{
40
42
"scale" :[1000 ,1280 ],
41
43
"cmd" :" avthumb/mp4/s/1280x720/autoscale/1" ,
42
- "saveas" :" bucket:$(key)F720 .mp4"
44
+ "saveas" :" bucket:$(name)_F720 .mp4"
43
45
},
44
46
{
45
47
"scale" :[1280 ],
46
48
"cmd" :" avthumb/mp4/s/1280x720/autoscale/1" ,
47
- "saveas" :" bucket:$(key)F1080"
49
+ "saveas" :" bucket:1080P-$(key)"
50
+ },
51
+ {
52
+ "cmd" :" avthumb/mp4/s/640x480/autoscale/1" ,
53
+ "saveas" :" bucket:$(name)_F480.mp4"
54
+ },
55
+ {
56
+ "cmd" :" avthumb/mp4/s/640x480/autoscale/1/ss/0/t/$(duration)" ,
57
+ "saveas" :" bucket:$(name)_F480.mp4"
48
58
}
49
59
]
50
60
}
@@ -55,15 +65,15 @@ avinfo-index=
55
65
| -----| -----|
56
66
| key| 上述配置文件中的 F720 为转码项名称,设置为 json key,key 不可重复,重复情况下后者会覆盖前者|
57
67
| scale| 表示视频分辨率 width 的范围,只设置了一个值则表示目标范围大于该值,程序根据 avinfo 判断宽度范围对在此区间的文件生成转码指令|
58
- | cmd| 需要指定的转码指令 |
68
+ | cmd| 需要指定的转码指令,这里 cmd 支持 [ 魔法变量 ] ( #魔法变量 ) |
59
69
| saveas| 转码结果另存的格式,写法为:` <bucket>:<key> ` ,其中 ` <key> ` 支持[ 魔法变量] ( #魔法变量 ) |
60
70
61
- ### 关于 saveas
62
- ##### 魔法变量
63
- ` $(name) ` 表示完整的原始文件名(如 a.jpg/a.png 的 $(name) 分别为为 a.jpg/a.png)
64
- ` $(key) ` 表示去除后缀的原始文件名(如 a.jpg/a.png/a 的 $(key) 均为 a)
71
+ #### 魔法变量
72
+ ` $(duration) ` 表示使用 avinfo 中 format 封装信息中的 duration 值来设置该参数
73
+ ` $(name) ` 表示去除后缀的原始文件名(如 a.jpg/a.png/a 的 $(name) 均为 a)
65
74
` $(ext) ` 表示文件名的后缀部分(如 a.jpg/b.jpg 的 $(ext) 均为 jpg,c 的 $(ext) 为空字符串)
66
- ##### 格式拼接
75
+ ` $(key) ` 表示完整的原始文件名(如 a.jpg/a.png 的 $(key) 分别为为 a.jpg/a.png)
76
+ #### saveas 格式拼接
67
77
格式需要遵循 ` <bucket>:<key> ` ,允许只有 ` <bucket> ` ,此时表示由七牛自动生成文件名,但是不允许缺少 ` <bucket> ` ,且不允许以 ` : ` 开头或结尾的格式。
68
78
69
79
### 命令行方式
0 commit comments