本地录像播放

本文描述如何播放存储在本地NVR或IPC设备存储卡中的录像文件。

前提条件

  • 已启用智能视频服务,且视频设备已经接入物联网平台,详细信息,请参见设备接入

  • 本地视频设备中存在录像文件。

背景信息

  • 物联网视频服务提供两种播放本地录像文件的方式:

    • 按录像文件时间播放

    • 按录像文件名播放

  • 通过V系列边缘一体机接入的场景,仅支持按录像文件名,播放本地录像文件。

设备端开发

  • 视频设备通过V系统边缘一体机接入,无需进行设备端开发。

  • IPC设备直接接入物联网平台的场景,需进行设备端开发,物联网视频服务提供Linux和Android两种开发模式,您可根据开发环境,选择开发模式:

云端开发

使用限制

本地录像点播支持RTMP、HTTP-FLV、HLS三种协议,优先推荐RTMP和HTTP-FLV协议,若使用HLS协议有如下限制:

  • 云平台仅提供HLS直播能力。如需拖动播放,请根据拖动时间点重新获取播放URL进行播放。

  • 设备在推流完成后,需要终止点播,否则会引起播放无法结束的问题(例如播放器进入缓冲中状态)。详细信息,请参见数据流转流程图第24步。

  • HLS属于短连接点播,同一播放地址若20秒内未请求,则地址自动失效。

  • HLS相较RTMP和HTTP-FLV协议出图时间增加5~10秒。

操作步骤

  1. 调用InvokeThingService接口,按录像文件名或录像文件时间,返回录像文件列表。

    • 主要请求参数:

      参数

      示例值

      描述

      Identifier

      QueryRecordList

      IPC设备的服务的标识符。

      • 按照录像文件名:设置为QueryRecordList。

      • 按照录像文件时间:设置为QueryRecordTimeList。

        说明

        QueryRecordList和QueryRecordTimeList是定义在IPC设备物模型中的两个服务指令。在物联网平台控制台,IPC设备所属产品的功能定义页,找到相应服务,单击操作列的查看,可查看服务的详细信息。

        物模型详细信息,请参见什么是物模型

      Args

      {
          "BeginTime":10,
          "Type":0,
          "QuerySize":2,
          "EndTime":1541662222
      }
      

      要启用服务的输入参数信息,数据格式为JSON String,包括以下四个输入参数:

      • BeginTime:录像文件查询范围的起始时间,单位为秒,取值范围为0~2147483647。

      • EndTime:录像文件查询范围的结束时间,单位为秒,取值范围为0~2147483647。

      • Type:录像类型。

        • 0:计划录像(即连续录像)。

        • 1:报警录像。

        • 2:主动录像。

        • 99:所有录像。

      • QuerySize:查询记录数,取值范围为0~128。

    • 请求示例:

      https://iot.cn-shanghai.aliyuncs.com/?Action=InvokeThingService
      &ProductKey=a1BwAGV****
      &DeviceName=device1
      &Identifier=QueryRecordList  
      &Args={
                    "BeginTime":10,
                    "Type":0,
                    "QuerySize":2,
                    "EndTime":1541662222
                     }
      &<公共请求参数>
  2. 根据步骤1返回的录像文件名或录像文件时间,获取本地录像文件URL。

    • 按照录像文件名:调用QueryDeviceVodUrl,获取本地录像文件URL。

    • 按照录像文件时间:调用QueryDeviceVodUrlByTime,获取本地录像文件URL。

      说明

      仅支持IPC设备直接接入物联网平台场景。

应用端开发

物联网视频服务支持在Web、iOS和Android三种应用端配置播放器。各应用端配置播放器的详细信息,请参见应用端开发指南

各应用端播放器,支持的播放协议和编码协议如下表。

播放器

播放协议

视频编码协议

音频编码协议

Web

  • HTTP-FLV

  • HLS

H.264

AAC

iOS

RTMP

  • H.264

  • H.265

Android

RTMP

  • H.264

  • H.265

应用端播放器获取本地录像文件URL后,播放录像文件。