视频通话录制 方案 教程

一些基本概要

1   市面流行的音视频产品,都包含一对一、一对多、多对多通话,云端录制等这些基本功能,有些厂商支持本地服务录制。

2   本地服务录制,云端录制区别
两个录制区别在于,本地服务端录制的 SDK 要求部署在 Linux 服务器上,需要自己运维。而云端录制无需部署 Linux 服务器,只需调用API即可。

3   单流录制和混流录制模式区别

单流录制模式,一个录制进程下,同时录制多条音频流和视频流,将输出多个录制音频和视频文件;混流录制模式,一个录制进程下,同时录制多条音频流和视频流,仅输出一个录制音频或视频文件。

4 app增量大小

意为安装SDK后导出的app包体积增量,计算方式跟系统平台有关,如ARM、ARM64、x86、x86_64等。

5 一些视频编码格式

常用的包括h264、h265、vp8,简单区别在于

h264,最常用的视频编码,分辨率最高支持4k;

h265,h265 可以说是 h264 的继任者,效率要高很多,相同画质下 h265 比 h264 节省了大约一倍的带宽;

vp8,是Google开源的一种编码方式。

更多的区别可参考 链接1,链接2

6 分辨率越高越好?

较高的分辨率也需要较高的码率来支撑,如果分辨率选择 1280 x 720,但码率却指定为 200kbps,画面就会有大量的马赛克。推荐参考 分辨率码率参照表 进行设置。

7  帧率越高越好?
由于摄像头采集的画面是曝光阶段中所有现实物体的完整映射,所以并不是帧率越高,感官就越流畅,这一点跟游戏里的FPS是不一样的。恰恰相反,帧率过高,会拉低每帧画面的画质,也会减少摄像机的曝光时间,效果可能会更差。

8  码率越高越好?
较高的码率也需要较高的分辨率来匹配,对于 320 x 240 这样分辨率,1000kbps 的码率就很浪费了,推荐参考 分辨率码率参照表 进行设置。

1.音视频方案对比

本次调研分两种方案,一是自研,包括app和后端代码;二是选取了市面上8家流行的产品方案,即腾讯、阿里、网易云信、声网、anyrtc、ZEGO即构、UCCloud、融云,这些厂商对比主要包括功能、价格、开发友好度方面。

1.1  自研

自研主要是利用成熟的开源项目进行二次开发,开源项目音视频通话和视频录制功能是独立的,需要开发人员自行组合开发。其中音视频通话有开源SDK,视频录制相关只能利用系统现有API开发

1.1.1 开源音视频通话SDK

流行的音视频通话开源框架支持server、web、android、iOS。本报告选取了GitHub上star数较多、更新活跃的框架。国外流行框架  jitsi meet,国内为  OpenIM。下表数据截止2023-01-15

服务端开发语言Javagolang
star数19.1k10.1k
GitHub链接GitHub - jitsi/jitsi-meet: Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.GitHub - openimsdk/open-im-server: IM Chat
开发文档Introduction | Jitsi MeetOpenIM Docs
去年更新频率

1.1.2 视频录制

至于录频,不使用第三方收费SDK的话,则需要开发人员利用系统原生API自行开发,涉及到的问题较多,包括录制、压缩、裁剪、导出、视频参数定义、权限定义、数据长链接、音频参数定义、消息广播等,录完后还需要存储在app本地,并上传到服务器,这里会牵涉到文件的断点续传。当涉及多个服务器时,还需要考虑服务器之间的消息同步。

结论:在自研时,由于涉及到多媒体视频的录制、上传、存储、日常运维、安全处理等,开发成本大、后期维护成本高,面临的不可控风险较多,所以不建议自研。

2.1  市面主流音视频通话产品分析对比

本次对比包括8家产品,一些都有的基本功能,如支持水印等,表中不展示。标红内容为需要注意的点。

视频通话和云端录制价格由分辨率决定。产品特点对比

       腾讯云        阿里云        网易云信          声网          anyrtc       ZeGo        UCloud        融云

链接https://www.tencentcloud.com/音视频通信(RTC)-阿里云帮助中心https://netease.imhttps://www.shengwang.cn/实时音视频_实时消息_实时互动_私有化-anyRTCZEGO即构科技 - 帮助全球企业即刻构建语音视频通讯能力UCloud文档中心实时音视频-音视频通话SDK-融云RongCloud
计费方式扣除10000分钟免费时长后,以实际使用分钟数计费以实际使用分钟数计费按月计费,月账单最小结算单位为千分钟,不满 1 千分钟部分按照 1 千分钟计算扣除10000分钟免费时长后,以实际使用分钟数计费扣除10000分钟免费时长后,以实际使用分钟数计费以实际使用分钟数计费扣除10000分钟免费时长后,以实际使用分钟数计费

