• [技术干货] 智慧共享杆站 产品组合方案介绍
    以城市灯杆为载体将城市管理、交通、公安、应急、气象等部门城市外场基础设施共电、共网、共维的建设,提供集约化多杆合一,免挖沟埋缆边远回传,智能化云边协同、可视化全站可管,支撑城市感知网络体系构建。参考链接:https://e.huawei.com/cn/solutions/digital-site/intelligent-sharing-rod
  • [公告] 数字站点产品组合板块上线啦!!!
    聚焦外场基础设施的杆站、管线、场站三类场景形态,推进外场基础设施集约化、共享化、智能化的建设,让城市基础设施智能普惠、企业生产无人少人化、行业感知体系智能升级,为数字经济发展到新阶段架起沟通桥梁,打造数字社会信息“大动脉”。华为数字站点聚焦外场基础设施数字化,联合客户与伙伴一起,将算力、联接、感知等技术推向外场,构建开放、智能的感知网络体系!
  • ruyi 资料失效
    您好  文档中的链接https://box.saas.huaweicloud.com/p/a9ca09d373fe209c4a6a061724b3f149   关于ruyi 相关的资料已经失效  另外能否附带一下demo工程相关的文件   国内90%的帖子都是直接写如何导入工程操作   但是都没有提供对应的工程文件   希望可以补齐  谢谢。
  • [问题求助] 视频 ivr 媒体能力无法正常获取
    【问题来源】    银行视频ivr使用【问题简要】    使用 OpenEye 拨打电话后,主菜单能正常获取媒体能力值,但是子菜单无法获取。【问题类别】【必填】    【IVR(gsl)】【AICC解决方案版本】【必填】    【AICC 22.100.0】    【UAP:V100R005C00SPC108】    【ICD:V300R008C25SPC007】【期望解决时间】    尽快【问题现象描述】     现象一:UAP抓包E2E信息:用户拨打96666进入IVR的主流程(没设置媒体能力值)再扭转到子流程(媒体能力值设置为3-视频),UAP的E2E消息里面            INtess_SP_Alerting的能力值为0;     现象二:UAP抓包E2E信息:用户拨打966632311直接进入子流程(媒体能力值设置为3-视频),UAP的E2E消息里面INtess_SP_Alerting的能力值为3;     根据现象,在主流程跳转到子流程后,无法正常获取子菜单媒体能力,但是直接拨打子流程则可以正常获取。     疑问:进入生产环境,用户支持volte,拨打电话后,ivr是否获取到的媒体能力值就是音视频(3)能力,如果主菜单使用语音播报,子菜单使用视频播放,在播放完主菜单语音后,用户选择视频子菜单,这时候是否手机直接播放视频,然后用户返回主菜单,这时候直接播放为语音。在视频菜单和音频菜单直接能否无缝衔接,还是说只能满足主菜单和子菜单都是语音,或者都是视频的场景。
  • 华为云视频直播 8点-18点流量大放“价”,费用降低40%,超好用!
    随着网络基础设施、云计算技术等不断发展,人们信息获取方式已大多从文字、图片等转变为视频直播的方式传递。 且互联网内容品质要求越来越高,巨大的网络分发需求消耗直播网络带宽越来越大,客户面临着较大的带宽成本压力。为有效地实现降本增效,让华为云视频直播普惠大众。华为云推出视频直播分时段流量包(8点-18点),是华为云针对08:00-18:00的直播闲时流量,推出的特惠资源包。现华为云开年采购季,云视频专场特惠进行中,视频直播闲时流量包8折,新用户还可领取专享610元大额礼券,可享折上9折优惠,活动时间:2023年3月1日-3月31日,更多视频服务活动请前往云视频专场~“直播CDN闲时流量包”是视频直播服务一种全新的计费方式,白天(8点-18点)单独计算流量消费,让客户增加忙闲时运营能力,不断控制并降低成本。对于带货直播、旅游直播、视频监控、在线教育、政企直播、赛事直播、健身直播等行业的直播业务,白天也有业务时段,错峰使用视频直播服务是最划算不过了!这样可以花费更少的钱使用同样的视频直播加速服务,使用分时段流量包一个月大概可以省40%的费用,实现了业务效率和用户体验双重提升。分时段流量包适用时段为北京时间00:80-18:00,白天都是大家学习、工作最繁忙的时段,相对大家的忙时视频直播正是闲时时段哦!华为云视频直播服务为行业提供高并发、低延迟、超清流畅、安全可靠的端到端直播解决方案。助力企业提高客户转化率,且拥有超低时延的直播能力,让主播和观众能够及时获得实时信息,提升直播实时体验。华为云视频直播服务全球3000+节点,全运营商覆盖确保接入质量稳定;海量带宽储备,全网带宽储备量高达100Tbps以上;高清低码,最大可节省30%以上流量和存储的实时转码功能;全天候全网健康度管理,基于服务质量智能精准调度,可靠稳定,支持千万级并发,自研拥塞控制算法与智能调度策略,保证超清、流畅的直播效果,为直播业务提供更高质量的加速服务,欢迎更多客户上华为云官网“开年采购季”云视频专场了解更多信息。[点这里]
  • [问题求助] 视频播放无声音
    【问题来源】    银行视频ivr使用【问题简要】    ivr流程需要使用视频,现在使用视频能播放视频,无法播放视频得声音。【问题类别】【必填】    【IVR(gsl)】【AICC解决方案版本】【必填】    【AICC 8.15.0】    【ICDV300R008C20SPC002】【期望解决时间】    尽快【问题现象描述】        ivr流程需要使用视频,现在使用视频能播放视频,无法播放视频得声音。使用得ffmpeg指令是 ffmpeg.exe -ss 0:0:0 -i oldName.mp4 -y -c:a amr_wb -b:a 23.85k -ac 1 -ar 16000 -c:v h264 -crf 30 -profile:v baseline -level:v 3.0 -s 640x480 -f 3gp -r 30 -maxrate 960k test.3gp
  • [技术干货] ZYNQ7035 PL Cameralink回环例程
    本文主要介绍说明XQ6657Z35-EVM评估板Cameralink回环例程的功能、使用步骤以及各个例程的运行效果。(基于TI KeyStone架构C6000系列TMS320C6657双核C66x 定点/浮点DSP以及Xilinx Zynq-7000系列SoC处理器XC7Z035-2FFG676I设计的异构多核评估板,由核心板与评估底板组成。评估板CameraLink功能支持2路Base输入、或者2路Base输出、或者1路Full 输入或输出)ZYNQ7035 PL Cameralink回环例程1.1.1 例程位置ZYNQ例程保存在资料盘中的Demo\ZYNQ\PL\base_cameralink_loop\prj文件夹下。1.1.2 功能简介Cameralink回环例程将J3、J4当作两个独立的Base Cameralink接口使用,一个接收,另一个发送。Cameralink接收端,利用Xilinx ISERDESE2原语进行串/并转换,将LVDS串行数据转换成28bit的cameralink并行数据。解串后的并行数据通过ila进行在线分析和查看,并实时检测并行数据是否有误码。Cameralink发送端,利用Xilinx OSERDESE2原语进行并/串转换,将本地28bit cameralink并行数据串行化为LVDS数据发送出去。1.1.3 Cameralink接口时序说明1.1.3.1 Cameralink三种配置模式Base模式:只需一根Cameralink线缆;4对差分数据、1对差分时钟;Medium模式:需要两根Cameralink线缆;8对差分数据、2对差分时钟;Full模式:需要两根Cameralink线缆;12对差分数据、3对差分时钟。各种模式下,统一都包含一组控制口和一组串口。控制口有4根信号,用于图像采集端对相机的IO控制;串口用于图像采集端对相机参数的配置。1.1.3.2 单路差分数据与时钟之间时序关系单路Cameralink差分数据与随路的差分像素时钟之间的时序关系如下图所示:一个时钟周期内传输7bits串行数据,首先传输串行数据的最高位,最后传输串行数据的最低位。7bits数据起始于像素时钟高电平的中间位置,即数据的最高位在Clock高电平的中间时刻开始传输。Clock高电平时间比Clock低电平时间多一个bit位。1.1.3.3 通道传输数据与图像数据映射关系1路差分数据通道上,一个Clock像素时钟周期传输7bits串行数据,那么4路差分数据通道总共就是4*7bits=28bits,我们称这28bits数据为并行数据,为了方便描述,这28bits数据记为TX/RX27~0。Cameralink Base模式下,这28bits数据与图像行/场同步/数据有效标记、图像数据的映射关系如下图所示:TX/RX24映射为行同步标记LVAL,TX/RX25映射为场同步标记FVAL,TX/RX26映射为图像数据有效标记DVAL,TX/RX23未使用,其余位对应图像数据。1.1.3.4 28位并行数据与4路差分数据传输通道之间的映射关系上述28位并行数据是如何通过4路差分数据传输通道进行传输的呢?28位并行数据映射到4路差分数据传输通道各个时刻点的位置关系如下图所示:1.1.4 管脚约束ZYNQ PL工程管脚约束如下图所示:1.1.5 例程使用1.1.5.1 连接Cameralink线缆使用Cameralink线缆将J3、J4两个接口连接在一起:1.1.5.2 加载运行ZYNQ程序1.1.5.2.1 打开Vivado工程打开Vivado示例工程:工程打开后界面如下图所示:1.1.5.2.2 下载ZYNQ PL程序下载bit流文件base_cameralink_loop.bit,并且配套base_cameralink_loop.ltx调试文件,如下图下载界面所示:1.1.5.3 运行结果说明ZYNQ PL端提供的ILA调试窗口,可以实时抓取采集Cameralink并行信号以及错误检测信号的时序波形。hw_ila_1调试界面抓取Cameralink并行发送数据,是一个28bits的累加数:hw_ila_2调试界面抓取Cameralink并行接收数据、接收误码统计以及接收误码实时标识信号,如下图所示:cameralink_rx_err_num显示有数值,则说明Cameralink接收过程中存在误码。可能在开始通信初始化期间存在误码现象,导致cameralink_rx_err_num误码统计累加。待程序下载完毕后,如果Cameralink通信正常的话,cameralink_rx_err_num误码统计应该不会再累加。如果cameralink_rx_err_num误码统计继续不断累加,则通过触发camera_rx_error信号可以捕捉到误码具体发生时刻。1.1.5.4  退出实验Vivado调试界面Hardware Manager窗口,右键单击localhost(1),在弹出的菜单中点击Close Server,断开ZYNQ JTAG仿真器与板卡的连接:最后,关闭板卡电源,结束。
  • [问题求助] 播放输入V9.0无法收号
    【问题来源】    公司内部调试视频IVR【问题简要】   播放输入V9.0设置了播放1组视频和收号,视频能正常播放,无法收号。【问题类别】【必填】    【IVR(gsl)】【AICC解决方案版本】【必填】    【AICC 8.15.0】    【ICDV300R008C20SPC002】【期望解决时间】    尽快【问题现象描述】       使用播放输入V9.0时可以正常播放声音和视频,勾选了收号,但是在后面使用事件等待V2.0再使用事件获取的时候无法获取到输入的值。 【日志或错误截图】
  • [问题求助] 请问TE20有个接口是获取主流视频源的,这是获取视频流的接口吗
    请问TE20有个接口是获取主流视频源的,这是获取视频流的接口吗经过测试返回的数据是空,技术客服说是TE20不支持获取视频流。那这个接口的意义是什么
  • [其他] 【开源资料】DSP+ZYNQ多核例程使用手册-XQTyer
    【开源资料】XQTyer评估板例程使用手册.pdf链接:https://share.weiyun.com/8csewUvh 密码:8r9by7CSDN搜索【DSP+ZYNQ多核例程使用手册-XQTyer】XQ6657Z35/45-EVM 高速数据处理评估板(XQTyer 评估板)由广州星嵌电子科技有限公司自主研发,包含一片TI DSP TMS320C6657和一片Xilinx ZYNQ-7000 SoC 处理器XC7Z035-2FFG676I。适用于无人机蜂群、软件无线电系统,基带信号处理,无线仿真平台,高速图像采集、处理等领域。
  • [热门活动] 【获奖公示】11.10号直播:深入浅出畅谈华为低时延直播技术
    <获奖名单>账号名 微信昵称 奖项名称 奖品名称hw092458298 刚仔 视频号抽奖 华为定制大狮PVC包hw047566367 唯爱 视频号抽奖 华为定制大狮pvc包jingyu211205 和一 视频号抽奖 华为云定制鼠标垫hid_y_w9dg_leuhuf8o 小云悠悠zZ 视频号分享 华为定制帆布包yeats_liao Yeats_Liao 视频号分享 华为定制帆布包nukinsan 八戒 视频号分享 华为定制帆布包yizhangl 一 视频号分享 华为定制帆布包Endless_Clould 百里丶落云 视频号分享 华为定制帆布包hw005431591 小程KG 新人注册 华为定制帆布包hid_6d8u6aaq978kag0 honey酒 新人注册 华为定制帆布包hid_vpqhvv8u7o5zzdj 矜辰所致 新人注册 华为定制帆布包lotay_ 天天 新人注册 华为定制帆布包hid_a0211e-bd-x__sw 衝鋒壹号 优质提问 华为定制长袖文化衫xj120141121 Nom 优质提问、视频号分享  定制长袖文化衫(M码)、定制帆布包madqfrog Madfrog 优质问题 华为定制长袖文化衫(XL)lishan6408 ls官网抽奖雨伞qingqingjiayuan6 霄官网抽奖雨伞xiaozhongy 英英官网抽奖华为AI音响2e
  • [热门活动] 【获奖公示】11.2号直播:云会议带你入门音视频世界
    <获奖名单>账号名微信昵称获得奖项奖品名称dream_y-oceanDream-Y.ocean直播观看top3冰箱贴4个hw073375084鱼直播观看top3冰箱贴4个hid_y_w9dg_leuhuf8o小云悠悠zZ视频号分享华为定制帆布包suhouyi_cloud机缘自然视频号分享华为定制帆布包nukinsan八戒视频号分享华为定制帆布包yizhangl一视频号分享华为定制帆布包hid_qp1dzuasdieuyat终身美丽视频号抽奖华为定制PVC包x17825189533い幸运锦鲤 あい如歌如謝视频号抽奖华为定制PVC包hid_y_w9dg_leuhuf8o小云悠悠zZ优质提问华为云定制长袖文化衫hw57269863han优质提问华为云定制长袖文化衫xj120141121Nom优质提问华为云定制长袖文化衫 Mrui151012锋新人注册华为数据收纳包hw045295644mr-X新人注册华为数据收纳包hid_wxboi7yl5cd-xx6꒦ິ^꒦ິ新人注册华为数据收纳包NA官网抽奖鼠标垫NA官网抽奖鼠标垫NA官网抽奖鼠标垫NA官网抽奖鼠标垫NA官网抽奖鼠标垫NA官网抽奖鼠标垫
  • [经验分享] 使用MindStudio利用TSM模型完成视频分类任务
    3733图4-↵目录1. 写在前面... 22. MindStudio环境搭建... 22.1本地Windows服务器环境搭建... 32.1.1 MindStudio的下载... 42.1.2 MindStudio的安装... 52.2集成MindStudio开发环境搭建... 72.2.1新建项目... 72.2.2 配置远程服务器... 112.2.3 配置项目SDK.. 142.2.4 配置MindX SDK.. 183. 模型介绍... 213.1介绍... 213.2代码目录结构与说明... 213.3环境依赖... 214. 离线推理... 224.1数据集下载... 224.2数据集预处理... 264.3模型转换... 284.4 Pipeline流程编排... 334.4.1 创建Pipeline文件... 334.4.2 设置插件... 344.4.3 配置插件参数... 354.4.4 Pipeline文件保存... 394.5离线推理和精度检测... 404.6 SDK性能测试... 425. 在线推理... 435.1安装视频流工具... 435.2生成视频流... 455.3模型转换... 475.4Pipeline流程编排5.5 程序测试... 506. FAQ.. 511. 写在前面本文进行的项目以昇腾Atlas310卡为主要的硬件平台,使用TSM模型,基于Kinetics-400数据集,在MindX SDK环境下实现视频分类功能。将测试视频传入脚本进行前处理,模型推理,后处理等功能,最终得到模型推理的精度和性能。项目主要由离线精度测试文件,在线功能测试文件,离线单视频推理性能测试文件,模型文件,测试数据集预处理文件组成。如在实践过程中遇到任何的问题,可以前往华为MindStudio论坛华为云论坛_云计算论坛_开发者论坛_技术论坛-华为云 (huaweicloud.com)寻求帮助,本文在实践过程中遇到的诸多问题均从论坛上获得答案最终解决。本项目视频案例链接如下:使用MindStudio利用TSM模型完成视频分类任务_哔哩哔哩_bilibili2. MindStudio环境搭建本项目所处的场景为纯开发场景(分部署形态),详情请参见安装方案(Windows)-安装方案-安装指南-5.0.RC3-MindStudio-文档首页-昇腾社区 (hiascend.com),该场景下在Windows服务器上安装MindStudio,在纯开发环境需要安装Ascend-cann-toolkit,两者建立连接之后,形成了集成的MindStudio的纯开发环境。昇腾AI设备上运行环境的安装部署操作请参见《CANN 软件安装指南》,此场景运行环境多为端侧、边侧设备如Atlas 500智能小站和Atlas 200 DK开发者套件等。图2-1 纯开发环境(分部署形态)CANN(Compute Architecture for Neural Networks)是华为公司针对AI场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。用户根据实际使用需要,下载对应的CANN软件包,具体安装流程可以参考官网的用户手册。CANN软件包下载地址CANN 商用版下载-昇腾社区 (hiascend.com)CANN安装流程:安装须知-软件安装-环境准备-5.1.RC1-CANN商用版-文档首页-昇腾社区 (hiascend.com)2.1 本地Windows服务器环境搭建MindStudio提供了AI开发所需的一站式开发环境,提供图形化开发界面,支持模型开发、算子开发以及应用开发三个主流程中的开发任务。同时还支持网络移植、优化和分析等功能。依靠模型可视化、算力测试、IDE本地仿真调试等功能,MindStudio能够帮助用户在一个工具上就能高效便捷地完成AI应用开发。同时,MindStudio采用了插件化扩展机制,开发者可以通过开发插件来扩展已有功能。MindStudio支持Windows和Linux两大主流平台。可以根据需要,进行选择下载安装包,具体安装流程,可以参考官网:官网链接:MindStudio-昇腾社区 (hiascend.com)用户手册:成长地图-5.0.RC3-MindStudio-文档首页-昇腾社区 (hiascend.com)2.1.1 MindStudio的下载进入MindStudio官网,下拉界面,点击“立即下载”,如图2-2所示。图2-2 MindStudio下载界面进入版本选择界面,最新的版本是MindStudio_5.0.RC3,在本项目中没有选择该版本的MindStudio,下拉界面进入历史版本,在本项目中选择使用MindStudio_5.0.RC2,根据主机系统选择对应的软件包,点击软件包下载,同时需要留意其对应的CANN版本为5.1.RC2,如图2-3所示。图2-3 版本选择界面点击软件包下载之后需要在弹出界面勾选“我已阅读并已同意 MindStudio软件许可协议 的条款和条件”,如图2-4所示。图2-4 软件许可协议2.1.2 MindStudio的安装运行下载好的MindStudio安装程序,单击“Next”,进入下一步,如图2-5。图2-5 MindStudio安装界面进入下一步后,根据自身需求选取软件安装路径,在此选择默认安装路径,如图2-6.图2-6 安装路径选取进入下一界面,选择 “Create Desktop Shortcut”(创建桌面图标)、“Update Context Menu”(以工程方式打开文件夹)、“Update PATH Variable(restart needed)”(配置环境变量),之后点击“Next”如图2-7所示图2-7 设置选项默认点击install即可,如图2-8所示图2-8 安装选项安装完成,如图2-9所示。图2-9安装完成2.2 集成MindStudio开发环境搭建2.2.1 新建项目完成以上工作之后,打开MindStudio,出现以下界面,如图2-10所示。Customize为定制界面,用户可以在该界面下进行一些个性化设置,包括主题的选择等;Plugins界面为插件界面,用户可以在该界面下载插件并且查看已经下载的插件;Learn MindStudio界面可以学习MindStudio的详细用法;在此选择Projects界面,点击“New Project”选项新建项目。 图2-10 MindStudio初始界面进入新建项目界面,选择Ascend APP,“Name”部分为项目名称,“Description”为项目的相关描述,“Project Location”是项目的本地路径,输入项目名称和相关描述之后,最后点击“Change”来配置远端服务器,如图2-11所示。图2-11 新建项目选项进入页面之后,点击最右侧“+”号,在进入的界面中输入端口、用户名、密码,之后点击“Test Connection”,显示“Successfully connected”表示成功,最后点击确定退出界面即可,如图2-12所示。图2-12 配置远端服务器界面完成远端服务器配置之后,点击右侧文件夹图标,选择Ascend-cann-toolkit软件包的安装目录,之后选择到版本目录5.1.RC2,点击OK,如图2-13所示。图2-13 选择Ascend-cann-toolkit组件目录点击Finish,开始同步CANN,如图2-14所示。图2-14 同步CANN我在同步CANN的时候遇到了同步失败的问题,通过在华为论坛上进行提问CANN同步失败如何处理。_MindStudio_昇腾_华为云论坛 (huaweicloud.com),最后确定了是MindStudio版本与CANN版本不匹配的原因,因此重新安装正确版本的MindStudio,成功地同步了CANN.同步结束之后会自动退出以上界面,点击next进入项目类型选择界面,由于本项目为SDK开发项目,所以选择“MindX SDK Project(python)”,之后点击Finish按钮,完成项目的创建,如图2-15所示。图2-15 项目类型选择2.2.2 配置远程服务器此时成功地创建了一个空项目,点击“Tools”->“Start SSH session”,打开远端服务器终端,用户可以通过在此终端中输入指令,完成想要进行的操作。如图2-16所示。图2-16 启动远端服务器终端之后点击要打开的服务器,打开服务器终端窗口。如图2-17所示。图2-17 服务器选择成功打开远端服务器终端窗口,可以通过该窗口输入指令,如图2-18所示。图2-18 打开远程服务器终端之后点击“Tools”->“Deployment”->“Configuration”,如图2-19所示。图2-19 打开Configuration界面打开Configuration界面,选择相应的服务器,进入“Mappings”界面,“Local path”为本地项目的路径,“Deployment path”为项目的远端路径,选择远端服务器的项目路径,所谓远端路径,就是本地项目上传到服务器的对应路径,选择完毕后点击OK完成远端路径配置即可,如图2-20所示。图2-20 配置远端服务器项目映射路径2.2.3 配置项目SDK按照图2-21,打开“Project Structure…..”,也可通过快捷键Ctrl+Alt+Shift +S打开对应界面,配置项目SDK。图2-21 配置SDK进入界面后点击“SDKs”,之后点击“+”->“Add python SDK…”,增加SDK,如图2-22所示。图2-22 增加SDK随后点击“SSH Interpreter”,选择相应的服务器,之后会自动检测远端服务器的环境,其中interpreter为远端python解释器的路径,Name由用户自行设置,用于区分多种远端解释器,检测完毕之后点击OK退出当前界面,如图2-23所示。图2-23 检测远端环境之后点击Project,选择新增的SDK,之后点击Apply完成SDK设置,如图2-24所示。图2-24 项目解释器设置之后点击“Modules”->“Dependencies”,选择新增的SDK,点击ok完成设置,如图2-25所示。图2-25 模型依赖设置点击“Tools”->“Deployment”->“Automatic Upload”,如图2-26所示。图2-26 设置自动上传选择要上传的服务器,此处的服务器选择与mapper处选择的服务器必须保持一致,如图2-27所示。设置完毕自动上传后,在MindStudio中修改某一文件之后,使用Ctrl+s快捷键即可自动将修改的文件在服务器上进行更新。图2-27 自动上传服务器选择2.2.4 配置MindX SDK 点击“Ascend”>MindX SDK Manager,进入MindX SDK配置界面,如图2-28所示。图2-28 MindX SDK配置界面入口点击install SDK,进入SDK路径选择界面,如图2-29所示。图2-29 SDK配置界面进入SDK路径选择界面,“Remote Connection”为远端服务器选择,“Remote CANN location”为远端CANN路径,该路径与第2.2节所述路径一致。“Remote SDK location”为远端SDK路径。“Local SDK location”为本地SDK将会安装的路径。全部选择完毕后,点击“OK”进入下一步。如图2-30所示。图2-30 SDK路径选择从远端获取SDK,如图2-31所示。图2-31 从远端获取SDKSDK配置完成,集成开发环境搭建完成,如图2-32所示。图2-32 SDK配置成功3. 模型介绍3.1 介绍使用TSM模型,基于Kinetics-400数据集,在MindX SDK环境下实现视频分类功能。将测试视频传入脚本进行前处理,模型推理,后处理等功能,最终得到模型推理的精度和性能。3.2 代码目录结构与说明├── TSM ├── README.md // 所有模型相关说明 ├── model ├── pth2onnx.py // 转onnx模型脚本 ├── onnx2om.sh // 转om模型脚本 ├── pth2onnx1.py // 在线模型转onnx模型脚本 ├── onnx2om1.sh // 在线模型转om模型脚本 ├── label ├── kinetics_val.csv // label文件 ├── download_data ├── k400_extractor.sh // 解压数据集脚本 ├── online_infer.py // 在线推理精度脚本 ├── offline_infer.py // 离线推理精度脚本 ├── speed.py // 离线单视频推理NPU性能脚本 ├── speed_gpu.py // 离线单视频推理GPU性能脚本3.3 环境依赖推荐系统为ubuntu 18.04,环境依赖软件和版本如下表:软件名称版本cmake3.5+mxVision5.1RC2Python3.9torch1.10.0ffmpeg3.4.8此处以ffmpeg的安装为例,执行以下命令安装wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xzxz -d ffmpeg-git-amd64-static.tar.xztar -xvf ffmpeg-git-amd64-static.tarcd ./ffmpeg-git-20190424-amd64-static./ffmpeg4. 离线推理4.1 数据集下载参考PaddleVideo/k400.md at develop · PaddlePaddle/PaddleVideo (github.com)中的Kinetics-400数据集下载方式,在“TSM/download_data/”目录下准备“download.sh”脚本、"val_link.list"验证集链接列表文件以及“k400_extractor.sh”数据集解压脚本。之后将其上传到远端服务器,如图4-1所示。图4-1 将本地脚本同步到服务器通过MindStudio运行脚本,根据图4-2,进入“Edit Configurations”界面。图4-2 运行设置入口进入界面后,选择“Ascend App”,“Name”为用于自行设置,用于区分不同的运行程序,“Deployment”为要运行的服务器;“Executable”为要运行的脚本或代码;“Command Arguments”为指令参数,参数val_link.list为需要下载的数据集压缩包链接,如图4-3所示。即运行该脚本或代码传入的参数; “Environment Variables”为环境变量的设置,完成以上所有设置后点击“Apply”即可。如图4-4所示。图4-3 val_link.list内容图4-4 运行设置设置完毕后,点击运行按钮即可,如图4-5所示。图4-5 运行下载数据集脚本下载脚本运行完毕后,数据集压缩包下载完成,共有三个文件“var_part1.tar”、“var_part2.tar”和“var_part3.tar”,运行结果如图4-6所示。图4-6 数据集下载完成结果之后进行数据解压工作,将数据解压到TSM/data目录下,对于解压脚本采用同样的操作,解压脚本不需要传入命令参数,如图4-7所示。图4-7 解压脚本运行设置之后点击运行按钮,运行数据解压脚本,运行完毕后,运行结果如图4-8所示。图4-8 数据解压脚本运行结果数据集含有共计400个类别的视频,数据集目录结构如下:├── TSM ├── data ├── abseiling ├── air_drumming ├── ... ├── zumba4.2 数据集预处理在代码根目录下创建文件夹“tools”和“ops”;在链接mit-han-lab/temporal-shift-module: [ICCV 2019] TSM: Temporal Shift Module for Efficient Video Understanding (github.com)下载代码包,并且将代码包中"tools"目录下的"vid2img_kinetics.py"、"gen_label_kinetics.py"、"kinetics_label_map.txt"三个文件拷贝至目录TSM/tools下,tools目录结构如下:├── TSM ├── tools ├── gen_label_kinetics.py // label生成脚本 ├── vid2img_kinetics.py // 视频抽帧脚本 ├── kinetics_label_map.txt将代码包中“ops”目录下的"basic_ops.py"、"dataset.py"、"dataset_config.py"、"models.py"、"temporal_shift.py"、"transforms.py"六个文件拷贝至目录TSM/ops下,ops的目录结构如下: ├── ops ├── basic_ops.py ├── dataset.py // 数据集构建脚本 ├── dataset_config.py // 数据集配置脚本 ├── models.py // 模型搭建脚本 ├── temporal_shift.py ├── transforms.py将代码包中"online_demo"目录下mobilenet_v2_tsm.py 放在参考设计代码根目录的TSM/model 目录下。model的目录结构如下:├── TSM ├── model ├── pth2onnx.py // 转onnx模型脚本 ├── onnx2om.sh // 转om模型脚本 ├── mobilenet_v2_tsm.py // 在线模型脚本 ├── pth2onnx1.py // 在线模型转onnx模型脚本 ├── onnx2om1.sh // 在线模型转om模型脚本打开"vid2img_kinetics.py"文件,该脚本为抽帧脚本,为了充分的利用内存,在代码中每对一个视频抽帧结束后,就将原视频删除,以此来节约内存,class_process为抽帧函数,抽帧结束之后,利用shutil.rmtree删除原视频。同时将最后两行代码注释,如图4-9所示。图4-9 修改代码"vid2img_kinetics.py"之后进行抽帧,代码需要传入两个参数,第一个参数../data为视频所在的路径,其中../代表该脚本所在目录的上一级目录,即根目录TSM,所以此处的视频所在路径可等效为TSM/data,第二个参数../dataset为图片储存路径。在运行设置时需要在命令参数处输入相应的路径。如图4-10所示。图4-10 抽帧脚本运行设置抽帧脚本运行结束后,结果图4-11所示,代表抽帧完成。图4-11 抽帧运行结果抽帧结束之后,在根目录下创建labels目录,用于存放标签,运行标签生成代码gen_label_kinetics,在目录TSM/labels下生成标签,生成标签脚本运行设置如图4-12所示,不需要传入参数,标签生成结果如图4-13所示。图4-12 标签生成脚本运行设置图4-13 标签生成结果4.3 模型转换下载离线模型:TSM_kinetics_RGB_resnet50_shift8_blockres_avg_segment8_e50.pth将下载好的模型放在“${TSM代码根目录}/model”目录下。之后运行模型转换代码将pth模型转换为onnx模型,模型转换脚本为TSM/model目录下的pth2onnx.py脚本,需要传入参数kinetics RGB,kinetics代表kinetics-400数据集,RGB代表RGB图像,这是因为在离线推理的过程中,将8帧图片作为一个输入进行离线推理,因此参数需要设置为kinetics RGB,模型转换脚本运行设置如图4-14所示。图4-14 pth转onnx运行设置代码运行完成后,在model目录下形成了onnx模型,代码运行结果如图4-15所示。图4-15 onnx模型转换完成点击“Ascend”->“Model Converter”打开模型转换工具,如图4-16所示。图4-16 打开模型转换工具图4-17 转om模型界面打开模型转换界面之后,“Model File”部分为onnx模型,“Model Name”为模型名称,“Output Path”为生成模型的路径,“Target SoC Version”,“Input Format”以及“Type”等信息从onnx2om.sh脚本中获取,如图4-18所示。图4-18 onnx2om脚本onnx模型的shape从脚本pth2onnx脚本中获取,如图4-19所示。图4-19 pth2onnx脚本输入相应的信息之后点击“Next”进行检验,如图4-20所示。图4-20 模型检验模型检验完毕之后点击“Next”进入下一步,“Data Preprocessing”代表是否有数据预处理过程,在本项目中不进行数据预处理,如图4-21所示。图4-21 设置是否进行数据预处理进入界面后,“Operator Fusion”选项为是否融合运营商“Auto Tune Mode”选项为是否设置为自动调优模式;“Additional Arguments”为命令参数;“Environment Variables”为环境变量,完成以上设置之后点击finish,如图4-22所示。图4-22 模型转换相关设置运行完成后,模型转换完成,运行结果如图4-23所示。图4-23 模型转换运行结果4.4 Pipeline流程编排4.4.1 创建Pipeline文件在MindStudio上方菜单栏中找到并单击“Ascend > MindX SDK Pipeline”,创建新的pipeline文件,如图4-24所示。图4-24 创建新的pipeline文件此时成功地创建了一个Pipeline文件,如图4-25所示。图4-25 成功创建Pipeline文件4.4.2 设置插件依次找到以下插件,并从左侧插件栏拖入:appsrcmxpi_tensorinfermxpi_dataserializeappsink如图4-26所示。图4-26 拖入所需插件之后通过拖动插件块边框的连接点,将各模块按序连接,如4-27所示。图4-27 按序连接各个插件4.4.3 配置插件参数点击appsrc插件,将在右侧显示插件相关属性,设置属性“blocksize“为409600,如图4-28所示。图4-28 配置appsrc插件参数点击mxpi_tensorinfer插件,在右侧显示属性,由于数据来自appsrc0插件,设置“dataSource”为“appsrc0”,同时在“modelPath”中选择TSM.om模型,如图4-29所示。图4-29 配置mxpi_tensorinfer插件参数点击mxpi_dataserialize插件,右侧显示其属性,设置“outputDataKeys”为“mxpi_tensorinfer0”,如图4-30所示。图4-30 配置mxpi_dataserialize插件参数点击appsink插件,在右侧的属性面板中修改参数“blocksize”为4096000,如图4-31所示。图4-31 配置sppsink插件参数选中全部插件,右击鼠标,在出现的选项中选取“Set Stream Name”,如图4-32所示。图4-32 进入设置名称设置名称为TSM,如图4-33所示。图4-33 文件命名再次选中全部插件,右击鼠标,在出现的选项中选取“Set Device Id”,如图4-34所示。图4-34 进入Set Device Id界面设置Device Id为0,如图4-35所示。图4-35 设置设备Id4.4.4 Pipeline文件保存单击下方工具栏中的“save as“,命名为“TSM”,单击“Save”保存当前pipeline,如图4-36、4-37所示。图4-36 保存Pipeline文件图4-37 命名Pipeline文件保存完毕后在对应目录下即可找到生成的Pipeline文件。图4-38 保存Pipeline文件4.5 离线推理和精度检测在这部分完成的是离线推理和精度检测工作,修改${TSM代码根目录}/ops/dataset_config.py 脚本中参数ROOT_DATASET、filename_imglist_train和filename_imglist_val,若仅进行离线精度测试则可忽略filename_imglist_train设置。其中ROOT_DATASET为生成标签的目录,设置为“./labels/”,filename_imglist_val为验证集。如图4-39所示。图4-39 dataset_config.py脚本代码设置从mindxsdk-referenceapps: MindX SDK Reference Apps - Gitee.com下载脚本“offline_infer.py”, ”online_infer.py”, ”speed.py” 置于项目根目录下,在项目根目录下运行离线推理脚本offline_infer.py进行离线推理和精度检验,离线推理脚本offline_infer.py的核心部分,如图4-40所示。该脚本利用for循环对下载完毕并且抽帧完毕的13416个视频逐一地进行离线推理,在离线推理的过程中,将每8帧合起来作为一个输入投入模型进行推理,获得推理结果之后,与生成的标签值进行比对,观察二者是否一致,用推理正确的视频数除以总的视频数,以此获得模型的精度信息,每完成一个视频的推理就输出一次精度信息,如代码第130行所示,直至所有视频推理完毕之后,得到最终的精度。图4-40 offline_infer.py核心代码在运行离线推理的脚本时需要输入命令参数kinetics,代表着输入的数据集是kinetics-400数据集,运行设置如图4-41所示。图4-41 offline_infer.py运行设置运行离线推理脚本,获得精度为72.31%,符合精度偏差范围,精度达标,结果如图4-42所示。图4-42 精度检测结果4.6 SDK性能测试将用来测试的单视频放于参考设计代码根目录下,如视频“test.mp4”,打开性能测试脚本“speed.py”修改参数,’./test_speed.mp4’为测试视频,需要声明的是测试视频类别需要在kinetics-400数据集的400个种类内且视频长度至少为3s。具体代码以及修改如图4-43所示。图4-43 性能测试代码修改运行speed.py脚本进行性能测试,不需传入参数,运行设置如图4-44所示。图4-44 性能测试脚本运行设置运行性能测试脚本后,获得的单视频推理性能为0.189sec/video,性能测试结果如图4-45所示。图4-45 性能测试结果5. 在线推理5.1 安装视频流工具下载安装包:cid:link_9将压缩包放置在{根目录}/live555/目录下,打开MindStudio远程终端界面,在界面中输入以下指令,将压缩包解压:tar -zxvf live555.tar.gztar -zxvf .tar.gz解压后目录为:├── live555 ├── live├── live.tar.gz├── live555.tar.gz├── starNvr.sh解压操作如图5-1所示。图5-1 解压操作之后进行编译安装操作,在上一步操作的基础上执行命令:cd live/./genMakefiles linuxmake注意第二条指令后的参数是根据live/下的config.<后缀>得到的,与服务器的架构有关。执行完毕之后就会在mediaServer 目录下生成一个live555MediaServer可执行文件。具体操作图5-2所示。图5-2 安装操作5.2 生成视频流在安装完成之后,将“startNvr.sh”、“live555MediaServer”以及要起流的视频“jester.264”放在同一目录之下。├── hailiang2 ├── starNvr.sh├── live555MediaServer├── jester.264之后在远程终端中输入指令:ps -ef | grep live555MediaServer查看已经占用的端口号,选取没有占用的端口进行起流,如图5-3所示。5-3 查看已经占用的端口如图5-3所示,1208端口并未被占用,因此选择1208端口进行起流,在远程终端中输入指令./startNvr.sh 1208进行起流,如图5-4所示。图5-4 起流操作起流完毕之后,再次输入指令查看端口占用情况,出现:00:00:00 ./live555MediaServer 1208证明起流成功,如图5-5所示。图5-5 起流成功5.3 模型转换下载在线模型mobilenetv2_jester_online.pth.tar,将下载好的模型放在参考设计代码根目录下的“model”目录下。将模型转换为onnx模型,运行“pth2onnx1”脚本将pth转化为onnx模型,该脚本不需要传入参数,脚本运行设置如图5-6所示。图5-6 pth转换onnx模型脚本运行设置Pth转换为onnx模型转换成功。结果如图5-7所示。图5-7 模型转换结果onnx模型转换为om模型的操作步骤与第4.3节中所述一致。打开onnx模型转换界面,如图5-8所示。导入onnx模型,其中“Model File”为在线推理的onnx模型文件,“Model Name”为模型的名称,“Output Path”为转换成功后模型的输出路径,“Target SoC Version”为目标SoC版本,“Input Format”为输入格式,“Type”为种类,以上信息从onnx2om1.sh脚本中获取,如图5-9所示。而“shape”为模型的输入维度,该信息从pth2onnx1.sh脚本中获取,如图5-10所示。图5-8 模型转换相关设置图5-9 onnx2om1.sh脚本图5-10 pth2onnx1.sh脚本该模型转换过程不需设置数据预处理,直接点击“Next”即可,如图5-11所示。图5-11 数据预处理设置下一界面的相关参数已经在第4.3节做过介绍,“Operator Fusion”选项为是否融合运营商“Auto Tune Mode”选项为是否设置为自动调优模式;“Additional Arguments”为命令参数;“Environment Variables”为环境变量,本项目中不需进行设置,因此点击“finish”即可,如图5-12所示。图5-12 模型转换设置完毕模型转换完成,在指定目录生成om模型,结果如图5-13所示。图5-13 om模型生成结果5.4 Pipeline流程编排在线推理部分的Pipeline流程编排与离线推理部分保持一致,在此不做介绍,详情参见本文第4.4节内容。5.5 程序测试打开TSM/online_infer.py在线推理脚本,配置rtsp地址,其中192.168.88.110为服务器,而1208为成功起流的端口,jester.264为用于在线推理的视频,如图5-14所示。图5-14 online_infer.py代码修改在线推理脚本的核心代码如图5-15所示,在线推理与离线推理的不同之处在于:离线推理是将每8个帧合起来作为一个输入,而在线推理是将1个帧和上一个输出结果合并起来作为新的输入,将新的输入放入模型中得到输出之后再和下一帧合并得到新的输出,以此类推,能够实时地推理出视频中的手势,其核心代码的主要思路是保存输出结果,与新的一帧合并,再次输入模型,获得新的输出,循环反复,对应的代码就是116行之后的内容。图5-15 在线推理脚本核心代码运行online_infer.py脚本,其运行设置如图5-16所示。图5-16在线推理脚本运行设置运行脚本后,开始进行在线推理,用于推理的视频为一系列手势,脚本运行的结果如图5-17所示。图5-17在线推理脚本运行结果6. FAQ在使用MindStudio完成项目的过程中,遇到如下几个问题,并且给出对应的解决方案。远程CANN同步失败第一次下载的MindStudio版本为最新版本,与服务器上的CANN版本不一致,导致同步失败,更换MindStudio版本之后,便可以顺利同步。这一点在第2.1节中有提及到。2. onnx模型转换om模型无法加载模型问题在利用MindStudio进行模型转换时,由于本项目的离线推理模型内存较大,所以在加载onnx模型的过程中总是无法加载,询问过工程师老师后,得知可能是网络的问题,更换了稳定的网络之后便可以顺利加载onnx模型。3. 数据集占用内存过大如何处理由于在进行离线推理时需要下载数据集,数据集占用内存非常巨大,会出现内存不足的情况下,导致抽帧不完全,造成精度不满足。一开始我尝试抽完一个视频,就删除一个视频,以此来解决内存问题,但是之后发现是抽帧图片总内存过大,一个盘放不下,为了解决该问题,建议将数据集放在其他盘下,如果其他盘的内存也无法完全容纳,则可以将数据分成两部分,放在两个盘下,比如将part1和part2放在一个盘里,part3放在另一个盘里,在生成标签时生成两次标签,之后将两次标签合并即可。4. 服务器上无摄像头如何进行在线推理利用华为拉流工具进行起流,将mp4格式的视频转化为264格式视频,之后在指定的空闲端口起流,成功起流之后即可进行在线推理。5. 在Pipeline编辑时左侧插件栏显示空白出现这种问题的原因在于SDK的版本不匹配问题,需要重新下载匹配的SDK,在远端服务器上重新安装,即可解决问题,安装指令如下:chmod +x Ascend-mindxsdk-mxvision_3.0.RC2.1_linux-aarch64.run./Ascend-mindxsdk-mxvision_3.0.RC2.1_linux-aarch64.run –install6. MindStudio点击运行脚本后长时间无响应在开发的过程中,可以顺利打开远端服务器的终端,但是运行脚本时一直无响应,对于这个问题,我认为一般是网络问题,解决方案是重新启动MindStudio,等待右下角的所有进程全部结束后,重新运行脚本,稍等片刻即可正常运行。7. 在线推理中的问题由于需要利用拉流工具来代替摄像头的作用,在起流的时候一定要提前查看被占用端口,选择未被占用的端口,否则会导致视频混乱或者端口冲突,导致最终的在线推理的结果错误。以上为在开发过程中遇到的困难,倘若读者在实践的过程中遇到了其他的困难,可以登陆昇腾社区进行求助获取解决方案。华为云论坛_云计算论坛_开发者论坛_技术论坛-华为云 (huaweicloud.com)
  • 【融合通信】视讯解决方案定位和特点
    视讯解决方案是面向政府、交通、安全、金融、大企业、中小企业等领域,提供高临场感的远程会议、桌面及移动视频接入、企业流媒体应用等场景下的视频会议整体解决方案。图1 视讯解决方案极致体验支持4K*2K(摄像机、终端、MCU)和1080p60超高清体验,保障最佳的清晰度,最高的流畅度。系统支持最新的基于H.265协议的终端接入,相同效果下可为用户节省一半带宽。用户可通过多种方式加入会议,包括多功能智真、高清会议室、桌面终端、移动终端。系统支持可自动根据终端音视频能力进行编解码转换、码率适配、带宽适配,保障用户接入的最优效果。支持华为SEC6.0智能算法,具备SEC(Super Error Concealment)超强纠错、IRC(Intelligent Rate Control)智能调速、ROD(Reconnect On Disconnect)断线保护、ARQ(Automatic Repeat Request)丢包重传等核心技术,使系统具备超强抗丢包的最佳网络适应性,可为用户提供基于IP网络的最佳体验。系统支持多流转发模式,提升媒体资源利用率,提升多流终端使用体验。用户可以自由选看远端会场,且自行组成一大多小多画面。安全可靠大型分布式组网场景下,系统可通过SMC的MCU资源池管理机制实现区域内和区域间的负载均衡和冗余备份,提升整网的可靠性。异常离线自动重呼,会议中IP线路终端异常离线时,SMC支持自动再次外邀该离线终端。通信链路重连,SMC与MCU、录播服务器的TCP链路断开后,支持再次链路重连,并进行信息同步处理。支持网元级数据备份,减少在出现故障时数据丢失的风险。信令流、媒体流和承载网络线路加密,提供高安全性。智能易用无线WIFI接入,无线辅流,无线麦克风。只需连接1根电源连线,即可参与多功能视频会议,快速部署,简单易用,省时省力。新一代终端集成智能语音助手,基于自然语音交互,彻底摆脱遥控器的繁琐操作和会议控制复杂的问题。灵活组网,满足政府行业客户、大企业客户、中小企业客户的应用场景。软件化部署,弹性扩展。统一管理入口,提升运维效率。开放互联系统兼容支持H.265/H.264/H.263等主流视频协议,以及SIP/H.323等通信协议。支持满足SIP/H.323标准的主流视讯终端的接入,实现无缝的互联互通。提供开放的API(Application Programming Interface)/SDK(Software Development Kit)供系统集成商使用,实现会议预约、会议控制等能力的集成。
  • [问题求助] 华为rtsp流h5播放求助
    后台已实现登录并获取到rtsp地址。北向登录是如“https://ip:18531/loginInfo/login/v1.0”接口,然后保活,RTSP都能获取到了,前端BS开发用vlc插件也能开发预览到视频了。但VLC插件的方式需要IE浏览器,要装插件。我看了网上说用video.js不过这个要把rtsp进行转码。但在网上找个Rtsp地址 rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4,用webrtc可以,用ff可以;但华为这套就是不行。不确定 是不是用错了。想问大家,你们是基于什么来实现h5播放华为rtsp流的?后台用什么技术(JavaCV?),前端用哪啥(video.js?)
总条数:70 到第
上滑加载中