12 Star 3 Fork 1

深圳市探鸽智能科技有限公司 / open-api-docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
网页播放接口文档.md 4.91 KB
一键复制 编辑 原始数据 按行查看 历史

网页播放接口文档

方式一,使用HLS播放链接

实现网页播放功能,需要以下两个步骤:

1. 调用开放平台接口,获取设备接入信息

接口文档

2. 将视频播放链接 嵌入网页

参考如下内容,可以快速实现网页播放的功能。

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Video Demo</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/video.js/7.10.1/video-js.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/video.js/7.10.2/video.min.js"></script>
    <style>
      body { background-color: #191919; }
    </style>
  </head>

  <body>
    <video id="my-video" class="video-js" controls=false preload="auto" width="960" height="400" data-setup="{}">
      <source type="application/x-mpegURL" id="my-video-source"
              src="http://47.106.222.25:3700/uuid/play?uuid=293EEE9DKXTF&appid=823&init_str=EEGDFHBIKAJNGBJNEMGNFPECHPNFHGNMGCFEBOCGAAJHLNKJDJAPCEPMGHLGJBLNAJMOKCDKONMDBJCCJHMD&p2p_id=TANGE-389410-LZXBB,PLNFZC&password=awNBR7skhVESMBv6UCv8i6ckMe0a1YJZ&&timestamp=1610445481&sign=488aa72de2f0bfb30b1793bf247a4832">
    </video>

    <script type="text/javascript">
      var myPlayer = videojs('my-video');
      videojs("my-video").ready(function(){
          var myPlayer = this;
          myPlayer.play();
      });

    </script>
  </body>
</html>

方式二,调用Web播放器(支持H265)

快速开始

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" />
    <title>Tange WebPlayer Demo</title>
    <style>
      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
      canvas.video-container {
        background-color: #111;
        width: calc(100vw * 0.8);
        height: calc(100vw * 0.8 * 9/16);

        display: block;
        margin-left: auto;
        margin-right: auto;
        padding-right: 0;
      }
    </style>
  </head>
  <body>
    <canvas class="video-container" id="canvas" />

    <!-- tange-player.min.js与librender.wasm需放在同一个目录 -->
    <script src="/libs/web/tange-player/tange-player.min.js"></script>
    <script type="text/javascript">
      document.addEventListener("DOMContentLoaded", function (event) {
        // 读取'/device/access_info'接口的device_str字段数据,获取到设备信息
        const deviceString = window.location.search || "uuid=293EEE9DKXTF&appid=823&init_str=EEGDFHBIKAJNGBJNEMGNFPECHPNFHGNMGCFEBOCGAAJHLNKJDJAPCEPMGHLGJBLNAJMOKCDKONMDBJCCJHMD&p2p_id=TANGE-389410-LZXBB,PLNFZC&password=awNBR7skhVESMBv6UCv8i6ckMe0a1YJZ&&timestamp=1610445481&sign=488aa72de2f0bfb30b1793bf247a4832";

        // 支持从url, searchString或device_str参数获取websocket视频的播放参数
        const wsPlayParams = TangeWebPlayer.utils.getWsPlayParamsFromUrl(deviceString);
        console.log(wsPlayParams);

        /* wsPlayParams对象数据示例
        const mockWsPlayParams = {
          uuid: "293EEE6GF3TB",
          appid: "657",
          initstring: "XXXX",
          p2pid: "CNSIMC-000591-PDBDV,KUHJLB",
          password: "XXXX",
          stream: 1, // 需数字类型
        };
        */
        
        // 初始化播放器
        TangeWebPlayer.init();
        // 等待播放器依赖库下载与准备完毕
        TangeWebPlayer.ready().then(function () {
          // 初始化播放器实例
          const player = new TangeWebPlayer({
            url: "ws://h265.tange365.com:8888/media",
            // websocket方式的播放参数
            wsPlayParams: wsPlayParams,
            videoContainer: document.getElementById("canvas"),
          });

          // 开始播放
          player.play(); 

          /* 停止播放
          document.getElementById("stopPlayer").addEventListener("click", () => {
            player.stop();
          });
          */
        });
      });
    </script>
  </body>
</html>

注意点:

  1. tange-player.min.js与librender.wasm需放在同一个目录,在代码库/libs/web/tange-player中获取
  2. 使用TangeWebPlayer传入参数,初始化播放器实例,通过play和stop等api控制播放器
  3. 读取 接口文档 的接口中获取device_str字段数据,再调用getWsPlayParamsFromUrl方法转换为播放参数
  4. videoContainer目前只支持canvas标签
  5. 查看 快速开始实例

示例

http://static-test.tange365.com/tange-web-player-examples/with-input-form/index.html?password=4Qec5YSXW0yblOkioOwyQoURhosWdHBg

1
https://gitee.com/tange-ai/open-api-docs.git
git@gitee.com:tange-ai/open-api-docs.git
tange-ai
open-api-docs
open-api-docs
master

搜索帮助