费用组成有两部分:月功能使用费 + 超量费用,音视频通话和云端录制的月费为980元/月。

音视频通话包含含 200,000 分钟免费时长

视频通话价格

官网价格为美元

HD

3.99(约28元)/1000 分钟


Full HD

8.99(约63元)/1000 分钟


2K

15.99(约112元)/1000 分钟


4K

35.99(约252元)/1000 分钟

480P及以下

12 元/1000 分钟


720P及以下

24 元/1000 分钟


1080P及以下

90 元/1000 分钟

SD

15元/1000 分钟

HD

25元/1000 分钟


HD+

90元/1000 分钟

HD

28 元/1000 分钟


Full HD

63 元/1000分钟


2K

112 元/1000分钟

2K+

252 元/1000分钟

HD

16 元/1000 分钟

Full HD,

32 元/1000分钟

2K

56 元/1000分钟

2K+

128 元/1000分钟

SD

12 元/1000 分钟


HD

25 元/1000 分钟

HD+

98 元/1000 分钟

2K

112 元/1000 分钟

2K+

252 元/1000 分钟

SD

15 元/1000 分钟

HD

25 元/1000 分钟

Full HD

50 元/1000 分钟

标清

16 元/1000 分钟


高清

26 元/1000 分钟


超高清

66 元/1000 分钟


2K

106 元/1000 分钟


2K+

226 元/1000分钟

视频存储方式腾讯的云点播平台阿里云网易云信点播平台

1.声网自有平台

2.支持第三方平台。

Amazon S3

阿里云

腾讯云

七牛云

金山云

Microsoft Azure

谷歌云

华为云

百度智能云

1.私有存储-本地私有存储服务

2.支持部分第三方平台

阿里云

七牛云

1.即构自有平台

2.支持第三方平台。

AWS S3

阿里云

腾讯云

七牛云

阿里云 Vod(仅支持 MP4、FLV)

华为云

UC云自有平台

1.融云自有平台

2.支持部分第三方平台

AWS S3

阿里云

腾讯

七牛云

录频支持方式

云端录制

本地服务录制(暂未完全开放,需要联系客服开通)

云端录制云端录制

云端录制

本地服务录制

云端录制

云端录制

本地服务录制

云端录制云端录制
分辨率档位

高清(HD)

分辨率 ≤ 1280 × 720

全高清(Full HD)

1280 × 720 < 分辨率 ≤ 1920 × 1080

2K

1920 × 1080< 分辨率 ≤ 2560 × 1440

4K

2560 × 1440< 分辨率 ≤ 4096 × 2160

480P

分辨率 ≤640 × 480


720P

640 × 480< 分辨率 ≤ 1280 × 720


1080P

1280 × 720< 分辨率 ≤ 1920 × 1080

SD,480P

分辨率 ≤640 × 480


HD,720P

640 × 480< 分辨率 ≤ 1280 × 720


HD+,1080P

1280 × 720< 分辨率 ≤ 1920 × 1080

高清(HD)

分辨率 ≤ 1280 × 720(带宽:约420k左右)

全高清(Full HD)

1280 × 720 < 分辨率 ≤ 1920 × 1080

2K

1920 × 1080< 分辨率 ≤ 2560 × 1440

2K+

2560 × 1440< 分辨率 ≤ 4096 × 2160

高清(HD)

分辨率 ≤ 1280 × 720

全高清(Full HD)

1280 × 720 < 分辨率 ≤ 1920 × 1080

2K

1920 × 1080< 分辨率 ≤ 2560 × 1440

2K+

2560 × 1440< 分辨率 ≤ 4096 × 2160

标清 SD

分辨率 ≤ 480 x 360

高清HD

480 x 360 < 分辨率 ≤ 1280 × 720

超清HD+

1280 × 720 < 分辨率 ≤ 1920 × 1080

超清2K

1920 × 1080 < 分辨率 ≤2560 × 1440

2K+

2560 × 1440< 分辨率 ≤ 4096 × 2160

标清SD

分辨率 ≤ 640 × 360

高清HD

1280 × 720 <分辨率 ≤ 1280 × 720

超高清Full HD

1280 × 720 < 分辨率 ≤ 1920 × 1080

2K

