快速替换ASS水印教程
该功能会将一到多个时间段的ASS
水印烧录进视频,且烧录后可以在相同时间段替换新的ASS
水印,也可以移除已添加的ASS
水印,且处理后的视频M3U8
链接不会改变。
替换也就是只会处理有水印的地方,比如你源片时长2
小时,ASS
水印出现时长共2
分钟,那么更换水印的时候,只会处理2
分钟的视频,而不是直接去处理2
小时视频,极大的提高处理效率。
相关说明
开启该功能后,仅对开启后转码的视频生效,已转码的视频可在视频管理使用重新转码生效;并且会强制转码源片一次,此后替换水印只会转码有水印的部分,即水印时间越短,处理越快。
可以添加多个时间段的ASS
水印规则,开始转码后,视频会自动绑定当前的所有规则,后面替换也只会替换/移除这些规则的水印,即新增规则也只对后面转码的视频生效,且规则被绑定后无法被删除。
视频处理期间会一次性处理下方所有的ASS
水印规则,且处理后会给该视频标记,在标记不变的情况下,不会被重新处理,如需给视频替换新ASS
水印,需先修改ASS
水印内容,再修改标记即可。
设置步骤
添加水印规则
提示:ASS内容的时间需根据设置的开始时间,进行适当调整,不然可能会不显示。
前往程序后台 ⇒ 点击左侧转码相关 ⇒ 快速替换ASS
水印,先点添加ASS
水印规则,如下:
可添加多个不同时间段的ASS
水印,这里举一个例子,比如我要在视频的第10
分钟开始添加2
分钟的水印,也就是00:10:00-00:12:00
区间。
那么我先制作一个带文字水印或跑马灯的ASS
字幕文件,且原ASS
字幕时间轴如:Dialogue: 0,0:10:00.00,0:12:00.00,*Default,NTP,0,0,0,,{\an2}{\shad0.5\}{\bord1}{\fs35}{\fn方正大黑简体}BING {\c&H00F0FF&}TEST BING.com{\c&HFFFFFF&} BING AWS\N\N\N\N AWS\N\N\N\N\N\N\N\N\N\N\N\N\N
。
然后我将开始时间按格式,即00:10:00
,持续时间2
分钟转成秒数,即120
,这2
个值填进去。
由于EFV
系统处理ASS
字幕的时候会自动给字幕时间叠加设置的开始时间,所以这里我填入ASS
字幕的时候,需要将字幕原开始时间、结束时间都要减去设置的开始时间00:10:00
,即原时间为Dialogue: 0,0:10:00.00,0:12:00.00
,减去00:10:00
,也就是最终时间Dialogue: 0,0:00:00.00,0:02:00.00
.
所以我的例子里面的ASS
时间轴需改成Dialogue: 0,0:00:00.00,0:02:00.00,*Default,NTP,0,0,0,,{\an2}{\shad0.5\}{\bord1}{\fs35}{\fn方正大黑简体}BING {\c&H00F0FF&}TEST BING.com{\c&HFFFFFF&} BING AWS\N\N\N\N AWS\N\N\N\N\N\N\N\N\N\N\N\N\N
。
然后将调整好时间的ASS
文件内容全部填进去即可。
最后你有多个时间段的ASS
水印,那么就添加多少个规则,后面转码的时候,会自动绑定添加的规则,替换和移除的时候,只会处理已绑定的ASS
水印规则。
如果你多台EFV
系统,可以通过导出配置,将当前所有ASS
规则导出,再导入到另一台EFV
系统。
水印设置
接下来继续点击水印设置,说明如下:
#是否开启添加/替换ASS水印
开启后,会给你后面转码的所有视频,新增ASS水印,或替换ASS水印。
#是否移除已添加的ASS水印
如需移除所添加的ASS水印,则开启,且开启后,添加替换ASS水印会自动关闭,只会进行移除处理。
#水印标识
必填,不然不会给你烧录ASS水印,用英文数字组合即可,如kjkj22jk,即视频替换ASS水印后,均会被记录标识信息,那么之后就不会处理该视频;如果你后面需要给视频重新替换新的ASS水印,那么修改不一样的标识就行。
#烧录的并发数
默认为3,也就是每次同时处理3个视频,切勿设置太高,如果机器性能好点,可以适当调高。
最后根据自己需求进行相关设置,ASS
水印总显示时间越短,处理越快,耐心等待自动处理完毕即可。
如何查看视频是否已烧录片中广告
前往视频管理,先去标题栏把是否已烧录ASS水印
调出来,方便标题栏查看。
然后点击其它筛选
,选择已烧录或未烧录ASS水印
即可。
API用法
提示:使用API之前,需前往转码设置下方,开启API,并设置好APIKEY。
添加ASS水印配置
POST /api/assconfig
请求头:
- Content-Type: application/json
- token: {apikey} // 或在请求体/URL参数中使用apikey
请求体:
{
"apikey": "5c20cEga22FgG7f", // 如果未在header中设置
"configs": [{
"title": "水印1", // 水印标题
"ass": "ASS字幕内容...", // ASS字幕内容
"startTime": "00:02:00", // 开始时间(时:分:秒)
"duration": 60 // 持续时间(秒)
}]
}
返回示例:
{
"success": true,
"results": [{
"success": true,
"id": "507f1f77bcf86cd799439011",
"title": "水印1",
"adjustedStartTime": "00:02:00",
"adjustedDuration": 60
}]
}
curl示例:
curl -X POST http://your-domain/api/assconfig \
-H "Content-Type: application/json" \
-d '{"apikey":"5c20cEga22FgG7f","configs":[{"title":"水印1","ass":"ASS内容","startTime":"00:02:00","duration":60}]}'
获取ASS水印配置列表
GET /api/assconfigs?apikey=5c20cEga22FgG7f
返回示例:
{
"success": true,
"configs": [{
"_id": "507f1f77bcf86cd799439011",
"title": "水印1",
"startTime": "00:02:00",
"duration": 60,
"assContent": "ASS字幕内容..."
}]
}
curl示例:
curl "http://your-domain/api/assconfigs?apikey=5c20cEga22FgG7f"
更新ASS水印配置
PUT /api/assconfig/{id} //id为ASS水印配置id
#直接替换整个ASS内容,请求体:
{
"apikey": "5c20cEga22FgG7f",
"assContent": "[Script Info]\nScriptType: v4.00+\nPlayResX: 960\nPlayResY: 540\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\nStyle: Default,锐字云字库准圆体GBK,20,&H00DBDBDD,&H000000FF,&H00000000,&H00000000,0,0,0,0,96.1111,100,0,0,1,0,0.9,2,7,7,10,1\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\nDialogue: 0,0:00:00.00,0:00:20.00,*Default,NTP,0,0,0,,{\\an2}{\\shad0.5\\}{\\bord1}{\\fs35}{\\fn方正大黑简体}BING AWS {\\c&H00F0FF&}WWW.EXAMPLE.COM{\\c&HFFFFFF&} BING AWS"
}
#替换关键词,请求体:
{
"apikey": "5c20cEga22FgG7f",
"replaceKeywords": {
"BING": "AWS",
"BING.com": "WWW.EXAMPLE.COM",
"AWS": "BING"
}
}
#返回示例:
{
"success": true,
"id": "507f1f77bcf86cd799439011",
"title": "水印1"
}
#curl示例1(替换整个内容):
curl -X PUT http://your-domain/api/assconfig/507f1f77bcf86cd799439011 \
-H "Content-Type: application/json" \
-d '{
"apikey":"5c20cEga22FgG7f",
"assContent":"[Script Info]\nScriptType: v4.00+\nPlayResX: 960\nPlayResY: 540\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\nStyle: Default,锐字云字库准圆体GBK,20,&H00DBDBDD,&H000000FF,&H00000000,&H00000000,0,0,0,0,96.1111,100,0,0,1,0,0.9,2,7,7,10,1\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\nDialogue: 0,0:00:00.00,0:00:20.00,*Default,NTP,0,0,0,,{\\an2}{\\shad0.5\\}{\\bord1}{\\fs35}{\\fn方正大黑简体}BING AWS {\\c&H00F0FF&}WWW.EXAMPLE.COM{\\c&HFFFFFF&} BING AWS"
}'
#curl示例2(替换关键词):
curl -X PUT http://your-domain/api/assconfig/507f1f77bcf86cd799439011 \
-H "Content-Type: application/json" \
-d '{
"apikey":"5c20cEga22FgG7f",
"replaceKeywords":{
"BING": "AWS",
"BING.com": "WWW.EXAMPLE.COM",
"AWS": "BING"
}
}'
删除ASS水印配置
POST /api/assconfig/delete
请求头:
- Content-Type: application/json
- token: {apikey} (可选)
请求体:
{
"apikey": "5c20cEga22FgG7f",
"ids": ["507f1f77bcf86cd799439011", "507f1f77bcf86cd799439012"] //id为ASS水印配置id
}
返回示例:
{
"success": true,
"results": [{
"id": "507f1f77bcf86cd799439011",
"success": true
}]
}
curl示例:
curl -X POST http://your-domain/api/assconfig/delete \
-H "Content-Type: application/json" \
-d '{"apikey":"5c20cEga22FgG7f","ids":["507f1f77bcf86cd799439011"]}'
获取ASS水印设置
GET /api/asssetting?apikey=5c20cEga22FgG7f
返回示例:
{
"success": true,
"setting": {
"mark": "watermark123", // 水印标识
"open": true, // 是否开启添加/替换
"delad": false, // 是否开启移除
"num": 3 // 并发处理数
}
}
curl示例:
curl "http://your-domain/api/asssetting?apikey=5c20cEga22FgG7f"
更新ASS水印设置
POST /api/asssetting
请求头:
- Content-Type: application/json
- token: {apikey} (可选)
请求体:
{
"apikey": "5c20cEga22FgG7f",
"mark": "watermark123", // 水印标识(必填,仅允许英文数字)
"open": true, // 是否开启添加/替换
"delad": false, // 是否开启移除
"num": 3 // 并发处理数(>0的整数)
}
返回示例:
{
"success": true,
"setting": {
"mark": "watermark123",
"open": true,
"delad": false,
"num": 3
}
}
curl示例:
curl -X POST http://your-domain/api/asssetting \
-H "Content-Type: application/json" \
-d '{"apikey":"5c20cEga22FgG7f","mark":"watermark123","open":true,"delad":false,"num":3}'