萤石云视频预览、回放、自定义录制

result
在这里插入图片描述

code

 <iframe
            src=""
            width="600"
 			height="400"
            id="ysOpenDevice"
            allowfullscreen
    >
    </iframe>

mdoel为后台返回的实体对象

    var appKey = '${model.appKey}';
    var appSecret = '${model.appSecret}';
    var deviceSerial = '${model.deviceSerial}';
    var channelNo = '${model.channelNo}';
    var accessToken = '';

	 $.ajax({
        type: 'POST',
        contentType: 'application/json;charset=UTF-8',
        dataType: "json",
        url: "https://open.ys7.com/api/lapp/token/get?appKey=" + appKey + "&appSecret=" + appSecret,
        success: function (res) {
            accessToken = res.data.accessToken;
            document.getElementById("ysOpenDevice").src = "https://open.ys7.com/ezopen/h5/iframe_se?url=ezopen://open.ys7.com/" + deviceSerial + "/" + channelNo + ".live&autoplay=1&audio=1&accessToken=" + accessToken + "&templete=2";
        }
    });
### Java 实现萤石云视频回放 为了实现通过Java调用萤石服务完成视频回放功能,主要涉及以下几个方面: - 获取访问令牌(AccessToken) - 查询指定时间段内的录像文件列表 - 下载或在线播放这些录像文件 #### 1. 添加Maven依赖项 项目中需引入官方提供的SDK库来简化接口调用过程。 ```xml <dependency> <groupId>com.ezviz.open</groupId> <artifactId>ezviz-openplatform</artifactId> <version>1.1.6.RELEASE</version> </dependency> ``` 此部分来源于相关文档说明[^3]。 #### 2. 请求Access Token 使用应用程序密钥(AppKey)和应用密钥(Secret),向萤石开放平台申请有效的授权凭证(AccessToken)用于后续操作。 ```java public class EzvizClient { private static final String APP_KEY = "your_app_key"; private static final String SECRET = "your_secret"; public static void main(String[] args){ try{ // 创建OpenAPI客户端实例并初始化参数 OpenApiClient client = new DefaultOpenApiClient(APP_KEY, SECRET); // 执行获取token的操作 AccessTokenResponse tokenResp = client.getAccessToken(); System.out.println("access_token:" + tokenResp.getAccessToken()); }catch(Exception e){ e.printStackTrace(); } } } ``` 这部分逻辑基于官方指南中的描述进行编写。 #### 3. 查询历史录像片段 利用已获得的`accessToken`发起请求以检索特定日期范围内的录制数据。这里假设已经成功拿到了合法的token对象。 ```java // 假设我们已经有了一个可用的client实例以及有效期内的accessToken字符串 String startTime = "2024-01-01T00:00:00Z"; // 开始时间戳(UTC格式) String endTime = "2024-01-02T00:00:00Z"; // 结束时间戳(UTC格式) ListPlaybackFilesRequest req = ListPlaybackFilesRequest.newBuilder() .setDeviceSerial(deviceSerialNumber) .setChannelNo(channelNumber) .setStartTime(startTime) .setEndTime(endTime).build(); try { ListPlaybackFilesResponse resp = client.listPlaybackFiles(req); for (PlaybackFile file : resp.getData()) { System.out.printf("fileUrl=%s\n", file.getFileUrl()); } } catch (Exception ex) { logger.error(ex.getMessage(), ex); } ``` 上述代码展示了如何构建查询条件并向服务器发送HTTP GET请求以返回符合条件的历史录影链接集合[^2]。 #### 4. 播放器集成 最后一步是在前端页面上嵌入HTML5 `<video>`标签或其他第三方插件加载来自后端提供的媒体资源URL路径。 ```html <div id="player"> <video controls autoplay width="640" height="360"> <source src="${fileUrl}" type='video/mp4'> Your browser does not support the video tag. </video> </div> ``` 注意这里的`${fileUrl}`应该由实际取得的数据动态填充进去[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值