1920 × 1080< 分辨率 ≤ 2560 × 1440

2K+

2560 × 1440< 分辨率 ≤ 4096 × 2160

标清480P

分辨率 ≤640 × 480


高清720P

640 × 480< 分辨率 ≤ 1280 × 720

超高清1080P

1280 × 720< 分辨率 ≤ 1920 × 1080

2K

1920 × 1080< 分辨率 ≤ 2560 × 1440

2K+

2560 × 1440< 分辨率 ≤ 4096 × 2160

使用该产品厂商好未来、新东方、VIP Kid等优酷来疯、学信网、VIP陪练等有道乐读、途牛旅游、蔚来汽车、西东方、快速问医生、智联招聘、OPPO等小米、众安保险、陌陌等官网未详细给出好未来、花椒直播、映客直播、酷狗KTV、翼卡车联网等爱奇艺、乐心医疗等汽车之家、携程、优酷来疯等
产品特色

1.每月免费10,000分钟时长,扣除时不是按照1:1,此处说明

2. 支持价格计算器,用于缴费预估

------

每月免费10,000分钟时长,按顺序1:1扣除,此处说明

每月免费10,000分钟时长,按顺序1:1扣除,此处说明---

每月免费10,000分钟时长

官网未说明扣除方式,需要咨询客服

1.每月免费200,000分钟时长

2.后台分开发环境、生产环境,开发环境免费使用,限量 1万分钟免费通话时长,免费通话时长可用于测试音视频通话、音视频直播、云端录制。

生产环境付费使用,需要预存月功能使用费,才能开通服务。

此处详解

云端录制价格

官网价格为美元

HD

5.99(约42元)/1000 分钟


Full HD

13.49(约98元)/1000 分钟


2K

23.99(约168元)/1000 分钟


4K

53.99(约378元)/1000 分钟

云端录制价格计算较复杂,可点击此链接查看

SD

15 元 / 1000 分钟


HD

25 元 / 1000 分钟

HD+

90 元 / 1000 分钟

HD

36 元/1000分钟


Full HD

81 元/1000分钟


2K

144 元/1000分钟


2K+

324 元/1000分钟

价格未展示在官网,需要联系客服。

点击此链接查看

云端录制最高支持1080P,以上就需要联系客服。

单流录制、混流录制价格不同。
 

单流模式
SD

6 元/1000 分钟


HD

12.5 元/1000 分钟

HD+

49 元/1000 分钟

混流模式
SD

18 元/1000 分钟

HD

38 元/1000 分钟

HD+

148 元/1000 分钟

SD

15 元/1000 分钟


HD

25 元/1000 分钟

Full HD

50 元/1000 分钟


2k

100 元/1000 分钟


2k+

245 元/1000 分钟

标清

16 元/1000 分钟


高清

26 元/1000 分钟


超高清

66 元/1000 分钟


2K

106 元/1000 分钟


2K+

226 元/1000分钟

2.2  开发维度对比

主要聚焦在开发文档的更新频率、有无测试环境等。在查阅资料过程中,只有融云支持区分开发环境和生产环境。

在比较SDK大小时,有的官网未给出SDK的直接大小,只给了app增量大小;由于android端SDK大小跟系统架构有关,所以取中间值。

关于SDK大小,也会跟系统版本和SDK自身版本相关,下表相关数据仅供参考。

SDK支持最低版本

android 4.1

iOS 9

android 4.1

iOS 8

android 4.3

iOS 9

android 4.1

iOS 9

android 4.1

iOS 9

android 4.4

iOS 9

android 4.1

iOS 9

android 4.4

iOS 9

SDK大小

android 30m

iOS 39m

android 18.7m

iOS 21.7m

android 32.8m

iOS 32.8m

官网未给出具体大小,只有app引入后的增量范围,需要实测,此处了解

4.61 ~ 13.94 m

官网未给出具体大小,只有app引入后的增量范围,需要实测,此处了解

4.81 ~ 12.46  m

官网未给出具体大小,只有app引入后的增量范围,需要实测,此处了解

6.37 ~ 7.26  m

官网未直接给出相关信息,需要到GitHub下载demo后对比

官网未给出具体大小,只有app引入后的增量范围,需要实测,此处了解

8.6 ~ 20.1  m

