全部产品
云市场

视频水印

更新时间:2018-12-27 16:27:33

初始化客户端

使用前请先初始化客户端,参考 initVodClient 接口。

添加水印

接口参数和返回字段请参考 AddWatermark

  1. /**
  2. * 构建图片水印的配置数据,根据具体设置需求修改对应的参数值
  3. * @return
  4. */
  5. function buildImageWatermarkConfig() {
  6. $watermarkConfig = array();
  7. //水印的横向偏移距离
  8. $watermarkConfig["Dx"] = "8";
  9. //水印的纵向偏移距离
  10. $watermarkConfig["Dy"] = "8";
  11. //水印显示的宽
  12. $watermarkConfig["Width"] = "55";
  13. //水印显示的高
  14. $watermarkConfig["Height"] = "55";
  15. //水印显示的相对位置(左上、右上、左下、右下)
  16. $watermarkConfig["ReferPos"] = "BottomRight";
  17. //水印显示的时间线(开始显示和结束显示时间)
  18. $timeline = array();
  19. //水印开始显示时间
  20. $timeline["Start"] = "2";
  21. //水印结束显示时间
  22. $timeline["Duration"] = "ToEND";
  23. $watermarkConfig["Timeline"] = $timeline;
  24. return json_encode($watermarkConfig);
  25. }
  26. /**
  27. * 构建文字水印的配置数据,根据具体设置需求修改对应的参数值
  28. * @return
  29. */
  30. function buildTextWatermarkConfig() {
  31. $watermarkConfig = array();
  32. //文字水印显示的内容
  33. $watermarkConfig["Content"] = "testwatermark";
  34. //文字水印的字体名称
  35. $watermarkConfig["FontName"] = "SimSun";
  36. //文字水印的字体大小
  37. $watermarkConfig["FontSize"] = "25";
  38. //文字水印的颜色(也可为RGB颜色取值,例如:#000000)
  39. $watermarkConfig["FontColor"] = "Black";
  40. //文字水印的透明度
  41. $watermarkConfig["FontAlpha"] = "0.2";
  42. //文字水印的字体描边颜色(也可为RGB颜色取值,例如:#ffffff)
  43. $watermarkConfig["BorderColor"] = "White";
  44. //文字水印的描边宽度
  45. $watermarkConfig["BorderWidth"] = "1";
  46. //文字水印距离视频画面上边的偏移距离
  47. $watermarkConfig["Top"] = "20";
  48. //文字水印距离视频画面左边的偏移距离
  49. $watermarkConfig["Left"] = "15";
  50. return json_encode($watermarkConfig);
  51. }
  52. /**
  53. * 添加水印配置信息函数
  54. */
  55. function addWatermark($client) {
  56. $request = new vod\AddWatermarkRequest();
  57. //水印名称
  58. $request->setName("addwatermark");
  59. //水印文件在oss的URL
  60. //图片水印必传图片文件的oss文件地址,水印文件必须和视频在同一个区域,例如:华东2视频,水印文件必须存放在华东2
  61. $request->setFileUrl("http://test-bucket.oss-cn-shanghai.aliyuncs.com/watermark/test.png");
  62. //水印配置数据
  63. //图片水印的位置配置数据
  64. $request->setWatermarkConfig(buildImageWatermarkConfig());
  65. //文字水印的位置配置数据
  66. //$request->setWatermarkConfig(buildTextWatermarkConfig());
  67. //文字水印:Text; 图片水印:Image
  68. $request->setType("Image");
  69. return $client->getAcsResponse($request);
  70. }
  71. /**
  72. * 以下为调用示例
  73. * @param args
  74. */
  75. try {
  76. $client = initVodClient("<AccessKeyId>", "<AccessKeySecret>");
  77. $result = addWatermark($client);
  78. var_dump($result);
  79. } catch (Exception $e) {
  80. print $e->getMessage()."\n";
  81. }

修改水印

