华为云视频智能分析服务VIAS对接使用完全指南
1. 初识华为云视频智能分析服务 VIAS
视频智能分析服务(Video Intelligent Analysis Service,简称VIAS),是华为云推出的一站式AI智能分析平台。它提供了AI智能分析、预警事件上报、边缘资源池纳管等多项能力,依托于华为云人工智能和大数据的技术优势,实现智慧园区、城市治理、智慧水务、智慧交通等场景的事件感知、分析和决策能力,助力业务闭环。
VIAS具体包含了入侵检测、高密度人群、戴口罩检测、工服工帽检测、烟火检测、共享单车检测等多种视频AI算法,为用户提供快捷高效的视频分析能力。您可以在视频智能分析服务的管理控制台中使用服务,首次进入时需要同意授权,同意授权后进入总览页。
VIAS的架构设计围绕五个核心模块展开:视频中心负责视频源数据管理,是算法的前置输入模块;算法中心支持使用者购买商用算法包,购买后可查看、部署、升级算法包中的算法服务;任务中心支持在任务配置中选择已接入的视频源,完成从数据接入到算法推理的端到端功能配置;事件中心可以针对视频算法抓拍的告警进行结果存储、查看等,实现事件的管理与分析;运维中心负责边缘资源池的纳管与运维。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
2. VIAS 的核心能力与产品优势
2.1 部署形态灵活可选
VIAS除云上智能分析外,同步支持算法边缘节点部署,有效降低带宽成本。边缘与云上智能算法版本同步升级。这种灵活的部署架构让用户可以根据实际业务场景选择最合适的方案——对实时性要求高、网络带宽有限的场景可以选择边缘部署;对算力要求高、需要集中管理的场景可以选择云上部署。
2.2 高性能多模态数据分析
VIAS基于鲲鹏系列处理器和昇腾AI芯片,提供高并发低时延的多模态数据分析能力,保证园区场景业务的高效闭环。通过视频分析、图像处理和自然语言处理技术,对园区和城市治理中的视频、图片和文本数据进行多模态联合分析,充分挖掘数据潜在关联性。
2.3 丰富的算法生态
面向泛园区场景提供多种智能分析算法,基于深度学习等领先技术,保证人、车辆、事件、行为的高精度感知和处理。算法覆盖商住园区、工业园区、城市治理、智慧场馆、智慧工地、智慧场站等多个场景。
3. 服务开通与权限配置
3.1 开通VIAS服务
使用VIAS服务的第一步是登录华为云控制台并开通服务。进入华为云官网后,在搜索框输入"视频智能分析服务"或"VIAS"即可找到服务入口。首次进入服务时,系统会提示授权,同意授权后即可进入总览页面。
3.2 购买算法包
根据业务需求选择购买不同的算法包,算法包包含了若干算法,创建作业前需要先购买算法包。华为云提供了云上算法视觉能力包和边缘算法视觉能力包两大类。云上算法视觉能力包适用场景是视频流数据需要通过IVM上传到华为云,在华为云上进行算法分析;边缘算法则是指算法模型下发到边缘节点的客户设备中,在客户设备中执行算法分析任务,视频流数据不需要提供到华为云上。
云上算法视觉能力包包含云上专业类算法包和云上通用类算法包,涵盖高密度人群统计、个体事件行为检测、高点人群统计、共享单车检测、烟火检测、城管事件检测等数十种算法服务。边缘算法视觉能力包同样包含专业类和通用类算法包,算法能力与云上版本同步。
3.3 IAM权限配置
为了安全地使用VIAS服务,建议通过IAM(统一身份认证)创建子账号并授予最小权限。需要的权限策略包括:VIAS服务的只读或读写权限、OBS的读写权限(如需将结果输出到OBS)、DIS的读写权限(如需将结果输出到DIS)、IEF的只读权限(如需使用边缘节点)等。具体权限配置可以在华为云控制台的"统一身份认证服务"中进行。
4. 视频源接入
您在使用视频智能分析服务的算法服务前,需要先接入视频数据,才能用算法服务对接入的视频进行分析,获取结果。视频源接入是VIAS工作流的第一步,也是至关重要的一步。
4.1 视频源接入方式概览
进入"视频中心"菜单栏下,单击左侧导航"视频源列表",进入视频源列表界面,单击"新增视频源"即可开始接入。不同类型的算法支持不同的视频数据来源:
- 边缘算法支持接入CAMERA、RESTful、VCN、URL四种视频数据来源
- 云上算法支持的接入视频数据来源有OBS、URL、RESTful、VCN、IVM
4.2 CAMERA方式接入
CAMERA方式表示从指定的边缘摄像头中读取视频数据。使用此方式前需要完成两个准备工作:注册边缘节点并纳管、创建边缘摄像头。具体操作步骤请参考IEF服务配置文档。这种方式适用于已经部署了边缘摄像头的园区、工地等场景。
4.3 RESTful方式接入
RESTful方式表示从用户自定义的流媒体服务器中读取视频数据。使用RESTful接入前需要特别注意:如果是云上模式,必须保证云上的RESTful地址可以被华为云的服务器访问;如果是边缘模式,则边缘的RESTful地址需要用户自己的边缘服务器能访问。
算法容器通过REST请求访问用户提供的服务器地址,获取响应并解析视频流地址,进而接入并分析视频源。RESTful请求可以携带请求头(headers),整体呈JSON格式,以键值的形式表示请求头和取值,最多允许10组。
以下是用Python编写的RESTful服务端脚本示例,用于提供视频流地址:
from flask import Flask, jsonify, request
import cv2
app = Flask(__name__)
@app.route('/v1/stream', methods=['GET'])
def get_stream_url():
# 返回视频流的RTSP地址
return jsonify({
'code': 0,
'data': {
'url': 'rtsp://192.168.1.100:554/stream1',
'protocol': 'rtsp'
}
})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)4.4 VCN方式接入
VCN方式表示从视频云(Video Cloud Node)中读取视频数据。需要准备的信息包括:VCN服务器的IP地址、端口号、用户名、密码、摄像头ID,这些信息需要从VCN管理员获取。
4.5 URL方式接入
URL方式表示直接从边缘设备提供的实时视频流推流地址获取视频数据。需要提供视频流推流地址(RTSP流地址)。需要注意的是,该特性为定制化能力,目前仅香港局点上线。
4.6 OBS方式接入(云上)
云上算法支持从OBS(对象存储服务)中读取视频文件作为视频源。支持扩展名为avi、wmv、mpg、mpeg、mp4、mov、m4v、mkv的视频文件。支持H.264、H.265编码格式视频的解码。支持常见的帧率12、24、25、30。支持的分辨率包括720P、1080P、2K、4K。
4.7 IVM方式接入(云上)
IVM方式表示从IVM(行业视频管理)平台读取视频数据。使用此方式需要租户已开通IVM服务,然后可以直接选择IVM平台已有的视频源。
4.8 视频源管理最佳实践
在新增视频源时,可以填写视频源的地理位置信息(经纬度),方便后续按位置进行管理和检索。还可以为视频源添加标签,长度限制为10,最多可输入4组标签。视频源可以加入已存在的视频源分组,便于批量管理。
5. 算法包购买与部署
5.1 购买算法包
根据业务需求选择购买对应的算法包。在VIAS管理控制台的"算法中心"模块,可以查看所有可用的算法服务包列表,包括云上算法和边缘算法两大类。每个算法包中包含多个具体的算法服务,例如云上通用类算法包包含高密度人群统计、个体事件行为检测、共享单车检测、烟火检测、城管事件检测等多种算法。
5.2 部署算法服务
购买算法包后需要部署算法服务才能使用。进入"我的算法服务",单击目标算法服务"操作"列的"部署",进入"部署算法"页面。
部署时需要填写以下参数:
- 路数:本次部署预计需要支持的最大路数,后台会自动申请、创建足够多的算法资源支撑作业的运行
- 资源池规格:选择本次部署所使用的资源池,部署前需要在运维中心创建资源池
- 服务启动参数:本次部署传入的参数信息,不同的算法服务启动参数不同
对于华为自研的云上算法,不需要手动部署即可直接使用。而非华为自研算法以及边缘算法,则需要手动部署后才能使用。
5.3 创建边缘运行池
如果使用边缘算法,需要先创建边缘运行池。边缘运行池是一组处理服务作业的边缘节点,在创建服务作业前要求先创建边缘运行池。创建步骤为:登录视频智能分析服务,在左侧导航栏中选择"运维中心 > 边缘资源池",单击"创建边缘资源池",配置相关参数即可。边缘资源池名称只能由小写字母、数字、中划线组成,长度范围为4到32个字符,需以小写字母开头。
6. 创建分析任务
用户选择一种算法服务,对指定的视频源进行分析处理,即对应创建一条视频分析任务。任务管理模块提供了创建视频分析任务、查看任务详情与任务列表以及删除任务的能力。
6.1 创建任务的入口
创建任务有两种入口:在任务中心模块"任务列表"页面,单击"新建任务";或者在视频中心模块选择"视频源列表"页面,单击某条视频源"操作"列的"新建任务"。
6.2 任务基本参数配置
创建任务时需要配置以下基本参数:
- 任务名称:自定义任务名称,只能由中文、英文字母、数字、中划线、下划线组成,长度范围为1到100个字符
- 接入方式:根据实际选择云上或边缘
- 视频源:需分析的视频源来源,从下拉框中选择已接入的视频源
- 视觉能力包:选择已购买的算法包
- 订单号:下拉框选择购买该算法包的订单号
- 算法服务:选择要使用的具体算法的名称
- 功能版本:选择功能版本
选完算法服务及功能版本后,会弹出该算法对应的ROI配置以及公共参数设置。ROI(Region of Interest)即感兴趣区域配置,用于指定算法分析的重点区域。公共参数各个算法服务版本对应的配置参数不同,具体参数含义请参见API概览。还可以保存公共配置模板,下次选择该算法进行视频分析时延用当前的算法配置。
6.3 任务执行计划配置
任务执行计划有两种模式:
- 一直执行:任务立即启动并持续运行
- 周期执行:通过可视化的图表操作可选择任务每周执行的时间段,周期执行的最小时间段单位为15分钟
6.4 任务输出配置
配置完任务执行模式后,需要选择视频处理后的结果文件的存放路径。可配置的输出方式有四种:
- OBS:支持将结果输出到OBS指定的文件夹,需提前开通OBS服务
- DIS:支持将结果数据输出到DIS指定的通道,需提前开通DIS通道
- Webhook:通过HTTP回调方式推送结果,仅支持云上推理
- 事件中心:结果存储到VIAS的事件中心,可在控制台查看
7. API调用与集成
7.1 API概述
视频智能分析服务VIAS的接口分为两类:平台API和算法API。其中平台API由四部分组成,分别是视频中心、任务中心、算法中心和运维中心。算法API由三部分组成,分别是边缘服务API、云上服务API和公共接口。
VIAS提供了REST风格API,支持通过HTTPS请求调用。调用API的请求URI由Endpoint、资源路径等部分组成。终端节点(Endpoint)即调用API的请求地址。
7.2 认证与Token获取
调用VIAS API前需要先获取用户Token用于鉴权。可以通过调用IAM服务的获取用户Token接口来获取。返回的响应消息头中"x-subject-token"的值就是需要获取的用户Token。
以下是通过curl获取Token的示例:
curl -X POST https://iam.myhuaweicloud.com/v3/auth/tokens \
-H 'Content-Type: application/json' \
-d '{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "your_username",
"password": "your_password",
"domain": {
"name": "your_domain_name"
}
}
}
},
"scope": {
"project": {
"name": "cn-north-4"
}
}
}
}'7.3 创建任务的API调用示例
获取Token后,可以通过API创建分析任务。以下是创建边缘视频车辆作业的API调用示例:
POST /v2/{project_id}/services/c-vehicle-detection-edge/tasks
Host: {endpoint}
Content-Type: application/json
X-Auth-Token: {your_token}
{
"name": "vehicle-detection-task-001",
"description": "边缘车辆检测任务",
"input": {
"type": "video_source",
"data": [
{
"video_source_id": "vs_xxxxxxxxxxxx"
}
]
},
"output": {
"webhook": {
"url": "https://your-webhook-server.com/callback"
}
},
"service_version": "1.0",
"resource_order_id": "order_xxxxxxxxxxxx",
"schedule": {
"type": "ONCE",
"start_time": "2026-06-19T10:00:00Z"
}
}7.4 使用Python SDK调用API
以下是通过Python调用VIAS API的完整示例:
import requests
import json
class VIASClient:
def __init__(self, project_id, token, endpoint):
self.project_id = project_id
self.token = token
self.endpoint = endpoint
self.base_url = f"{endpoint}/v2/{project_id}"
def create_task(self, task_config):
"""创建分析任务"""
url = f"{self.base_url}/services/{task_config['service_name']}/tasks"
headers = {
"Content-Type": "application/json",
"X-Auth-Token": self.token
}
response = requests.post(url, headers=headers, json=task_config['data'])
return response.json()
def list_tasks(self):
"""查询任务列表"""
url = f"{self.base_url}/tasks"
headers = {"X-Auth-Token": self.token}
response = requests.get(url, headers=headers)
return response.json()
def get_task_result(self, task_id):
"""获取任务结果"""
url = f"{self.base_url}/tasks/{task_id}/result"
headers = {"X-Auth-Token": self.token}
response = requests.get(url, headers=headers)
return response.json()
def delete_task(self, task_id):
"""删除任务"""
url = f"{self.base_url}/tasks/{task_id}"
headers = {"X-Auth-Token": self.token}
response = requests.delete(url, headers=headers)
return response.status_code == 204
# 使用示例
client = VIASClient(
project_id="your_project_id",
token="your_token",
endpoint="https://vias.myhuaweicloud.com"
)
task_config = {
"service_name": "c-intrusion-detection-cloud",
"data": {
"name": "入侵检测任务",
"input": {
"type": "video_source",
"data": [{"video_source_id": "vs_xxxxxxxx"}]
},
"output": {
"obs": {
"bucket": "your-bucket",
"path": "vias-results/"
}
},
"service_version": "1.0",
"resource_order_id": "order_xxxxxxxx",
"schedule": {
"type": "PERIODIC",
"periodic": {
"weekdays": [1, 2, 3, 4, 5],
"time_slots": [
{"start": "09:00", "end": "18:00"}
]
}
}
}
}
result = client.create_task(task_config)
print(json.dumps(result, indent=2, ensure_ascii=False))8. 结果获取与事件管理
8.1 查看任务状态
任务创建成功后,可以观察任务的运行状态,待运行成功后获取任务分析结果。在VIAS管理控制台的"任务中心"可以查看所有任务的列表和状态详情。
8.2 获取分析结果
根据设置的输出数据类型,可以采用对应的方式获取任务分析结果。如果输出到OBS,可以在OBS指定路径下载结果文件;如果输出到DIS,可以从DIS通道消费数据;如果输出到Webhook,结果会通过HTTP POST推送到指定的回调URL;如果输出到事件中心,可以在VIAS控制台的"事件中心"模块查看告警事件。
8.3 事件中心与告警管理
事件中心是VIAS的重要组成部分,可以针对视频算法抓拍的告警进行结果存储、查看等,实现事件的管理与分析。在事件中心页面,可以查看所有告警事件的列表,包括事件发生时间、视频源、算法类型、告警详情等信息。
事件中心还提供了事件规则配置功能,可以开启人工审核或事件重复聚合。开启人工审核后,告警事件需要人工确认才能正式上报;开启事件重复聚合后,系统会将相似的事件进行聚合,避免重复告警造成的信息过载。
9. 云上算法与边缘算法对比
9.1 部署架构差异
云上算法:视频流数据需要通过IVM上传到华为云,在华为云上进行算法分析。视频数据需要传输到云端,依赖网络带宽,但可以利用云端的强大算力。
边缘算法:算法模型下发到边缘节点的客户设备中,在客户设备中执行算法分析任务,视频流数据不需要提供到华为云上。视频数据在本地处理,只需上传告警结果和关键图片,有效降低带宽成本。
9.2 视频源接入差异
边缘算法支持接入CAMERA、RESTful、VCN、URL四种视频数据来源;云上算法支持的接入视频数据来源有OBS、URL、RESTful、VCN、IVM。云上算法多出了OBS和IVM两种接入方式,更适合已有视频文件需要批量分析的场景。
9.3 部署流程差异
边缘算法需要手动创建边缘运行池、部署算法服务;华为自研云上算法不需要额外创建资源池,也不需要手动部署。非华为自研的云上算法则需要自行购买资源池来部署算法。
9.4 选型建议
选择云上算法还是边缘算法,需要根据实际业务场景综合考虑:
- 网络条件:网络带宽充足、延迟可接受的场景适合云上算法;网络受限、需要低延迟响应的场景适合边缘算法
- 数据合规:视频数据不能出域的场景必须选择边缘算法
- 算力需求:需要复杂模型、大算力支撑的场景适合云上算法;简单模型、轻量计算的场景适合边缘算法
- 成本考量:边缘算法节省带宽成本和云端算力成本,但需要投入边缘节点硬件
10. 约束与限制
受技术与成本多种因素制约,视频智能分析服务存在一些约束限制。了解这些限制有助于更好地规划和使用服务。
10.1 系统级约束
- 支持扩展名为avi、wmv、mpg、mpeg、mp4、mov、m4v、mkv的视频文件
- 支持常见的帧率12、24、25、30
- 支持H.264、H.265编码格式视频的解码
- 支持的分辨率:720P、1080P、2K、4K
10.2 边缘节点服务器约束
视频智能分析服务运行在边缘节点时,边缘节点支持昇腾处理器和X86+GP Tnt004类型的服务器。昇腾处理器类型服务器推荐使用Atlas800 AI服务器-型号3000。当前视频智能分析服务支持昇腾处理器推理芯片的c82版本驱动。在边缘节点服务器上,昇腾处理器驱动用户HwHiAiUser的默认用户组id是1001,请勿随意修改该值,否则可能导致算法作业运行异常。X86+GP Tnt004类型服务器推荐使用RH2288V5或Atlas G5500,操作系统推荐使用CentOS 7.x版本。
11. 成本优化与最佳实践
11.1 合理选择算法部署方式
边缘算法将视频分析任务在本地执行,只需上传告警结果和关键帧图片,大幅降低带宽消耗和云端存储成本。对于需要7x24小时持续分析的场景,边缘部署可以显著降低长期运营成本。
11.2 任务执行计划优化
对于不需要7x24小时分析的业务场景,可以使用周期执行模式,只在需要的时间段运行分析任务。例如,只在工作日的办公时间进行人员行为分析,周末和夜间暂停任务,可以有效节省算法资源消耗。
11.3 结果输出策略优化
根据实际需求选择合适的输出方式。如果只需要在控制台查看告警,选择事件中心输出即可;如果需要长期存储分析结果用于审计,选择OBS输出;如果需要实时处理分析结果,选择DIS或Webhook输出。
11.4 视频源管理规范
建议为视频源添加规范的命名、标签和地理位置信息,方便后续管理和检索。对于大规模的视频源,建议使用分组功能进行归类管理。
11.5 监控与告警配置
建议在运维中心配置资源监控和告警规则,及时发现任务异常、资源不足等问题。可以设置任务失败告警、资源池使用率告警等,确保服务的稳定运行。
12. 常见问题排查
12.1 视频源接入失败
如果视频源接入失败,首先检查网络连通性。云上RESTful方式需要确保华为云服务器可以访问提供的RESTful地址;边缘方式需要确保边缘服务器可以访问视频源地址。其次检查视频格式是否在支持的范围内。
12.2 任务运行失败
任务运行失败可能的原因包括:算法服务未正确部署、视频源不可用、输出通道(OBS/DIS)未正确配置、资源池资源不足等。可以在任务详情页面查看具体的错误日志进行定位。
12.3 算法检测不准确
如果算法检测结果不准确,首先检查ROI区域配置是否正确,确保检测区域覆盖了需要分析的范围。其次检查算法参数配置是否合理,不同的场景可能需要调整不同的参数阈值。最后确认视频质量是否满足要求(分辨率、帧率、光照条件等)。
13. 总结
华为云视频智能分析服务VIAS是一个功能强大、部署灵活的一站式AI视频分析平台。通过本文的详细介绍,读者可以掌握从服务开通、视频源接入、算法部署、任务创建到结果获取的完整对接流程。VIAS依托华为云在人工智能和大数据领域的技术积累,为智慧园区、城市治理、智慧水务、智慧交通等多种场景提供了端到端的视频智能分析解决方案。
无论是选择云上算法还是边缘算法,VIAS都能提供高精度、低延迟的视频分析能力。通过合理的架构选型、任务调度和成本优化策略,可以在保证业务效果的同时有效控制运营成本。希望本文能够帮助读者快速上手并高效使用华为云VIAS服务。
常见问题解答
问1:VIAS支持哪些视频编码格式和分辨率?
答:VIAS支持H.264和H.265编码格式,支持720P、1080P、2K、4K分辨率,支持avi、wmv、mpg、mpeg、mp4、mov、m4v、mkv等文件格式。
问2:云上算法和边缘算法有什么区别?
答:云上算法需要将视频流上传到华为云进行分析,适合网络条件好、需要集中管理的场景;边缘算法将算法模型部署到本地边缘节点,视频数据不出域,适合网络受限、需要低延迟响应的场景。两者算法能力同步,主要区别在于部署位置和数据流向。
问3:如何通过API调用VIAS服务?
答:首先通过IAM获取Token,然后调用VIAS的REST API。VIAS的API分为平台API和算法API两类。平台API管理视频源、任务、算法和运维;算法API执行具体的视频分析。建议使用官方SDK或参考API文档构造请求。
问4:VIAS的分析结果可以通过哪些方式输出?
答:VIAS支持四种输出方式:OBS(对象存储)、DIS(数据接入服务)、Webhook(HTTP回调)和事件中心。用户可以根据业务需求选择合适的输出方式,例如需要长期存储选OBS,需要实时处理选DIS或Webhook,只需要在控制台查看选事件中心。
问5:边缘算法部署需要什么硬件条件?
答:边缘节点支持昇腾处理器(推荐Atlas800 AI服务器-型号3000)和X86+GP Tnt004(推荐RH2288V5或Atlas G5500)两种类型。昇腾处理器需要c82版本驱动;X86服务器推荐CentOS 7.x操作系统。具体硬件配置要求可参考官方约束与限制文档。
问6:如何降低VIAS的使用成本?
答:可以从以下几个方面优化成本:一是选择边缘部署减少带宽和云端算力消耗;二是使用周期执行模式,只在需要的时间段运行任务;三是合理选择输出方式,避免不必要的存储和传输开销;四是根据实际路数需求部署算法服务,避免资源浪费。