开发文档https://www.tencentcloud.com/zh/document/product/647https://help.aliyun.com/product/61399.htmlhttps://doc.yunxin.163.com/nertc/docs/home-page?platform=linuxhttps://docs.agora.io/cn/video-call-4.x/landing-page?platform=Androidhttps://docs.anyrtc.io/cn/Video/product_videohttps://doc-zh.zego.im/article/5416https://docs.ucloud.cn/urtc/SDK/VideoStarthttps://doc.rongcloud.cn/home/index
传输协议UDP私有协议WebRTCUDP私有协议WebRTC+UDP 私有协议WebRTC+UDP 私有协议WebRTC+UDP 私有协议WebRTC+UDP私有协议WebRTC
视频编码

H264/AVC

H264/AVCH264/AVCH264/AVC
H265
VP8
H264/AVC
VP8
H264/AVC
H265
VP8
H264/AVC
VP8
H264/AVC

简要结论:通过是否有每月免费分钟数、视频分辨率档位、第三方云存储厂商支持度、视频编码格式、开发文档详细程度和更新频率等维度的比较,推荐声网。
##############################################################################################

3. web端 SDK数据补充,主要是声网

3.1 功能支持

支持美颜、屏幕共享,支持自定义摄像头视频源、屏幕共享视频源、文件视频源。
声网web SDK暂不支持修改原始音视频数据,如变声操作。app端支持

详情

3.2 浏览器支持度

支持为主流浏览器,
桌面平台包括macOS、Windows、ChromeOS,不支持linux端


移动端支持情况
android与应用版本和设备硬件有关,iOS只与系统版本有关

3.3 Web SDK视频通话流程

频道是SDK自动创建和删除的,客户端无需处理和维护。当所有客户端都离开一个频道时,频道自动被删除。此处详解

Web SDK 之间通话
①发起方创建一个频道

所需参数为 App ID 、用户 ID、Token、频道名称;
通过麦克风采集的音频创建本地音频轨道对象,摄像头采集的视频创建本地视频轨道对象,将音视频对象发布到频道中,此时一个频道建立成功。
频道定义了视频的编码格式和频道场景mode(有2种,通信和直播)
频道密码可以按需设置。远程用户加入后,可获取到远程用户的音视频对象。

②远端用户加入频道

在网页输入相同的App ID、频道名称和临时token,即可加入频道。

③离开频道

调用leave,该方法为异步,可随时调用。SDK会立刻销毁与当前频道相关的对象,包括订阅的远端用户对象、远端轨道对象、记录连接状态的对象等。

简单总结就是,发起方可以发给远端用户一个链接或二维码来进行视频通话。

app 与 web 之间通话

web SDK与app SDK默认是互通的,无需额外设置,所以视频通话流程与web之间通话类似。只要保证是同一个appid各个端都是可以互通的。

app可以通过调用joinchannel的API进入频道,如果此时对方还没有加入到频道中那么 app 端显示的是本地视频,对方加入之后,双方可以相互之间看到。

可以通过 频道管理 RESTful API 对频道进行设置,使app或web可以控制对方,比如禁用摄像头或麦克风,或将用户踢出频道。方法可参考 此处

关于 app 与 小程序

小程序本质还是web页,所以web的使用条件也适用于小程序。至于 app 唤起 小程序,则属于app 与 微信 SDK通信范畴,app是可以直接唤起的。

3.4 截图

3.4.1 实现方法

目前有三种方式实现截图功能,其余方式都是对以下形式的封装

①云端录制
通过 Agora 云端录制服务实现截图,详情请参考 云录制-进阶功能-视频截图 ,其中介绍了如何通过设置 RESTful API 参数对视频进行截图,并将图片上传至你的第三方云存储。

②本地服务端录制 SDK
可通过本地服务端录制 SDK 的截图功能获取到每一帧原始视频数据流。详情请参考 本地服务端录制-进阶功能-视频截图 ,其中介绍了如何通过命令行的方式获取视频截图,以便分析视频内容,例如对直播内容进行鉴黄以确保合法合规。

③原始视频数据回调
可通过裸数据接口获取到每一帧原始视频帧数据,从而实现截图功能。详情请参考 原始视频数据。

3.4.2 触发方式

截图支持仅截图和录制并截图两种,有自动和手动截图两种类型。截图异常不影响视频录制服务。

①服务端

云端录制支持视频截图,属于自动截图,不能手动触发,可设置截图时间间隔,云端自动截取图片并上传至指定的第三方云存储,分辨率和视频一致。自动视频截图会一直监控着直播,中途无法停止,除非终止视频通话。此处详情

②app端

app支持截图,是对原始视频数据回调的封装。可以手动触发,截图会保存在用户客户端本地,需要调用SDK的图片上传功能,将其传到用户指定的第三方云服务中。

