欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

视频水印

接口规格

  • 现在视频水印功能已经和转码avthumb功能合并,可以同时转码以及做水印。
  • avthumb中添加wmImagewmGravity与原先的vwatermark里面的imagegravity对应。
  • 与原vwatermark相比,增加文字水印接口,新增参数wmTextwmGravityTextwmFontwmFontColorwmFontSize

注意:接口规格不含任何空格与换行符,下列内容经过格式化以便阅读。


  1. avthumb/<format>
  2. /...
  3. /wmImage/<EncodedRemoteImageUrl>
  4. /wmGravity/<Gravity>
  5. /wmOffsetX/<offsetX>
  6. /wmOffsetY/<offsetY>
  7. /wmText/<EncodedText>
  8. /wmGravityText/<GravityText>
  9. /wmFont/<EncodeFont>
  10. /wmFontColor/<EncodeFontColor>
  11. /wmFontSize/<FontSize>
参数名称必填说明
... avthumb的其他参数
<EncodedRemoteImageUrl>

<EncodedText>

至少填一项水印的源路径,图片水印目前仅支持远程路径,需要经过urlsafe_base64_encode
<Gravity><GravityText> 打水印的位置,参考水印锚点参数表,默认值为NorthEast(右上角)。
/wmOffsetX/<offsetX> 视频图片水印位置的相对横向偏移量,当值为正数时则向右偏移,反之向左。
/wmOffsetY/<offsetY> 视频图片水印位置的相对纵向偏移量,当值为正数时则向下偏移,反之向上。
<EncodeFont> 文本字体(详见支持字体列表),需要经过urlsafe_base64_encode,默认为黑体。
注意:中文水印必须指定中文字体。
<EncodeFontColor> 水印文字颜色,需要经过urlsafe_base64_encode,RGB格式,可以是颜色名称(例如红色)或十六进制(例如 #FF0000),参考RGB颜色编码表,默认为黑色。
<FontSize> 水印文字大小,单位: 缇,等于1/20磅,默认值0(默认大小)。

水印锚点参数表


  1. NorthWest | North | NorthEast
  2. | |
  3. | |
  4. --------------+----------------+--------------
  5. | |
  6. West | Center | East
  7. | |
  8. --------------+----------------+--------------
  9. | |
  10. | |
  11. SouthWest | South | SouthEast

示例

  • 以[预转持久化][persistentopsHref]形式,给视频资源打图片和文字水印:

  1. {
  2. "scope": "test:sample.mp4",
  3. "deadline": 1608652800,
  4. "persistentOps": "avthumb/mp4/wmImage/aHR0cDovL3Rlc3QtMi5xaW5pdWRuLmNvbS9sb2dvLnBuZw==/wmText/d2Vsb3ZlcWluaXU=/wmFontColor/cmVk/wmFontSize/60/wmGravityText/North|saveas/dGVzdDpzYW1wbGVfdGFyZ2V0Lm1wNA==",
  5. "persistentPipeline": "newtest",
  6. "persistentNotifyUrl": "http://fake.com/qiniu/notify"
  7. }
  • 以[持久化数据处理](即触发持久化)形式,给视频资源打水印:

  1. POST /pfop/ HTTP/1.1
  2. Host: api.qiniu.com
  3. Content-Type: application/x-www-form-urlencoded
  4. Authorization: QBox <AccessToken>
  5.  
  6. bucket=test&key=sample.mp4&fops=avthumb%2fmp4%2fwmImage%2faHR0cDovL3Rlc3QtMi5xaW5pdWRuLmNvbS9sb2dvLnBuZw==%2fwmText%2fd2Vsb3ZlcWluaXU=%2fwmFontColor%2fcmVk%2fwmFontSize%2f60%2fwmGravityText%2fNorth%2csaveas%2fdGVzdDpzYW1wbGVfdGFyZ2V0Lm1wNA==&notifyURL=http%3A%2F%2Ffake.com%2Fqiniu%2Fnotify

注意:要在Authorization头部的<AccessToken>前添加QBox和半角空格。

以上示例为指定视频资源打上图片水印http://78re52.com1.z0.glb.clouddn.com/resource%2Flogo.jpg, 位置是右上角;同时给视频打上文字水印weloveqiniu,颜色为红色,大小为3磅(60缇),字体为黑体,位置为正上方;生成文件名为为sample_target.mp4的新mp4视频资源。

以 Python Sdk 为例,具体可以看下音视频转码的示例。需要在音视频转码的示例的基础修改数据处理命令 fops ,将其修改为:


  1. fops = avthumb/mp4/wmImage/aHR0cDovL3Rlc3QtMi5xaW5pdWRuLmNvbS9sb2dvLnBuZw==/wmText/d2Vsb3ZlcWluaXU=/wmFontColor/cmVk/wmFontSize/60/wmGravityText/North

注意: 其他语言 Sdk 可在官方 Sdks 下载,可以通过查看 Sdk 使用指南中触发持久化预转持久化使用。

来自  https://developer.qiniu.com/dora/manual/1314/video-watermarking

普通分类: