# 实现视频打点

# 简介

  • 客服人员可通过菊风视频能力平台的视频打点功能,在视频通过过程中针对每次问答进行打点定位并标记风险问题点(关键节点);

  • 帮助质检人员快速、精准定位业务流程风险;

  • 质检人员无需反复观看视频,提高质检效率。

# 前提条件

在集成视频打点功能前,确保已初始化 JCMediaChannel 模块,已开启会议远程录制(视频客服默认开启远程录制)。

# 终端集成

在开启远程录制时,可对录制视频记录关键性信息。

  1. 在加入会议通话,开启远程视频录制之后,可以调用远程视频打点功能.
  2. 在通话中,调用视频打点的功能,就可以记录信息。
  3. 通话结束后,在 portal 上可以查看录制的视频文件,包括视频的打点记录。
/// <summary>
/// 视频打点
/// </summary>
/// <param name="info">打点信息</param>
/// <param name="timespan">时间戳</param>
/// <returns></returns>
public bool SetVideoDot(string timespan, string info)

TIP

最多纪录不超过200字符的关键性信息。

# 播放器集成

# 安装

  1. 下载压缩包文件 (opens new window)

  2. 通过 npm 安装

    npm install --save videojs-marker-plugin
    

# 用法

注: videojs-marker-plugin 依赖 videojs 需要先在项目中引入 videojs.

<script> 标签

<script src="//path/to/video.min.js"></script>
<script src="//path/to/videojs-marker-plugin.min.js"></script>
<script>
  var player = videojs('my-video');

  player.markerPlugin({
    //  打点信息
    markers: [
      {
        offset: 1,
        type: 'text',
        data: {
          content: 'content1'
        }
      },
      {
        offset: 2,
        type: 'text',
        data: {
          content: 'content2'
        }
      },
    ],
    // 是否展示右侧面板
    panel: true
  });
</script>
  • require 引入
var videojs = require('video.js');

// The actual plugin function is exported by this module, but it is also
// attached to the `Player.prototype`; so, there is no need to assign it
// to a variable.
require('videojs-marker-plugin');

var player = videojs('my-video');

player.markerPlugin({
  //  打点信息
  markers: [
    {
      offset: 1,
      type: 'text',
      data: {
        content: 'content1'
      }
    },
    {
      offset: 2,
      type: 'text',
      data: {
        content: 'content2'
      }
    },
  ],
  // 是否展示右侧面板
  panel: true
});

# 插件参数和接口

  • 初始化参数
name type description
markers Array 一个包含打点信息的数组
panel boolean 是否展示右侧打点信息面板
markerPlugin({
  markers: [
    //  MarkerPointInfo
    {
      //  这条打点记录相对于视频时间轴的零点的偏移量(以秒为单位), 会跟据该值决定打点显示在进度条中的位置.
      offset: 1,
      //  打点类型, 目前仅有 `text` 类型
      type: 'text',
      //  打点数据, content内为打点文本内容
      data: {
        content: 'content'
      }
    }
  ],
  panel: true
})
  • 更新打点信息
plugin.updateOptions({
  markers: [
    {
      offset: 1,
      type: 'text',
      data: {
        content: 'content'
      }
    }
  ],
  panel: true
});