视频截图与视频截图上传是两个功能,都收费(收费规则比较复杂,此处详解),声网推荐使用客户端视频截图上传功能,此处了解

图片上传功能收费具体细则得咨询商务。

图片分辨率与视频设置一致,与手机硬件无关。

而手机自带截屏与手机硬件有关。比如 1920*1080分辨率的手机播放一个640*480的视频,那么截图是1920*1080的,对视频本身的分辨率不影响。虽然分辨率高了,但还是不清晰。

比如,iOS手动截图的方法为 takeSnapshot,API地址在此处

③web端

目前Web SDK 暂未提供 类似takeSnapshot的客户端截图方法,还是需要利用手机系统自带截屏功能,通过声网视频截图上传服务实现。

3.5 兼容性问题

官网列出了桌面端和移动端浏览器一些常见问题,主要是兼容性,Web SDK问题还是挺多的,有些问题可以解决;有些没法解决,只能在业务层面提示用户。
Web端已知问题

①声网建议使用 VP8 视频编码。

使用 H.264 编码可能会导致开启硬件加速后出现一系列问题,包括帧率、码率、分辨率达不到目标值;视频花屏、黑屏;弱网环境下体验较差等

②桌面端严重问题

一些特定场景下chrome回声消除失效,safari某些版本音频断断续续,Firefox 只支持视频帧率设为 30 fps,与某些设备通信时,看其他端的画面会发生旋转。

③移动端严重问题

iOS浏览器在切换到后台时,音频流会发送中断。音频采集中断、音量极低、戴蓝牙耳机后播放音频有概率明显失真
android chrome上视频可能会花屏、发送码率无法达到Web SDK的预设值、戴蓝牙耳机后无法听到对方音频

④编码格式选择问题

若两端都使用Web SDK,则需设置编码为vp8;
若频道中有发送端使用Native SDK,由于 Native SDK 发送的视频流均为 H.264 编码,在不支持 H.264 的手机上 Web SDK 可以引入 H5 实时直播组件观看视频。

以上是节选出来比较严重的问题,更详细具体的可见FAQ和Web端已知问题。截图是部分app端,桌面端未列出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/595016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Proteus仿真】【Arduino单片机】电蒸锅温度控制系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用LCD1602液晶、按键开关、蜂鸣器、DS18B20温度传感器,液位传感器、继电器控制加热保温装置等。 主要功能: 系统运行后&…

C++-模板与容器

1、模板 模板可以让类或者函数支持一种通用类型,这种通用类型在实际运行过程中可以使用任何数据类型。因此程序员可以写出一些与类型无关的代码。这种编程方式也叫“泛型编程”。 通常有两种形式: 函数模板类模板 1.1 函数模板 //模板类型声明 template&…

中文自然语言处理库(SnowNLP)的简单使用

snownlp 是一个简单易用的 Python 库,专为处理中文文本而设计。它基于自然语言处理技术,提供了多种功能,包括分词、词性标注、情感分析、文本转换(简繁转换)等。这个库的核心优势在于对中文文本的处理能力,…

Navicat 技术干货 | 聚合查询的介绍

基础 SQL 查询可以检索、插入、更新和删除记录,而聚合查询可通过提供求和、平均值或最大/最小值等的大型结果集,将数据库交互提升到一个新的水平。本文中,我们将探索聚合 SQL 查询的基础知识,并研究如何有效的利用他们来分析和汇总…

14.1 Linux 并发与竞争

一、并发与竞争 并发:多个执行单元同时、并行执行。 竞争:并发的执行单元同时访问共享资源(硬件资源和软件上的全局变量等)易导致竞态。 二、原子操作 1. 原子操作简介 原子操作:不能再进一步分割的操作,一般用于变量或位操作。 …

关于设计模式的一点总结

一、GoF 23种设计模式 1.分类 GoF 23种设计模式可分为几类:创建型、结构型和行为型。如下表 分类设计模式创建型单例模式、工厂方法模式、抽象工厂模式、原型模式、建造者模式结构型代理模式、适配器模式、装饰者模式、桥接模式、组合模式、门面模式、享元模式行…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)添加 删除 修改 释放

在上篇文章(处理任务队列中的任务)中我们讲解了处理任务队列中的任务的具体流程,eventLoopProcessTask函数的作用: 处理队列中的任务,需要遍历链表并根据type进行对应处理,也就是处理dispatcher中的任务。 // 处理任…

