-
因图像分析需要,相机设置是2560×1440分辨率,H.265编码。设备是华为昇腾Atlas系列,系统Ubuntu 20.04,Python 3.8,OpenCV 4.5。用下面的代码读取时会出现花屏、掉帧,而且内存占用特别大。我试过把相机采集和图像分析分成两个线程,也试过用华为VDEC做硬件解码,但VDEC的API一堆问题,有些函数根本找不到,改来改去也没解决根本问题。不知道有没有人处理过类似的问题?该怎么稳定地读取这种高分辨率H.265的RTSP流?或者有没有别的方法建议? import cv2import threadingimport queuefrom pupil_apriltags import Detectorimport mathfrom datetime import datetimeimport timeimport tracebackimport os #---------- 摄像头采集线程类 ----------class CameraCaptureThread(threading.Thread): """ 摄像头采集线程类 用法: capture_thread = CameraCaptureThread() capture_thread.daemon = True capture_thread.start() """ def __init__(self, camera_id): """ 初始化摄像头采集线程 Args: camera_id (int): 摄像头ID,默认0 """ super().__init__() self.camera_id = camera_id # 摄像头ID self.cap = None # 摄像头对象 self.frame_queue = queue.Queue(maxsize=2) # 帧队列最大长度设为2,避免旧帧堆积,保证实时性 self.running = False # 线程运行状态标志 def run(self): """ 线程入口函数 打开摄像头并循环读取帧,将帧放入队列 """ # 打开摄像头 self.cap = cv2.VideoCapture(self.camera_id, cv2.CAP_FFMPEG) # 设置 FFmpeg 内部缓冲只保留最新一帧 self.cap.set(cv2.CAP_PROP_BUFFERSIZE, 2) # MJPG 编码 #self.cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M','J','P','G')) # 如果打开失败,则退出线程 if not self.cap.isOpened(): print("无法打开摄像头") return self.running = True while self.running: # -----1.读取一帧图像----- ret, frame = self.cap.read() if not ret: print("无法读取帧,尝试重连...") self.cap.release() time.sleep(1) self.cap = cv2.VideoCapture(self.camera_id, cv2.CAP_FFMPEG) continue # 帧队列满时,丢弃最早的帧,保证实时性 if self.frame_queue.full(): _ = self.frame_queue.get() # 弹出最早帧 self.frame_queue.put(frame) # 放入最新帧 del ret, frame # 释放内存 def stop(self): """ 停止线程 """ self.running = False if self.cap: self.cap.release() if __name__ == '__main__': # 摄像头地址 camera_id = "rtsp://xx" capture_thread = None try: # 启动采集线程 capture_thread = CameraCaptureThread(camera_id=camera_id) capture_thread.daemon = True capture_thread.start() time.sleep(2) # 从队列里取一帧并保存 if not capture_thread.frame_queue.empty(): frame = capture_thread.frame_queue.get() # 获取当前日期时间 current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 在图片右上角添加日期时间文字 cv2.putText(frame, current_time, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (255, 255, 255), 2) # 保存图片 filename = "security_camera.jpg" cv2.imwrite(filename, frame) print(f"已保存图片: {filename}") else: print("没有获取到帧") except Exception as e: traceback.print_exc() finally: # 确保释放资源 if capture_thread: capture_thread.stop() capture_thread.join() time.sleep(0.2) cv2.destroyAllWindows() print("摄像头线程已关闭")
-
2025 年广东省增值电信 ICP、EDI 许可证申请流程主要包括前期准备、材料提交、审核、领证等环节,具体如下: 前期准备:工商注册:确保公司为依法设立的独立法人,注册资本最低限额为 100 万元人民币,营业执照经营范围需包含 “第二类增值电信业务” 或 “经营电信业务”。域名备案:通过工信部备案系统完成域名备案,域名持有人需与申请企业一致,且域名剩余有效期应不少于 6 个月。网站搭建:若申请 EDI 许可证,需搭建已完成功能审核并具备完整交易功能的电商类网站;若申请 ICP 许可证,网站需符合相关要求。同时,服务器需部署在中国内地,建议优先选择广东省内服务器,并签订服务器托管协议或云服务合同。人员社保:为至少 3 名员工缴纳社保,并准备好近 1 个月的社保证明。材料提交:准备材料:参照广东省通信管理局要求,准备营业执照副本扫描件、法人身份证扫描件、公司章程、域名证书及备案截图、网络接入协议、申请网站首页全截图、三名员工社保证明等材料,所有材料需为彩色扫描件且确保清晰、完整。线上提交:访问工业和信息化部政务服务平台,注册账号并完善公司主体信息,点击 “电信业务经营许可申请”,根据业务范围选择 “省内许可证任务表”,填写申请表并上传相关材料。审核阶段:初审:广东省通信管理局在 5 个工作日内对提交的材料进行初审,主要核验企业基础信息,如发现材料不完整或不符合要求,会通知企业补充或修改。复审:初审通过后,进入复审阶段,工信部会对技术方案、业务合规性及安全措施等进行审核,一般需要 20-30 个工作日,部分企业可能还需经过专家评审。在此期间,企业可能需要配合管理部门提供补充材料或解释说明相关问题。领证与后续维护:领证:审核通过后,企业可领取电子版增值电信 ICP 或 EDI 许可证,许可证有效期为 5 年。年报:获证后,企业需每年 1-3 月提交年报,确保业务持续合规。同时,还需关注许可证的变更、续期、注销等事项,按照相关规定进行操作。
-
A river of misty water shines in the clear haze, and people on both sides of the river connect the painted eaves to protect the lotus cluster from a period of light in autumn
-
-
[问题求助] Atlas 200 Dk+ARM+ubuntu18.04+Mxvision-2.0.3,想对RTSP视频流进行推理,一直没找到合适的例子,streamManagerApi.GetResult()里面是要传什么参数呢?对RTSP流进行推理一直报错,RTSP流是没问题的,自己用VLC看了是有的,有什么合适的例子吗,看帖子里面的很多链接都过期了,自己找了半天也没找到合适的例子用的Yolov5-5.0版本Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg W1018 09:12:42.802793 7965 ConfigUtil.h:105] [1016][Object, file or other resource doesn't exist] Fail to read (CHECK_MODEL) from config, default is: 1 W1018 09:12:44.958891 8025 DvppWrapper.cpp:266] channelId:0 frameId:2 decode failed W1018 09:12:44.961475 8025 DvppWrapper.cpp:266] channelId:0 frameId:3 decode failed W1018 09:12:44.998505 8025 DvppWrapper.cpp:266] channelId:0 frameId:4 decode failed W1018 09:12:45.077029 8025 DvppWrapper.cpp:266] channelId:0 frameId:5 decode failed W1018 09:12:45.117029 8025 DvppWrapper.cpp:266] channelId:0 frameId:6 decode failed W1018 09:12:45.157472 8025 DvppWrapper.cpp:266] channelId:0 frameId:7 decode failed W1018 09:12:45.198191 8025 DvppWrapper.cpp:266] channelId:0 frameId:8 decode failed W1018 09:12:45.239210 8025 DvppWrapper.cpp:266] channelId:0 frameId:9 decode failed W1018 09:12:45.269130 8025 DvppWrapper.cpp:266] channelId:0 frameId:10 decode failed W1018 09:12:45.271580 8025 DvppWrapper.cpp:266] channelId:0 frameId:11 decode failed W1018 09:12:45.310590 8025 DvppWrapper.cpp:266] channelId:0 frameId:12 decode failed W1018 09:12:45.392566 8025 DvppWrapper.cpp:266] channelId:0 frameId:13 decode failed W1018 09:12:45.433604 8025 DvppWrapper.cpp:266] channelId:0 frameId:14 decode failed W1018 09:12:45.473387 8025 DvppWrapper.cpp:266] channelId:0 frameId:15 decode failed W1018 09:12:45.514204 8025 DvppWrapper.cpp:266] channelId:0 frameId:16 decode failed W1018 09:12:45.555334 8025 DvppWrapper.cpp:266] channelId:0 frameId:17 decode failed W1018 09:12:45.594554 8025 DvppWrapper.cpp:266] channelId:0 frameId:18 decode failed W1018 09:12:45.597002 8025 DvppWrapper.cpp:266] channelId:0 frameId:19 decode failed W1018 09:12:45.635776 8025 DvppWrapper.cpp:266] channelId:0 frameId:20 decode failed W1018 09:12:45.718045 8025 DvppWrapper.cpp:266] channelId:0 frameId:21 decode failed W1018 09:12:45.757290 8025 DvppWrapper.cpp:266] channelId:0 frameId:22 decode failed W1018 09:12:45.798099 8025 DvppWrapper.cpp:266] channelId:0 frameId:23 decode failed W1018 09:12:45.839401 8025 DvppWrapper.cpp:266] channelId:0 frameId:24 decode failed W1018 09:12:45.880497 8025 DvppWrapper.cpp:266] channelId:0 frameId:25 decode failed W1018 09:12:45.911729 8025 DvppWrapper.cpp:266] channelId:0 frameId:26 decode failed W1018 09:12:45.913880 7965 MxsmStream.cpp:829] Failed to send custom eos to the Stream. W1018 09:12:45.914935 7965 MxsmStream.cpp:841] Failed to flush the Stream data. W1018 09:12:45.922997 8025 DvppWrapper.cpp:266] channelId:0 frameId:27 decode failed W1018 09:12:45.958940 8025 DvppWrapper.cpp:266] channelId:0 frameId:28 decode failed
-
使用MindStudio进行FOMM模型推理使用MindStudio对FOMM模型进行ONNX推理本次实验使用MindStudio开发工具进行SSH远程连接、编译、开发等操作,MindStudio的安装配置请参照:cid:link_0MindStudio提供了AI开发所需的一站式开发环境,支持模型开发、算子开发以及应用开发三个主流程中的开发任务。依靠模型可视化、算力测试、IDE本地仿真调试等功能,MindStudio能够帮助您在一个工具上就能高效便捷地完成AI应用开发。MindStudio采用了插件化扩展机制,开发者可以通过开发插件来扩展已有功能。一、模型简介FOMM模型最早是Aliaksandr Siarohin等人在发表的《First Order Motion Model for Image Animation》一文中提到的用于图像动画化(image animation)的模型。图像动画化任务是指给定一张原图片和一个驱动视频,通过视频合成,生成主角为原图片,而动画效果和驱动视频一样的视频。以往的视频合成往往依赖于预训练模型来提取特定于对象的表示,而这些预训练模型是使用昂贵的真实数据注释构建的,并且通常不适用于任意对象类别。而FOMM的提出很好的解决了这个问题。FOMM主要依赖于两个模型:kp detector和generator。顾名思义,第一个模型的作用是关键点检测,第二个模型的作用是视频生成。而本次FOMM模型推理实验也是主要围绕这两个模型来进行。本文详细介绍了在310P(昇腾显卡)和T4(nvidia显卡)两种机器上,使用MindStudio对FOMM模型进行onnx模型推理的具体步骤。二、MindStudio项目初始化1 新建项目首先在Name一栏输入项目名:然后我们需要配置项目的CANN工具包依赖。尤其是我们第一次使用MindStudio的时候,这一步是不可省略的。选择CANN Version一栏后面的Change选项,配置我们项目的CANN工具包依赖。在该界面,首先选择我们的项目开发所使用的服务器,然后选择服务器上CANN工具包的安装路径,最后点击Finish,保存配置。MindStudio在创建新项目这一界面为我们提供了一个昇腾APP应用Pyhton框架空工程,这能帮助我们更加方便地管理和开发我们的应用,即下图中的ACL Project(Python),我们选择这一项,点击Finish。2 下载github源码仓进入项目界面后在底部选择“终端”,执行如下命令:git clone cid:link_2等待下载完成这里为了方便,我们将下载下来的源码从first-order-model文件夹中提出来,直接放在FOMM1(我们的项目目录)下,并删除空的first-order-model文件夹。3 配置conda环境,安装项目所需依赖源码仓的readme建议使用pip install -r requirements.txt安装项目所需依赖。但由于其依赖版本过低,所以此处不建议直接使用源码仓中的requirements.txt进行安装。具体依赖和版本如下:依赖名称版本cloudpickle2.1.0cycler0.11.0dask2022.2.0decorator5.1.1imageio2.21.0imageio-ffmpeg0.4.7kiwisolver1.4.4matplotlib3.3.2mmcv-full1.5.0networkx2.7.1numpy1.21.5onnx1.12.0onnxruntime1.12.1opencv-python4.6.0.66pandas1.3.5pillow9.2.0pycparser2.21pyparsing3.0.9python3.7pytz2022.1pytorch1.11.0pywavelets1.3.0pyyaml6.0scikit-image0.18.0scikit-learn1.0.2scipy1.7.3six1.16.0skl2onnx1.12sympy1.10.1toolz0.12.0torchaudio0.11.0torchvision0.12.0tqdm4.64.0其中需要注意的是,scikit-image的版本必须低于0.19.0。另外,根据源码仓readme,需要额外从github上下载一些依赖包:在我们的项目目录下运行如下命令:git clone https://github.com/1adrianb/face-alignmentcd face-alignmentpython setup.py installcd ..git clone --recursive https://github.com/AliaksandrSiarohin/pose-evaluationgit clone https://github.com/facebookresearch/maskrcnn-benchmarkcd maskrcnn-benchmarkpython setup.py install4 下载数据集为了方便下载,这里提供了已经预处理好的taichi数据集(.mp4格式)。cid:link_4提取码:mind下载整个taichi文件夹,将下载后的taichi文件夹放入FOMM1/data/。三、配置远程服务器1 添加SSH配置点击左上角file,选择setting在左侧选择tools,在下拉菜单中选择SSH Configurations,点击“+”在新建的空白配置页面输入服务器ip,用户名,密码;勾选save password保存密码;点击test connection测试是否能连接服务器;最后点击下面的ok配置完成。配置好SSH服务器后回到项目界面,点击上方菜单栏中的tools,在下拉菜单中点击start SHH session,选择刚才配置好的SSH连接,即可成功连接SSH服务器,并弹出远程操作终端:2 管理CANN工具包如果我们在使用过程中需要更换我们所要使用的CANN工具,则可按照以下步骤更换。首先,如下图所示,点击MindStudio界面上端的CANN manager按钮,打开CANN管理界面:按下图所示,先在弹出的界面选择change CANN,然后在新弹出的界面选择我们使用的远程服务器:然后如下图所示,选择服务器上CANN工具包安装的目录,我这里是/home/infname46/Ascend/ascend-toolkit/5.1.RC2,选择好后点击ok:最后点击finish,等待部署完毕即可:配置好后,重启MindStudio。3 部署项目至服务器在顶部菜单栏选择Tools,在下拉菜单中选择Deployment,再选择Configuration:在弹出的配置页面中,首先点击“+”,输入配置名称,点击OK:然后在右侧SSH configuration处选择项目部署的服务器,之后同样点击test Connection测试连接是否成功,然后选择Mappings配置项目映射目录:在mapping中配置路径映射关系,配置好后点击ok提交:最后,完成了服务器的一切配置之后,需要将项目部署到服务器上。在MindStudio项目界面,右键选择我们的项目,选择Deployment,Upload to,选择目标服务器:文件开始上传:最后,我们可以通过“Tools—Deployment—Automatic Upload”来设置自动部署。设置好自动部署后,每当我们在本地对程序进行修改后,按“Ctrl + S”保存,MindStudio便会自动将编辑过的文件自动上传至服务器。4 配置远程SSH解释器该步骤的目的是可以在本地的windows系统上使用MindStudio运行/调试在远程服务器上运行的程序。首先点击MindStudio右上角的齿轮,在弹出的列表中选择Project Structure:在弹出的设置界面,选择左侧菜单栏的SDK,点击“+”,选择Add Python SDK:在弹出的界面选择SSH Interpreter;选择项目部署的服务器;选择服务器上所使用的conda虚拟环境的安装路径;最后点击OK保存配置:5 设置项目的默认python环境首先进入project structure界面,左侧然后左侧选择project,再project的SDK选项下选择我们要使用的python环境,具体如下图:然后再选择project structure界面中的modules,在该界面配置modules SDK,额然后点击ok保存配置即可:四、模型转换1 生成onnx模型 在项目中创建以下目录:checkpointtaichi-onnxtaichi-onnx/oms然后根据作者提供的链接下载所需的.pth.tar格式的模型参数文件,保存在checkpoint文件夹中。模型参数文件的链接如下:cid:link_1编写将.pth.tar格式的checkpoint转化为onnx模型的程序get_onnx_bs1.py,放在项目根目录下。实现思路很简单,用源码仓提供的模型加载函数加载checkpoint模型,然后用torch.onnx.export导出onnx模型。代码中用到的util.load_checkpoints是从项目源码中提取出来的一个函数,其主要内容见下图:此外,因为目前onnx对某些pytorch中的算子还不支持,此项目中所涉及到的onnx不支持的算子包括:torch.inverse和torch.nn.functional.grid_sample。这两个算子需要我们用onnx支持的算子重新实现。其中inverse算子我们用自己实现的inverse_without_cat.py中的invmat函数代替;grid_sample算子用point_grid_my.py中的bilinear_grid_sample函数代替。inverse_without_cat.py和point_grid_my.py的具体内容如下:编辑好后将这两个程序放在项目目录下。导出onnx之前需要对以下python文件进行修改:将modules/dense_motion.py中的下图所示位置代码替换为:jacobian = torch.matmul(kp_source['jacobian'], invmat(kp_driving['jacobian']))将modules/dense_motion.py中下图所示位置的代码替换为:sparse_deformed = bilinear_grid_sample(source_repeat, sparse_motions)将modules/generator.py中的下图所示位置的代码替换为:return bilinear_grid_sample(inp, deformation, align_corners=True)修改完成后,使用onnx模型转换程序导出onnx模型。首先我们要在MindStudio上配置get_onnx_bs1.py的运行环境,点击进入编辑配置界面:进入编辑配置界面后,点击“+”,选择Ascend App,首先在界面上方的Name一栏输入程序名称,然后在Deployment一栏选择项目部署的配置,即我们在“第三章第3节 部署项目至服务器”中配置的服务器。在Executable处选择get_onnx_bs1.py:然后在Parameters一栏输入如下参数配置:--config config/taichi-256.yaml --checkpoint checkpoint/taichi-cpk.pth.tar --outdir taichi-onnx --genname taichi-gen-bs1 --kpname taichi-kp-bs1最后点击ok保存程序配置。这样配置好以后就可以实现在本地的MindStudio上调试远程服务器上运行的python程序了。点击MindStudio上方工具栏的绿色三角按钮,运行该程序即可导出onnx模型。2 onnx模型转换成om模型首先如下图所示,点击MindStudio界面上端的model converter按钮,在弹出的界面中首先选择服务器上onnx模型的位置,然后等待模型加载完毕后,继续在target soc version一栏选择自己的昇腾服务器的芯片类型,我这里用的是Ascend310P3,最后选择om模型的输出位置,然后点next即可。然后这里直接点next:最后第三个页面直接点finish,开始模型转换:稍等片刻,模型转换成功:五、模型推理1 配置推理环境将aclruntime-0.0.1-cp37-cp37m-linux_x86_64.whl下载下来,放在项目目录下,并上传至服务器。下载链接:cid:link_5提取码:mind下载推理程序包,在本地的终端执行以下命令:git clone https://gitee.com/ascend/tools.git等待下载完成,然后将下载好的tools包上传至服务器(也可以直接在服务器的终端输入上条命令clone到服务器上)然后在远程服务器终端上执行以下命令,安装aclruntime包:pip install aclruntime-0.0.1-cp37-cp37m-linux_x86_64.whl(若是在普通用户下执行需要加上--user参数)2 数据预处理首先修改config/taichi-256.yaml,将其中dataset_params:下的root_dir:修改为data/taichi。参考FOMM1/reconstruction.py,编写数据预处理程序如下:然后需要修改run.py。首先将下图中所示的代码修改为:parser.add_argument("--mode", default="train", choices=["train", "reconstruction", "animate", "pre"])然后在run.py的最后添加代码: elif opt.mode == 'pre': print("pre processing...") pre_processing(config, generator, kp_detector, opt.checkpoint, log_dir, dataset, opt.data_type)然后修改logger.py中下图所示的那行代码,将其改为:checkpoint = torch.load(checkpoint_path, map_location=torch.device('cpu'))打开Run/Debug Configurations界面:配置好run.py的mode为预处理的运行参数和环境:点击运行run.py。等待程序执行完毕:运行结束后在终端查看预处理后的数据的保存目录,保存结果如下所示:3 模型推理首先是在昇腾服务器上推理om模型:这里为了后续使用数据方便一些我们将tools/ais-bench_workload/tool/ais_infer/ais_infer.py中下图所示位置的代码修改成:if args.output != None: # timestr = time.strftime("%Y_%m_%d-%H_%M_%S") output_prefix = args.output # os.mkdir(output_prefix, 0o755) logger.info("output path:{}".format(output_prefix))else: output_prefix = None然后我们需要配置服务器上的环境变量:首先在服务器终端执行命令:vim ~/.bashrc然后在文件的最后添加如下内容:source /usr/local/Ascend/ascend-toolkit/set_env.shsource /etc/profile然后即可开始进行模型推理。首先配置Ascend App程序:其中Executable为:项目目录/tools/ais-bench_workload/tool/ais_infer/ais_infer.py运行参数为:--model /home/ltm/fomm/taichi-onnx/oms/taichi-kp-bs1.om --input /home/ltm/fomm/infer_out/d/ --output /home/ltm/fomm/infer_out/kpd/ --outfmt NPY然后按同样的方式,再配置一个名为infer kps的运行参数为如下内容的Ascend App程序:--model /home/ltm/fomm/taichi-onnx/oms/taichi-kp-bs1.om --input /home/ltm/fomm/infer_out/d/ --output /home/ltm/fomm/infer_out/kpd/ --outfmt NPY配置好后点击运行按钮运行程序:等待代码运行完毕即可。程序运行完后,下图中所标示的值便是我们测出来的性能指标:之后,需要运行apart_kp_out.py,对推理kp模型输出的数据进行简单处理,以便之后使用。首先配置apart_kp_out.py的运行环境:配置好后运行该程序:待程序运行结束,即可开始gen模型的推理,同样先配置Ascend App程序:其中Executable为:项目目录/tools/ais-bench_workload/tool/ais_infer/ais_infer.py运行参数为:--model /home/ltm/fomm/taichi-onnx/oms/taichi-gen-bs1.om --input /home/ltm/fomm/infer_out/s/,/home/ltm/fomm/infer_out/kpdv/,/home/ltm/fomm/infer_out/kpdj/,/home/ltm/fomm/infer_out/kpsv/,/home/ltm/fomm/infer_out/kpsj/ --output /home/ltm/fomm/infer_out/out/ --outfmt NPY配置好后点击运行,等待程序运行结束即可。至此,在310P上推理om模型就完成了。接下来要在T4机器上推理模型,由于目前TensorRT不支持FOMM里的用到的很多算子,故此次推理使用线上推理。首先要写一个线上推理用的python程序:推理程序的实现思路很简单,用python的time包记录模型从输入到输出所花费的平均时间然后把平均时间代到性能的计算公式里即可。这部分功能我写在online_infer.py里,其核心代码如下:然后修改run.py,首先修改其下图中所示的代码:将这句修改为:parser.add_argument("--mode", default="train", choices=["train", "reconstruction", "animate", "pre", "infer", "ori_re"])然后在最后加上如下代码:elif opt.mode == 'infer': print("Infer ...") infer(config, generator, kp_detector, opt.checkpoint, log_dir, dataset)改好后,进入运行配置界面,配置推理程序:配置好后运行该程序,等待程序运行结束即可:程序运行结果如下:4 精度测试此处需要对源码中的FOMM1/reconstruction.py进行较大修改:然后配置run.py的mode为reconstruction的运行参数的环境:然后点击运行,运行run.py,等待程序运行结束:Reconstruction的结果保存在./checkpoint/reconstruction/下:然后配置pose-evaluation/extract.py的两个运行环境,如下所示:其中参数为:--in_folder ../data/taichi/test/ --out_file out/akd_gt.pkl --is_video --type body_pose --image_shape 256,256和--in_folder ../checkpoint/reconstruction/png/ --out_file out/akd_gen.pkl --is_video --type body_pose --image_shape 256,256配置好后依次运行两个程序:等待程序运行完毕。两个程序运行结束后,分别可以得到一个.pkl格式的文件,最后,配置精度计算的程序:然后运行该程序,即可得到FOMM模型的精度指标:至此,一整个FOMM模型推理过程就结束了。六、其他问题如果在开发过程中遇到其他问题或者是不明白的地方,我们可以登录昇腾官方论坛进行求助。昇腾论坛链接如下:cid:link_3在这里,我们可以找到很多经验帖、总结帖,亦可以在昇腾论坛发帖求助技术人员,帮助我们解决问题。七、FAQ问题一:转onnx模型的时候出现“Exporting the operator inverse to ONNX opset version 11 is not supported”的报错。分析:出现这个错误的原因是因为onnx目前还不支持Pytorch的部分算子,比如我在项目中遇到的torch.inverse和torch.nn.functional.grid_sample这两个算子,都是onnx现在还不支持的算子,如果模型中有使用到这两个算子的话,则会在转onnx模型的时候报上述的错误。解决方法:用onnx支持的算子实现onnx不支持的算子的功能,或者寻找替代的算子。问题二:使用Model Converter的时候CANN Machine一栏无法更改。解决方法:Model Converter界面中的CANN Machine一栏的内容无法在Model Converter界面修改,想要修改的应该点击CANN Manager,在此界面更改项目的CANN工具依赖。
-
1.Windows CMD常用命令大全简述:Windows CMD常用命令大全中各种CMD命令的使用方法。https://bbs.huaweicloud.com/forum/thread-150473-1-1.html2.Windows CMD常用命令大全简述:Windows CMD常用命令大全中各种CMD命令的使用方法。https://bbs.huaweicloud.com/forum/thread-150474-1-1.html3.【开发者最佳实践挑战】第3关任务:使用Redis实现排行榜功能简述:使用Redis实现排行榜功能。https://bbs.huaweicloud.com/forum/thread-69861-1-1.html4.K8S--运行nginx容器简述:K8S运行nginx容器各种操作步骤的详细介绍。https://bbs.huaweicloud.com/forum/thread-130733-1-1.html5.K8S--部署博客系统简述:K8S部署博客系统步骤详解。https://bbs.huaweicloud.com/forum/thread-130732-1-1.html6.零代码美食分类模型开发简述:零代码美食分类模型开发的详细介绍。https://bbs.huaweicloud.com/forum/thread-98696-1-1.html7.APIG体验Demo指导简述:APIG体验Demo指导。此Demo主要用于演示API网关的使用,通过一键式操作,介绍一个具备“HTTP回显”功能的API的创建、发布以及绑定流控等操作,最终您可以调试或直接调用这个API。https://bbs.huaweicloud.com/forum/thread-69859-1-1.html8.教你怎么才能把mpeg格式视频转换为mp4格式简述:教你怎么才能把mpeg格式视频转换为mp4格式的详细讲解。https://bbs.huaweicloud.com/forum/thread-25842-1-1.html9.如何在笔记本电脑上录制音频简述:如何在笔记本电脑上录制音频的详细讲解。现在的录音软件有很多,特别是现在的手机都自带录音功能,可是笔记本电脑要怎样录音?我们生活工作当中难免会用到笔记本电脑,因此遇到需要录制声音的时候应该怎么办?那么如何在笔记本电脑上录制音频?可以用什么录音软件?https://bbs.huaweicloud.com/forum/thread-25765-1-1.html10.怎么把vob格式的视频转换成mp4格式简述:怎么把vob格式的视频转换成mp4格式的详细讲解。可能很多人都知道DVD光盘,但是也许大家并不知道DVD中的文件格式为vob,vob将数字视频、数字音频、字幕、DVD菜单和导航等多种内容复用在一个流格式中。vob格式中的文件可以被加密保护。所以想要直接播放vob格式似乎并不太可能。那么就只能把vob格式的视频转换成mp4格式了。https://bbs.huaweicloud.com/forum/thread-25762-1-1.html以上就是部分应用服务版块中各种应用教程帖子的汇总。
-
当我们翻开自己的手机不难发现,无论是社交、购物还是游戏、学习,各式各类软件都已经自带了直播功能。直播,已经成为企业数字化转型和内容营销的必备场景。而与企业需求呼应的,是如何优化用户端的使用体验。 以常见的直播电商场景举例:有时我们在直播间进行抢购,主播推送优惠券后十几秒,用户仍然没有接收,不仅导致用户无法下单,甚至还会在直播间发泄负面情绪,影响正常电商售卖活动,因此,用户实时互动体验一直是B端重点关心的问题。 随着5G时代的到来,网络条件得到提升,低时延技术就在此时应运应时而生。通过低时延直播不仅大大提升边看边买的体验,也让秒杀、抽奖等对时效要求高的营销玩法有了更强的底层支撑,优化了直播转换率。 那么,在华为云上,低时延技术架构与业务发展的如何?华为云用户如何体验和使用低时延技术?华为云的SparkRTC全球一张网是如何做到的? 2022年4月18日 19点,华为云SparkRTC产品经理Luke将为你一一直播解答! 直播主题:全球低时延一张网的技术与业务RTC全球一张网介绍 直播时间:2022年4月18日 19:00-20:00 直播嘉宾:Luke华为云SparkRTC产品经理 华为云媒体服务资深产品专家,长期负责视频领域工作,现负责华为云SparkRTC产品规划与项目研发工作,在媒体网络演进、竞争力落地和解决网络拥塞导致卡顿等问题有丰富的经验。 直播简介:1.SparkRTC全球一张网2.低时延技术架构与业务组合介绍→→点击报名
-
当我们翻开自己的手机不难发现,无论是社交、购物还是游戏、学习,各式各类软件都已经自带了直播功能。直播,已经成为企业数字化转型和内容营销的必备场景。而与企业需求呼应的,是如何优化用户端的使用体验。 以常见的直播电商场景举例:有时我们在直播间进行抢购,主播推送优惠券后十几秒,用户仍然没有接收,不仅导致用户无法下单,甚至还会在直播间发泄负面情绪,影响正常电商售卖活动,因此,用户实时互动体验一直是B端重点关心的问题。 随着5G时代的到来,网络条件得到提升,低时延技术就在此时应运应时而生。通过低时延直播不仅大大提升边看边买的体验,也让秒杀、抽奖等对时效要求高的营销玩法有了更强的底层支撑,优化了直播转换率。 那么,在华为云上,低时延技术架构与业务发展的如何?华为云用户如何体验和使用低时延技术?华为云的SparkRTC全球一张网是如何做到的? 2022年4月18日 19点,华为云SparkRTC产品经理Luke将为你一一直播解答! 直播主题:全球低时延一张网的技术与业务RTC全球一张网介绍 直播时间:2022年4月18日 19:00-20:00 直播嘉宾:Luke华为云SparkRTC产品经理 华为云媒体服务资深产品专家,长期负责视频领域工作,现负责华为云SparkRTC产品规划与项目研发工作,在媒体网络演进、竞争力落地和解决网络拥塞导致卡顿等问题有丰富的经验。 直播简介:1.SparkRTC全球一张网2.低时延技术架构与业务组合介绍→→点击报名
-
短视频时代,内容的质量与效率,仍需要建立在视频数量的基础上,以简短、高质量的短视频打开用户需求,创造流量并吸引留存用户,才有机会在激烈的市场竞争中赢得一席之地。而视频剪辑技术的高效智能,能够帮助用户在更快的时间内打造更多的作品,便于用户在更短的时间内,获取更多的内容信息,迅速形成传播链。华为云云市场联合伙伴推出智影-人工智能在线视频制作平台,致力于为专业的媒体机构及视频创作者打造人工智能短视频中央厨房。作为一款高效的在线智能云剪辑平台,智影-人工智能在线视频制作平台,在云端完成剪辑、审核、分发全链条操作,帮助客户快速高效整合分散的信源,高效完成采编审发全流程。智影-人工智能在线视频制作平台产品特点:精细化视频剪辑(精确到1帧),保证视频剪辑效果自研视频编解码算法自研流媒体播放器实时动态特效渲染通过智影7大功能,提升视频制作效率与质量:1.在线智能云剪辑-视频剪辑可以更轻量对硬件要求低,可以利用云端AI能力帮助剪辑;云端剪辑,任何时间任何地点,拥有一台电脑就能继续你的剪辑工作。剪辑功能包括:视频处理:逐帧剪辑、快慢倍速拉伸、剪切与合成、画面裁切音频处理:音量调节、整体与区间静音、提取音频、多轨音频混音图片处理:全程与指定区间叠加、位置与大小调节、图片旋转、支持动图、马赛克效果叠加文字处理:全程与指定区间叠加、位置调节、文字与特效、动画组合素材处理:支持手机上传素材、上传素材库管理、项目与成片管理其他功能:支持多轨制作、多种转场转场效果(以上为标准版功能)2.语音转字幕-告别人工加字幕的累活语音自动识别,翻译成文字,告别人工输入字幕,减轻工作量。AI打点,一键助力位置校准。3.模块化包装-小白也能做出花式动态字幕压花字幕模板,1分钟添加动态文字效果。字幕模板可定制开发。4.手机微信上传素材你的贴身视频云盘:支持手机端上传素材,无需下载app,在微信公众号内即可上传素材,随时随地上传素材至云端,仿佛拥有贴身视频素材小管家。5.团队协作-云端一站式流水工作组建你的在线视频剪辑团队,和团队共享素材和文件,在线完成剪辑、审核、分发一站式工作,顺畅如流水。6.一键全网分发-收割全网曝光值依托全网合作的媒体渠道,实现全网一键分发,流量端口一网打尽,让你的作品能被全世界看见。文中提到的商品链接:智影-人工智能在线制作平台【华为云云市场,助您上云无忧】
-
人们都说如今是“数字化升维,智能纪降临”!曾经有数据显示,到2025年全球智能终端将达到400亿,智能助理普及率将达到90%,智能将像空气一样随处可见,而AI作为一种创新的通用目的技术,将为我们带来巨大改变。应对此种趋势,华为发布AI战略与全栈全场景AI解决方案,其中不乏全球首个覆盖全场景人工智能的华为Ascend(昇腾)系列芯片以及基于华为Ascend(昇腾)系列芯片的产品和云服务等,力求从产业的未来、模型的训练、算力、安全、算法、自动化、应用、技术协同、平台以及人才获得等十个方面做出变化,以一套“组合拳”或者说“全栈思维”来表达对未来AI 产业发展的期望,不得不说这波操作很6。 不单单是在AI 领域,同样的全栈思维也体现在刚刚结束的、主题为“DevRun·选择不凡,华为云开发者沙龙2019”的技术沙龙杭州站活动中。本次沙龙华为云聚焦了多位技术大咖,分别从AI 、IoT、区块链、企业通信等几大业务领域的深度探索与实践操作入手,带来了关于“工具应用、解决方案服务再到赋能行业的实践”如此全栈式的技术分享,并与现场的开发者们展开了深入探讨,干货精彩。你是否遇到过跨区域开会难,协同开会缓慢等尴尬场景?破局企业云会议,加速赋能开发者,根植于通信传统领域,凭借音视频领域26年技术沉淀,平均每日满足全球18亿华为员工高达5.2万次的会议需求,华为云会议厚积薄发。无论是端云协同、软硬全覆盖;还是安全稳定、多项防护高指数;抑或是智能辅助,全面掌控so easy;共享协作,高清体验随时可达等,想到的都是优点,如今早已融入业务和生产系统,成为密不可分的一部分,帮助政府和企业客户实现快速沟通和高效联接。聚焦云会议音视频,在“基于华为云会议音视频技术,构建差异化行业应用”的分享中华为云会议产品经理时春雷,通过具体的实际案例讲解,阐述音视频黑科技的应用价值并介绍这些能力基于华为云会议的开放能力,例如登录鉴权、业务发放、会议管理等,实现快速集成,满足各行各业多种个性化需求场景,并充分介绍了其中的优势所在。节选 刘晶晶 程序人生
-
后疫情时代,视频云发展机遇与挑战并存疫情让几乎所有行业意识到视频服务的基础性与必要性,视频云“一夜爆红”,视频云服务加速被接纳,促使视频云的产品和能力快速更新。而到目前为止,视频被运用到各个行业,华为云视频云总监陆振宇认为,视频服务的发展总结起来有三大挑战。第一个挑战是“贵”:不仅是资源贵,音视频的开发人员也很贵;第二个挑战是“卡”:视频的“卡”,是一个代表词,可能还有黑屏、绿屏,以及各种体验问题;第3个挑战是“不够炫”,这也是一个美学概念,人们对美或对希望看到的视频内容的创新和演进的体验升级,有很高的诉求。如果仅靠单一的技术供应商,无法跟上这些诉求。 抽丝剥茧,视频云五彩斑斓的业务形态与相对稳态的底层逻辑面对行业三大挑战,华为云视频云服务,在试图找办法去解决。华为云在最开始就坚定拥抱了云原生。希望通过云原生的视频能力,使能客户和合作伙伴,解决视频业务从“On Cloud”走向“In Cloud”的问题,同时打破原有的视频生产、传输上的桎梏。基于云原生的方法和理念,华为云视频云试图找到结构性降低成本;系统性改善音视频业务体验,以及能够用好云的生态来做体验和创新的快速演进和迭代,希望由此来解决行业的三大痛点,最终重塑视频体验,激发行业创新。 千里之行始于足下,华为云视频云所覆盖的行业主要包括广电媒体、互联网视频、通信视频和行业视频。这四个行业业务形态各不相同:从内容制作上看,包括了广电媒体的专业内容制作、互联网视频的用户产生的内容、通信视频领域的交互式的实时音视频以及行业视频领域的基于机器视觉的视频输入;在分发环节,包括了广电媒体和互联网视频领域的自上而下的视频分发、通信视频领域的双向实时音视频分发和行业视频领域的自下而上的机器视觉视频信号传输,最终实现在不同行业的不同终端上播出。虽然业务形态各异,但因为都是基于音视频技术,因此在视频内容生产效率、分发成本上都有类似的诉求。 深挖源动力,视频产业上云的三大驱动力 以前,视频上云主要集中在分发领域,现在很多内容制作领域的合作伙伴,也在积极地探索内容生产制作上云。视频上云成为趋势的第一个原因,就是云ICT基础设施,能够帮助视频体验不断提升,从而推动视频产业的发展。在广电媒体领域,一部顶级综艺节目制作,有上百个机位,每个机位采用100M到200M码率,节目素材是几个PB级别;而头部电影的制作,同样也需要数个PB的素材存储能力,以及数千台服务器的渲染能力。在互联网视频领域,以直播为例,2020年上半年就消耗了几个PB的CDN流量,这也是互联网视频上云时间更早的原因;疫情极大加速了通信视频行业的发展,2020年在云上转发的实时音视频分发数有望超过1000亿分钟/月,产生约700EB/月的实时音视频流量;而行业视频领域也会迎来更大的发展,2021年将有500万摄像头接入到云上,每天将产生百EB级别的视频数据和上行流量。面向未来,随着4K、XR等业务的持续发展,视频类业务对算力、存储、带宽的消耗将呈指数级上升趋势,这些都是驱使视频业务上云的最直接原因。另外,几个视频行业痛点,也会进一步推动视频业务由On Cloud走向In Cloud。视频内容制作领域,目前全国有超过100万家视频内容制作公司,大部分公司体量不大,有好的内容创意,可以制作出与众不同的内容,但随着视频制作技术的发展,比如制作4K、8K的超高清内容,制作更加精细和真实的特效……这些公司会面临IT基础设施投入和建设的瓶颈。从内容生产流程来看,之前是线下完成内容制作后,成片渲染才会需要消耗IT基础设施;但现在视频制作过程,越来越趋向于在拍摄时进行虚拟内容的制作和渲染,驱使整个视频制作链条,对IT基础设施的消耗不仅提前而且贯穿始终。从分工来看,内容的云原生有利于内容的分布式生产制作,特别是长期持续的疫情之下,让跨国、跨区域的内容制作成为可能。视频上云将成为趋势,数据创建和存储的位置也会由端向云和边转移。预计到2025年,网络流量中90%将是音视频数据;而数据创建的位置中心+边缘将达到50%;而数据存储的位置中心+边缘将达到70%。视频的制作、处理、传输在云上将成为新常态。 勇立潮头,云原生的华为云视频云服务,重塑体验,激发创新华为云视频云服务基于华为的基础设施和基础服务,分为两层:最上面的是跨行业跨内容的生产、制作、分发全流程的各类视频云服务。另外,视频云服务依托于一张统一的媒体网络,这张媒体网络实现了5G的云网协同,确保视频内容快速传输上云;采用统一的网络架构,实现下行为主的直播、点播类业务、双向的实时音视频类业务、和上行为主的行业视频类业务,都能实现云资源的复用,从而实现成本的最优化;这张网络也提供了分布式的媒体处理框架,将视频AI等能力按需下沉到不同网络位置,保障处理的实时性。并且,整个媒体网络是统一架构,而不是一个个孤岛,能实现最高效的资源复用和最低的传输成本。 以体验为本,科技为源,锻造华为云视频云服务四大核心价值云原生的华为云视频云服务的核心价值概括起来有四点:生产效率提升:视频云服务和网络实现云网协同,无论在专线还是5G网络环境下均可实现视频的超级上行,满足视频内容快速上云的需求。同时视频云的基础设施进行针对性优化,实现线上、线下协同的内容生产制作,极大提升视频生产效率。网络高效分发:采用统一架构,无论下行为主的直播点播业务、双向的实时音视频业务和上行为主的行业视频类业务,均采用统一架构的网络,实现云基础设施的共享和复用,最优化视频传输的成本,保障体验的一致性。支持分布式的媒体处理,从实时视频AI开始,将视频AI能力按需下沉到边缘,实现实时AI处理能力,增强用户体验。业务持续创新:视频服务以原子+分子能力形态,灵活组合,随需调用,改变视频应用创新方式,帮助合作伙伴实现业务创新。覆盖视频生产、处理、分发、消费的视频能力,和视频AI的深度集成,实现云端视频的智能化生产、处理、分析。同时提供了面向未来的XR云服务能力。重塑视频体验:基于灵活的视频云服务组合,使能客户实现了各种视频业务的体验创新,并实现了商业应用。四大核心价值点,具体是如何实现的? 视频在云上的生产制作首先面对的就是视频内容传输上云的问题,华为云通过两大关键技术解决视频上云问题。对于5G网络的视频内容上传,华为云基于云网协同,通过5G网络的全时隙调度、时隙配比的优化、空口保障等各种关键技术,实现单用户数百M和总体几个G的超级上行速率。其次对于基于物理专线的视频内容上传,华为云也提供了视频内容的超级上行能力,可以达到4GB的上行速度,打破视频传输上云的瓶颈。视频传输上云后,华为对对象存储和底层文件系统进行的优化,以适配专业媒体领域的视频制作。经实测,云转码的效率提升10倍、支持16轨的非线编并行处理、合片速度提升3倍并实现了7轨并发合成。这样整个内容制作过程的效率得到提升,极大缩短了内容制作的周期。其次,在内容制作方面,华为云提供了超高清制播云,帮助客户实现4K内容的高效生产。制播云包括了云导播、云媒资和云编辑三大核心能力,服务于大型活动制播、组合画面制播、事件新闻制播、网红个人直播等各种场景。视频拍摄现场可采用摄像机、手机、5G背包等不同的拍摄方式,通过专线+5G网络上传到云端,传输过程可采用H.264/H.265编码、RTMP/SRT传输、支持1080P/4K超高清视频内容,云导播支持视频切换、调音混音、图文包装等丰富的能力。直播信号通过云导播后,可以录制到云媒体中进行统一管理,并通过云编辑实现了更加丰富的剪辑、AI处理、特效、图文包装等能力。总之,在视频内容生产端,一方面华为云基础设施支持了视频内容的超级上行,并让现有的视频制作工具在云上运行时,比线下运行时效率提升了数倍;另一方面,华为云也提供了强大的制播云服务能力,让各类视频业务场景上云。关于实现网络高效分发,整个视频产业现状是不同的视频业务,都有一个媒体网络支撑,而这些媒体网络都是互相割裂的,呈烟囱式的孤岛状态,他们之间的资源无法充分复用,比如在线教育领域,背后依托的是RTC传输网络,互联网视频的直播、点播,依托的是CDN直播网络,行业视频依托的是连接几百万台摄像机在云上进行视频处理的网络,这几个网络之前都是互相割裂的。华为云视频云从提供视频服务之初,就希望整个连接千行百业的媒体网络是统一架构和资源可复用。这不仅是一个技术架构统一,也包括资源架构的统一。资源架构的统一意味着这个网络虽然服务于千行百业,但它用到的基础设施、网络资源都是可以在不同的行业进行复用的,实现高效传输和优化成本。其次,视频能力需要分布在媒体网络的不同位置。例如视频AI的能力,终端侧呈现的美颜和各种特效,目前都是在终端侧处理。受限于终端的能力,特效不够逼真;而如果将端侧特效上移到云端,虽然理论上特效的丰富性和逼真程度会大大增加,但会带来更多的时延问题,影响用户体验。华为RTC提供了实时媒体AI的能力,通过开放式的函数运行框架,让这些视频AI的能力灵活的按需部署到媒体网络的不同位置。这套架构中,华为元戎函数计算平台让算法以函数容器的方式进行传输,并通过华为云IEF边缘云服务在网络边缘为用户就近提供服务。这套架构也是开放式的,兼容了华为云EI平台提供的AI算法,也支持接入第三方的AI算法能力。通过这套架构,让媒体AI能力按需就近部署,既充分利用了云强大的基础设施,实现了更高效和逼真的视频AI,又就近部署到了靠近用户的网络边缘,兼顾了用户体验时延问题。另外,整个媒体网络是去中心化的,网络内视频的路由均取决于用户体验和传输成本,通过智能调度进行优化选择,具体而言有四点:第一,所有服务在边缘站点实现资源的共享,最大化复用带宽成本,实现所有业务成本最优。第二,所有网络数据均汇聚到大数据平台,智能调度通过分析这些实时数据选择最优路径,确保最短的路径转发,实现体验最优和时延最低。第三,长距离传输引入ADN,保障长距离传输时的体验。最后,视频AI等能力按需部署到不同网络位置,减少回源到中心处理的流量,降低传输成本。总之,华为媒体网络基于统一架构,通过智能调度动态计算最优路径,通过融合型边缘站点实现资源复用,保障视频体验的同时实现了最优的成本。关于业务持续创新,华为云视频云分了两层,一层是原子服务层,没有任何业务逻辑,就是我们的媒体服务能力。第二层是对外开放的分子服务层,这些分子服务能力都是跨行业使用的,一方面分子服务能力跨越了视频的生产、处理和分发的不同环节,另一方面分子服务能力支持不同行业的使用。不同行业在做业务创新时,可以灵活选用这些分子服务能力进进行组合,希望通过分子服务的组合,让行业持续创新。过去两年,华为云视频云服务,做了很多创新,如分子服务的灵活组合、云制播、超级上行、媒体处理、视频AI等能力。与合作伙伴一起探索在云上做4K视频的这个制作;通过5G背包加5G的上行,实现赛事云直播,我们把整个赛事的直播,直接通过5G的方式传输到云上,然后进行直播的分发,减少本地云导播成本的消耗;在在线教育领域,我们跟合作伙伴做了子母课堂,基于低时延的RTC直播服务,在千人课堂上也能分组,让大课堂用户享受小班课的体验,有效的提升了用户up值;现在也和一些机构探索,包括8K的VR视频,自由视角的直播服务,希望把视频云的服务组合,应用到演唱会、赛事直播等场景。我们也会探索,将自由视角、VR视频等能力,由专业级变成普惠级,运用到短视频或网红直播领域,让更多的行业和用户都能够享受到这些能力,实现产业升级。 未来可期,云原生的华为云视频云服务,助力千行百业创新升级华为云视频云坚持技术普惠理念,打造面向全行业共享的媒体服务,打造视频云业务的黑土地。我们也希望大家一起来推进技术的普及,携手降低技术门槛,提高性价比,建立共同的标准,规范化发展,让实时音视频成为5G时代的基础服务,使能千行百业创新,让行业拥有五彩斑斓的变化,畅享数字化技术带来的便利。
-
随着视频业务不断升级,用户对体验的要求越来越高,比如要互动性更强、玩法更多样,体验更酷炫等。另外,直播业务、RTC业务,内容同质化比较严重,内容创造、用户体验也都遇到了天花板,这些都需要一些技术去打破它。我们跟斗鱼长期碰撞,共同探索后,得到一个命题:通过媒体AI去做这个事情。刚才斗鱼肖总的视频里面也提到了很多直播特效,包括像美颜、美型、虚拟主播、背景替换等,同时我们面向在线教育的场景,也会有一些像课堂评测的能力,都是基于媒体AI去做的。构建媒体AI目前面临的三大痛点当前,媒体AI的构建有几大痛点:终端:类型多、算力弱。目前很多的媒体AI能力都是在终端实现的,虽然终端的算力在不断提升,但像一些高复杂度的特效是做不了的,比如虚拟人物。背景替换当前的效果也很一般,你能看出一个明显的轮廓,当然更不要说实现对标电影级特效的背景替换了。云端:实时互动弱、成本高。现在很多在云端去做的视频AI,一般都是偏向于离线的业务,它对互动体验的满足性相对比较低。在直播实时互动的时代,这是无法满足需求的。而且因为音视频数据在边缘和云端源站相互传输,引入较高的带宽成本。创新门槛高、生态封闭。现在AI的能力,各厂家都是独立开发,各玩各的,生态相对是比较封闭的。我们希望基于云原生,和伙伴一起构建一个边云协同的实时媒体AI的能力,去解决上述痛点,加速视频业务创新。 实时媒体AI的定义及核心价值我们给实时媒体AI做了一个定义,基于华为云原生的边缘、计算、容器、存储、网络等服务能力,构建丰富的实时媒体AI处理能力,同时联同伙伴打造生态开放的AI算法市场,加速视频业务创新,为客户提供差异化竞争力,为用户提供更优质的体验。先举个简单的例子,我们把当前直播和RTC里端侧做的一些特效,通过边缘云的方式来实现,加入更多更酷炫的特效,比如效果更好的背景替换,提升互动性的AR卡通、虚拟人物等等。当前,实时媒体AI还处在一个探索推进的状态中,我们希望其能实现如下4个核心价值:玩法更多。以后直播和RTC业务有更多的AI能力可以用,可以组合,来实现更多更酷炫的创新玩法;体验更优。有了这些创新玩法后,用户对实时互动的体验要求是比较高的,我们希望实现“延迟无感”的体验,与本地使用高端机是同样的体验效果。还有一点针对算法开发者来说的,可以基于云的平台,更快地发布、更快地开发,更快地去体验验证。成本更低。目前大部分媒体AI的能力是基于端侧实现的,因为一提到云侧,就会想到GPU、各种硬件平台的成本会比较高,但我们希望能把这块的成本降下来。这里包括两个部分,一是用华为云统一的软硬件资源,提高资源的复用率,降低每一路资源成本,二是基于云上统一平台,一键更新,无需适配多种终端,来降低算法开发和APP更新的成本。生态开放。我们希望构建一个开放的AI算法生态市场,避免各家闭门造车、各玩各的的状态,希望能通过AI算法的互通共享,来降低算法开发门槛。这些核心价值的实现,都是基于云原生,下面将从实时媒体AI的云原生架构、实时处理框架、算法开放几个方面详细介绍一下如何通过云原生实现核心价值的。实时媒体AI云原生架构首先介绍一下实时媒体AI基于云原生的架构。从下往上看,首先它是基于华为云的边缘节点,用华为云IEF边缘管理服务对整个的节点软硬件资源做一个纳管,进行调度。其次,框架基于华为云EI平台,提供ModelArts训练等多种能力,支持Tensorflow、PyTorch等主流深度学习框架。框架里还包含一个SWR(镜像仓库)的服务,这个服务既可以集成发布华为EI自研算法镜像,也可以集成第三方基于EI的算法镜像。还有一个关键点要介绍,我们提供一个高性能边缘函数计算能力,这个能力实际上是面向实时媒体AI业务做的一个函数级处理框架结构,它可以非常高性能地将所有的AI算法实时调度到边缘节点上,并对边缘函数进行编排。实时媒体AI平台,用于卸载终端上的媒体处理能力,减少媒体处理适配不同终端平台的开发量,并保证不同终端平台体验效果一致,面向不同解决方案提供归一化的媒体处理能力。我们通过这个架构,提供更多更优的媒体AI玩法,同时,它统一算法的创新发开平台,可以避免多终端适配。实时处理函数框架如前面所述,实时媒体AI的核心是实时,如何最大程度的降低端到端处理时延,让用户对延迟“无感”。实时媒体AI除了将实时处理能力下沉到边缘,就近提供处理、降低链路时延之外,还重点构建了实时处理函数框架,用来降低处理时延。该处理框架主要以下几个方面降低端到端处理时延:1)基于华为云昇腾、鲲鹏等硬件,对AI算法、视频编解码算法做加速处理;2)通过高速总线加速AI算法容器之间视频原始数据传输;3)通过函数资源池预热机制提前加载AI算法,降低启动时延等。 整个处理流程,我们是希望能做到100毫秒以内,加上网络的时延,能做到300毫秒以内。这样的话,对用户而言,延迟是无感知的。 云原生算法开放如前面所说,我们不仅仅是构建一个实时媒体AI服务能力,更希望的是构建面向多种业务场景的实时媒体AI算法生态,希望更多的伙伴参与进来,一起推动业务创新、用户体验提升。基于这个想法,我们构建了一个算法开放的流程,包括所有实时媒体AI算法的标准算法接口和集成流程,也包括算法生态市场的构建,我们都会陆续的推出。这样的话,不管是基于华为EI平台去构建的AI算法,还是考虑到数据的隐私性,基于自己的平台去构建的AI算法,都可以通过这个流程集成到我们实时媒体AI里面。 实时媒体AI应用案例—斗鱼基于华为云云原生RTC实时音视频服务以及实时媒体AI能力,斗鱼实现实时云端特效,将端侧难以实现的特效能力向云侧转移,为用户提供“延迟无感”的实时互动体验,促进业务创新,提升业务粘性。华为云领先的云原生技术,让斗鱼可以专注云侧创新,避免适配多种终端,快速验证创新效果,大幅提升研发效能。同时,还能避免SDK频繁更新带来的用户多次下载,提升用户使用体验。基于华为云和斗鱼的算法,双方还构筑了一个富有想象空间的算法生态。面向未来,双方将持续深化合作,基于AR/VR提供更多创新玩法,结合华为云算法商城为主播带来更多场景选择,追求更优用户体验。目前我们正在跟斗鱼一起做美颜、美型、滤镜、贴纸等实时云端特效,这些特效会集成在斗鱼的直播平台里面,后续虚拟形象、背景替换等特效也会陆续上线。 低时延云端美颜、背景替换DEMO第一个DEMO是当前跟斗鱼一起做的一个低时延云端美颜特效,里面包括美白,磨皮等一系列的处理。这个端到端的时延,目前我们在网络比较好的情况下,可以做到150毫秒。正如我们看到的两个对比视频,基本上是同步的,肉眼看不出差异性。另外的一个DEMO是背景替换的。是一个知识视频里面做的背景替换。后面还会把背景替换效果做得更好,能像电影级的,比如说把背景替换和美颜美型、虚拟形象等组合叠加,做出更好更炫的效果。 最后我对今天分享的实时媒体AI做个总结。我们希望实时媒体AI是作为加速视频业务创新的一个关键手段,能够提供更多的处理能力,更优的互动体验,更低的创新成本,当然也希望更多AI算法合作伙伴们的加入,一起来共同打造一个开放生态!
-
大家好,非常有幸能有这次分享机会。我是康永红,来自华为公司,在大数据和音视频业务领域有十多年研发经验,负责直播、视频会议、RTC、VR的QoC、QoE、QoS管理,主要聚焦在基于大数据解决音视频产品体验提升和成本优化的业务领域。我个人认为这也是整个音视频领域的一个难点。 2020年是不平凡的一年,客观来说它促进了我们音视频业务的爆发式增长。华为云基于大容量、低时延、全互联的媒体网络,通过全国的2000多个节点和几百T的宽带,和我们的客户一起服务了亿级在线用户。在这个过程中,通过大数据提升视频体验质量和成本优化显得尤为重要,同时我们也积累了一些经验,今天我将和大家分享云原生时代,华为云在音视频质量监控与优化方面的实践。本次分享主要分为四部分:第一部分是云原生时代如何快速构建音视频数据服务体系,第二部分是华为云直播和RTC音视频服务体验质量优化实践,第三部分会介绍华为在云原生时代是如何快速构建音视频服务全流程质量监控平台,最后将总结和展望音视频业务体验质量的思考和技术规划。 音视频体验发展趋势及背后技术支撑的挑战 从音视频体验的发展趋势来看分为直播、RTC和XR三代,可以归纳为两个特点:第一点是用户体验越来越真实,传输分辨率从720P到1080P、再到XR的4K、6K、8K、乃至更大;另一点是业务要求互动性越来越强,迟延方面从30s到XR不超过100ms,对延迟要求更低。 基于以上质量体验的发展趋势,我们需要有一个后台技术支撑。我们在使用大数据解决支撑的过程中也经历了三个阶段:首先是5年前用大数据平台解决技术问题,其次是在3年前用数据**解决效率问题,第三个阶段是最近两年我们综合1.0、2.0时代的特点,采用“**+可信数据服务”的数据服务**模式解决价值问题。我们认为数据服务**是解决业务差异性和市场不确定性的最佳框架。 在直播中我们经常会碰到卡顿、实时音视频通话延迟等情况,这些问题都会严重影响用户体验。解决这些问题的一般方法是构建音视频质量监控平台,采集数据,用大数据的方法解决监控质量问题。在这过程中,我们又会碰到一些新的问题,比如采集数据延迟很大、丢失很多、数据不准确,此外还包括大数据算力不够、交付时延比较长等等问题。这些体验和技术问题带给我们很多挑战——包括会在什么场景出现这些问题,无法精准确定是网络问题、设备问题还是环境问题,以及这些问题影响了哪些客户等等。 那我们要怎么解决这些问题呢?在端+边缘计算+云计算的云原生时代,技术上已经给了我们一些解决方法。最好的实践是基于“数据湖+数据服务”的云原生数据驱动能力,去解决业务差异性和市场不确定性。这套架构分为六层,我们通过这六层去解决后台系统的相对稳态及前端业务稳态之间的矛盾。架构落地的具体实践是基于云服务基础设施,首先我们构建了统一的音视频数据湖,同时构建从采集、生产到消费的数据价值链,通过这两者结合,支持所有同时在线的几大类服务接入,和面向内外部七类客户,以及包括运营、运维等客户数据服务的QoS、QoE、QoC等三大类七小类的场景诉求。当然仅仅基于这个架构开展体验质量优化工作是远远不够的,这只是技术上的解决方法。 音视频服务体验优化三步走:监控、诊断、提升从在业务角度出发,我们认为QoE体验是一个管理的问题,我们在业务上需要做一些设计,这块我们构建了音视频服务的体验体系,大致分为两个大的阶段和三个小的阶段。两个大阶段是先诊断、再提升,在诊断中分为监控和诊断两个小阶段。 具体展开来看,首先需要构建QoE、QoS的立体实时监控体系以及辅助AI的异常检测方法,做到实时发现问题。第二步在发现问题后用秒级诊断能力,快速诊断体验原因,这个原因可以具体到用户行为级。基于诊断结果,第三步就需要做体验提升,一般有两种方法:第一种是依靠人工经验做优化,另一种方法是智能调度,我们在面向不同行业、不同场景的情况下,基于智能调度策略在成本可控的情况下做到用户体验最优。 基于上述体验质量优化体系,接下来我将具体展开分享华为云在视频直播和RTC实时音视频方面的体验优化实践的案例。 音视频服务体验优化实践1——直播体验优化我们首先看一下华为云视频直播体验优化实践案例,我们在做到低时延、不卡顿、高清晰的同时,还实现了成本可控。总体分为三个阶段:第一阶段质量监控,第二阶段问题诊断,第三阶段体验提升。 视频直播的质量监控,我们首先构建了覆盖流质量、体验、规模、网络、成本、设备六个维度的立体质量监控体系,涵盖了QoE、QoS、QoC三十多个指标,其中包括帧率、码率等核心的QoS指标,秒开率、卡顿率等QoE体验指标和带宽、回源率等成本QoC相关的指标。 第二个阶段问题诊断——视频直播的秒级质量诊断,这是基于网络数据+端数据构建的直播流全链路监控体系。诊断流程贯穿了第一公里主播端监控推流帧率等QoS指标,到网络节点间帧率、码率等QoS质量指标监控,带宽回源率、成本指标,以及最后一公里观众端卡顿、秒开、黑屏等QoE指标。这样就实现端到端实时的秒级监控,如果发现异常情况可以及时反馈给顾客和调度系统,比如我们在第一公里发现帧率、码率出现异常,就通知客户在主播端进行策略调整,如果实在网络发现异常,就做一些节点用户数据调动或其他策略的优化,而当观众端出现体验异常时,智能调度系统会做调度策略的调整。以上整个全链路监控系统覆盖了12路直播全场景和全协议监控。 直播流全链路监控系统——从第一公里、到媒体网络、再到最后一公里,整个都是可视化的,这样可以提升问题诊断的效率。 第三步体验提升,视频直播体验提升大致分为两种方法。其一是通过运维同学的经验实施,另一种方法是基于智能调度系统——基于端、边、云数据协同做智能调度体验优化,这种方法利用了统一视频数据湖技术,实现端、边、云的QoS、QoE、QoC数据的协同,通过智能分析引擎生成流、客户、网络链路、节点、观众的实时画像,基于实时画像+调度策略由智能调度系统实施智能调度,在成本可控的情况下做到最佳体验。衡量指标主要选取两类指标,一类指标是成本指标,比如通过回源率来衡量成本是否下降;另一类指标为体验指标,通过卡顿率、秒开率等判断用户体验是否有提升。以上是视频直播在质量监控和体验提升的一些实践案例。 音视频服务体验优化实践1——RTC体验优化接下来分享实时音视频RTC的体验优化的实践案例。RTC属于第二代音视频业务,它和第一代直播在业务方面有很多差异,比较关注时延以及行为级的监控,基于这些差异性,我们也采用了三个不同优化体系。 第一点是质量监控,RTC质量监控体系建立了覆盖通话、网络、成本、设备等六个维度的立体质量监控体系,覆盖QoE、QoS、QoC三十多个指标。其中核心指标包括等码率、帧率、丢包率、抖动质量QoS指标和秒开率、时延、卡顿率、入房和选看成功率等用户体验QoE指标,以及带宽等成本QoC指标,与直播监控指标相比,特别是端到端的时延指标,这是基于前面提到的差异性着重关注的。 基于监控体系,第二个工作是问题诊断,我们首先建立了三类体验质量数据服务,第一类是监控指标数据服务,主要覆盖的是服务端、客户端、设备、QoE、QoS、QoC,这些数据放在统计库、时序库中使用。第二类是网络端所有控制面和媒体面的事件数据服务。第三类是终端事件数据服务,包括终端侧用户行为事件,例如加入房间、切换角色、操作麦克风或摄像头等事件,此外还包含了终端设备数据,例如CPU、内存、摄像头等。 基于这三类体验质量数据服务,RTC构建了三层问题诊断体系。 第一层构建是覆盖全链路、全维度的QoE/QoS实时监控体系,可以在分钟级完成体验诊断和快速恢复问题。 第二层监控体系是基于网络行为数据和端侧行为数据的一键式用户个例通话QoS调查能力,它可以帮助我们快速解决RTC业务单用户的体验问题和投诉。 第三层问题诊断能力是在第一层QoE/QoS全局指标监控和第二层QoS行为调查能力基础上的体验问题自动诊断高级能力,它通过监控三十多个指标产生二十多个异常事件,并通过学习模型,给出影响的六类体验场景。这样系统就可以快速自动化地判断出体验发生异常的原因,并且快速传递给客户。如何构建音视频服务全流程质量监控平台?上述介绍的是华为云RTC业务体验优化的实践案例,做体验质量优化工作是需要平台完成的,我们下面来分享华为是如何构建音视频服务全流程质量监控平台的。首先从数据采集、传输、计算到消费四个环节的亿级规模音视频质量监控大数据平台,包括支持端、边、云全数据采集和传输的数据网络,支持实时计算、离线计算和机器学习的多模数据处理系统,以及支持运维、运营、客户的数据消费服务体系。 在构建平台时,会遇到很多性能、质量、效率以及实时性的问题,如何构建一个大容量、低成本、高效率和可信数据质量的平台?我们采用了批流一体和存算分离的架构。批流一体解决的是开发效率的问题,我们同一个指标可能在批流一体中计算一次就可以对所有服务使用,不需要重复开发,同时我们有一站式数据开发平台可以解决开发效率的提升。成本问题上我们采用的是存算分离——存储和计算是分离的,存储采用的是对象存储,价格相对低廉,计算引擎采用的是前面介绍的批流一体的方式,这样可以做到成本最佳。质量方面是采用了“ODS-DWD-DWS-ADS”四层数据治理平台,保证所有数据可跟踪、可管理,确保任何指标数据都是实时、完整、准确的。 在有了大容量、低成本的平台后,我们还面临断网、设备故障等问题。我们在平台可用性上基于云服务实施,采用跨Region主备容灾和多AZ模式,整体SLA可达99.99%,来自端、边缘、云等全部六类数据不丢失,监控、调度等六类服务不降级。这样我们在整个环境下,任何环节出现异常,在质量和服务提升上都可以正常工作。 如何持续保证音视频体验质量三大利器? 回顾本次分享,音视频体验发展有三个特点:第一,用户对体验的要求是真实感越来越强,直播、RTC等用户要求更高;第二,在用户体验上要求越来越互动;第三,面对各种网络、终端业务环境越来越复杂。 为了保证音视频体验质量,我们有3个利器:第一,针对不同业务场景,构建“先监控再诊断后提升”的体验质量体系;第二,基于“数据湖+数据服务”解决用户差异性和市场不确定性的问题;第三,在实施过程中要平衡成本和体验的关系。 对未来音视频业务体验我们有三点规划方向:一是持续基于端、边、云数据协同来驱动QoE、QoS、QoC优化;二是构建音视频内容质量的智能评估体系;三是建立第三代XR音视频体验质量规范,如沉浸感等。 以上是本次分享的全部内容,谢谢大家。
-
全民直播互动的时代,怎么快速完成高清视频节目制播?快来云宝小课堂,一图秒懂云制播!了解更多云原生音视频技术,戳链接报名参加12月30号 #华为云TechWave# #云原生2.0# 峰会,大咖&大奖等着你!报名请戳→https://form.dmartech.cn/form/prod/56935c7eceeafbd7/customization/cloud7220/cloud7720_719/cloud7720.html?id=719
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签