智能多媒体 API

  • 视频水印

    最近更新时间:2018-01-11 11:02:33

    接口规格

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

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

    avthumb/<format>
           /...
           /wmImage/<EncodedRemoteImageUrl>
           /wmGravity/<Gravity>
           /wmOffsetX/<offsetX>
           /wmOffsetY/<offsetY>
           /wmText/<EncodedText>
           /wmGravityText/<GravityText>
           /wmFont/<EncodeFont>
           /wmFontColor/<EncodeFontColor>
           /wmFontSize/<FontSize>
           /wmConstant/<Constant>
    
    参数名称 必填 说明
    ... avthumb的其他参数
    <EncodedRemoteImageUrl>

    <EncodedText>

    至少填一项 水印的源路径,图片水印目前仅支持远程路径,需要经过urlsafe_base64_encode
    <Gravity><GravityText> 打水印的位置,参考水印锚点参数表,默认值为NorthEast(右上角)。
    /wmOffsetX/<offsetX> 视频图片水印位置的相对横向偏移量,当值为正数时则向右偏移,反之向左,有-10的固定偏移。
    /wmOffsetY/<offsetY> 视频图片水印位置的相对纵向偏移量,当值为正数时则向下偏移,反之向上,有10的固定偏移。
    <EncodeFont> 文本字体(详见支持字体列表),需要经过urlsafe_base64_encode,默认为黑体。
    注意:中文水印必须指定中文字体。
    <EncodeFontColor> 水印文字颜色,需要经过urlsafe_base64_encode,RGB格式,可以是颜色名称(例如red)或十六进制(例如 #FF0000),参考RGB颜色编码表,默认为黑色。
    <FontSize> 水印文字大小,单位: 缇,等于1/20磅,默认值0(默认大小)。
    <Constant> 用于设置水印图片是否随源视频DAR(display aspect ratio)变化而产生形变。不填值或设为0,水印图片会随源视频DAR变化而产生形变;设为1,水印图片保持原有宽高比。该参数仅对wmImage有效。

    水印锚点参数表

    NorthWest     |     North      |     NorthEast
                  |                |    
                  |                |    
    --------------+----------------+--------------
                  |                |    
    West          |     Center     |          East 
                  |                |    
    --------------+----------------+--------------
                  |                |    
                  |                |    
    SouthWest     |     South      |     SouthEast
    

    示例

    • 以[预转持久化][persistentopsHref]形式,给视频资源打图片和文字水印:
    {
          "scope":                "test:sample.mp4",
          "deadline":             1608652800,
          "persistentOps":        "avthumb/mp4/wmImage/aHR0cDovL3Rlc3QtMi5xaW5pdWRuLmNvbS9sb2dvLnBuZw==/wmText/d2Vsb3ZlcWluaXU=/wmFontColor/cmVk/wmFontSize/60/wmGravityText/North|saveas/dGVzdDpzYW1wbGVfdGFyZ2V0Lm1wNA==",
          "persistentPipeline":   "newtest",
          "persistentNotifyUrl":  "http://fake.com/qiniu/notify"
    }
    
    • 以[持久化数据处理](即触发持久化)形式,给视频资源打水印:
    POST /pfop/ HTTP/1.1
    Host: api.qiniu.com  
    Content-Type: application/x-www-form-urlencoded  
    Authorization: QBox <AccessToken>  
    
    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 ,将其修改为:

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

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

    以上内容是否对您有帮助?
  • Icon free helper
    Close