Idea启动运行“错误:java: 无效的源发行版: 13”,如何解决?

以上是以JDK1.8的项目作为举例,如果您用的是其他版本请选择对应的language level idea中项目的language level的含义 language level指的是编译项目代码所用的jdk版本。那么,从这个定义出发会有两个小问题。 ❶ 如果project sdk是jdk8,那么la…

2020年认证杯SPSSPRO杯数学建模C题(第一阶段)抗击疫情,我们能做什么全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 C题 抗击疫情,我们能做什么 原题再现: 2020 年 3 月 12 日,世界卫生组织(WHO)宣布,席卷全球的冠状病毒引发的病毒性肺炎(COVID-19)是一种大流行病。…

解析大语言模型LLM的幻觉问题:消除错觉、提高认知

文章目录 前言一、幻觉介绍二、幻觉产生的原因三、幻觉的现象四、幻觉的分类五、幻觉解决方案六、幻觉待解决问题后记 前言 在人类的感知和认知过程中,幻觉一直是一个被广泛讨论和研究的问题。幻觉指的是一种虚假的感知或认知经验,使我们看到、听到或感…

企业微信开发:自建应用:应用形态(网页,小程序,默认页面)

概述 问题: 企业微信,自建应用,应该实现成什么样子?应用里是一个网页应用吗? 企业微信自建应用可以实现为多种形态,根据实际需求和功能设计,它可以是一个网页应用、一个小程序或者结合企业微信提…

【Pytorch】学习记录分享9——新闻数据集文本分类任务实战

【Pytorch】学习记录分享9——PyTorch新闻数据集文本分类任务 1. 认为主流程code2. NLP 对话和预测基本均属于分类任务详细见3. Tensorborad 1. 认为主流程code import time import torch import numpy as np from train_eval import train, init_network from importlib impo…

Python基础-05(输出输入、if、if else和elif)

文章目录 前言一、输出(print())和输入(input())二、if、if else、elif1.if2.if else3.关于输入input的默认值4.elif 前言 今天复习一些非常基础的内容,以及if、if else和elif语句 一、输出(print()&…

CMake入门教程【核心篇】添加应用程序(add_executable)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「本文的内容」:CMake入门教程 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 概述2. 使用方法2…

ARM Cortex-A学习(3):MMU内存管理单元

内存管理单元(MMU)负责虚拟地址到物理地址的转换。MMU通过翻译表将程序使用的虚拟地址映射到实际的物理内存位置,实现对内存的动态管理和隔离。这不仅允许更灵活的内存分配,还提高了系统的安全性和稳定性。了解MMU的工作原理对于开发底层代码、BootLoade…

【数据结构】二叉树的创建和遍历:前序遍历,中序遍历,后序遍历,层次遍历

目录 一、二叉树的定义 1、二叉树的定义 2、二叉树的五种形态 二叉树的子树 : 3、满二叉树与完全二叉树 4、二叉树的性质 5、二叉树的存储结构 1、顺序存储 ​编辑 2、链式存储 二、二叉树的遍历 按照前序序列构建二叉树 1、前 (先) 序遍历(Preorder …

神经网络:激活函数的介绍

神经网络的激活函数是一种非线性函数,它被应用于每个神经元的输出,以引入非线性性质到网络中。 激活函数的目的是将输入转换为输出,并且将输出限制在特定的范围内。它们非常重要,因为线性变换(例如加法和乘法&#xf…

【UEFI基础】EDK网络框架(环境配置)

环境配置 为了能够让使用测试BIOS的QEMU与主机(就是指普通的Windows系统,我们使用它来编译BIOS和启动QEMU虚拟机)通过网络连接,需要额外的配置。 首先是下载和安装OpenVPN(这里安装的是OpenVPN-2.5.5-I601-amd64.msi…

重新认识一下 vue3 应用实例

重新认识一下 vue 应用实例 💕 创建应用实例 每个 Vue 应用都是通过 createApp 函数创建一个新的 应用实例 应用实例必须在调用了 .mount() 方法后才会渲染出来。该方法接收一个“容器”参数,可以是一个实际的 DOM 元素或是一个 CSS 选择器字符串 //…

【GoLang入门教程】Go语言几种标准库介绍(四)

编程语言的未来? 文章目录 编程语言的未来?前言几种库fmt库 (格式化操作)关键函数:示例 Go库标准库第三方库示例 html库(HTML 转义及模板系统)主要功能:示例 总结专栏集锦写在最后 前言 上一篇,我们介绍了debug、enco…