接口参数和返回字段请参考 UpdateWatermark

  1. /**
  2. * 构建图片水印的配置数据,根据具体设置需求修改对应的参数值
  3. * @return
  4. */
  5. function buildImageWatermarkConfig() {
  6. $watermarkConfig = array();
  7. //水印的横向偏移距离
  8. $watermarkConfig["Dx"] = "10";
  9. //水印的纵向偏移距离
  10. $watermarkConfig["Dy"] = "10";
  11. //水印显示的宽
  12. $watermarkConfig["Width"] = "66";
  13. //水印显示的高
  14. $watermarkConfig["Height"] = "66";
  15. //水印显示的相对位置(左上、右上、左下、右下)
  16. $watermarkConfig["ReferPos"] = "BottomRight";
  17. //水印显示的时间线(开始显示和结束显示时间)
  18. $timeline = array();
  19. //水印开始显示时间
  20. $timeline["Start"] = "2";
  21. //水印结束显示时间
  22. $timeline["Duration"] = "ToEND";
  23. $watermarkConfig["Timeline"] = $timeline;
  24. return json_encode($watermarkConfig);
  25. }
  26. /**
  27. * 构建文字水印的配置数据,根据具体设置需求修改对应的参数值
  28. * @return
  29. */
  30. function buildTextWatermarkConfig() {
  31. $watermarkConfig = array();
  32. //文字水印显示的内容
  33. $watermarkConfig["Content"] = "testwatermark";
  34. //文字水印的字体名称
  35. $watermarkConfig["FontName"] = "SimSun";
  36. //文字水印的字体大小
  37. $watermarkConfig["FontSize"] = "40";
  38. //文字水印的颜色(也可为RGB颜色取值,例如:#000000)
  39. $watermarkConfig["FontColor"] = "Black";
  40. //文字水印的透明度
  41. $watermarkConfig["FontAlpha"] = "0.2";
  42. //文字水印的字体描边颜色(也可为RGB颜色取值,例如:#ffffff)
  43. $watermarkConfig["BorderColor"] = "White";
  44. //文字水印的描边宽度
  45. $watermarkConfig["BorderWidth"] = "2";
  46. //文字水印距离视频画面上边的偏移距离
  47. $watermarkConfig["Top"] = "20";
  48. //文字水印距离视频画面左边的偏移距离
  49. $watermarkConfig["Left"] = "15";
  50. return json_encode($watermarkConfig);
  51. }
  52. /**
  53. * 以下为调用示例
  54. * @param args
  55. */
  56. try {
  57. $client = initVodClient("<AccessKeyId>", "<AccessKeySecret>");
  58. $result = updateWatermark($client);
  59. var_dump($result);
  60. } catch (Exception $e) {
  61. print $e->getMessage()."\n";
  62. }

删除水印

接口参数和返回字段请参考 DeleteWatermark

  1. /**
  2. * 删除水印配置信息函数
  3. */
  4. function deleteWatermark($client) {
  5. $request = new vod\DeleteWatermarkRequest();
  6. //设置水印ID
  7. $request->setWatermarkId("e7d983370268092176588a2c4xxxxxx");
  8. return $client->getAcsResponse($request);
  9. }
  10. /**
  11. * 以下为调用示例
  12. * @param args
  13. */
  14. try {
  15. $client = initVodClient("<AccessKeyId>", "<AccessKeySecret>");
  16. $result = deleteWatermark($client);
  17. var_dump($result);
  18. } catch (Exception $e) {
  19. print $e->getMessage()."\n";
  20. }

查询水印列表

接口参数和返回字段请参考 ListWatermark

  1. /**
  2. * 查询水印配置信息列表函数
  3. */
  4. function listWatermark($client) {
  5. $request = new vod\ListWatermarkRequest();
  6. return $client->getAcsResponse($request);
  7. }
  8. /**
  9. * 以下为调用示例
  10. * @param args
  11. */
  12. try {
  13. $client = initVodClient("<AccessKeyId>", "<AccessKeySecret>");
  14. $result = listWatermark($client);
  15. var_dump($result);
  16. } catch (Exception $e) {
  17. print $e->getMessage()."\n";
  18. }

查询单个水印

接口参数和返回字段请参考 GetWatermark

  1. /**
  2. * 查询单个水印配置信息函数
  3. */
  4. function getWatermark($client) {
  5. $request = new vod\GetWatermarkRequest();
  6. //需要查询水印信息的水印ID
  7. $request->setWatermarkId("bfc084674fb64486b6e5bace30xxxxxx");
  8. return $client->getAcsResponse($request);
  9. }
  10. /**
  11. * 以下为调用示例
  12. * @param args
  13. */
  14. try {
  15. $client = initVodClient("<AccessKeyId>", "<AccessKeySecret>");
  16. $result = getWatermark($client);
  17. var_dump($result);
  18. } catch (Exception $e) {
  19. print $e->getMessage()."\n";
  20. }

设置默认水印

接口参数和返回字段请参考 SetDefaultWatermark

  1. /**
  2. * 设置默认水印配置信息函数
  3. */
  4. function setDefaultWatermark($client) {
  5. $request = new vod\SetDefaultWatermarkRequest();
  6. //设置默认的水印ID
  7. $request->setWatermarkId("bfc084674fb64486b6e5bace30xxxxxx");
  8. return $client->getAcsResponse($request);
  9. }
  10. /**
  11. * 以下为调用示例
  12. * @param args
  13. */
  14. try {
  15. $client = initVodClient("<AccessKeyId>", "<AccessKeySecret>");
  16. $result = setDefaultWatermark($client);
  17. var_dump($result);
  18. } catch (Exception $e) {
  19. print $e->getMessage()."\n";
  20. }