究竟什么是 "新的 5G 通话"?
今天这篇文章,我们来聊聊今年很热门的一个概念——“5G新通话”。
小枣君当年第一次听说“5G新通话”的时候,还以为是VoNR的“新马甲”。
后来,仔细研究了一下,我才知道,原来“5G新通话”并不是VoNR,而是VoNR的加强版——“VoNR+”。
对于非专业人士来说,这时已经开始有点晕了——到底什么是VoNR?VoNR+和VoNR,区别在哪里呢?
别急,我们还是从头开始说起。
█ 从电路交换到分组交换:VoXX的崛起
语音通话,一直以来都是人类的基本通信需求,也是最常用的通信形式。
自从1876年亚历山大·贝尔发明了电话之后,长达100多年的时间里,人类的通信网络,都是基于“话路”进行构建的。
也就是说,如果我想给你打电话,那么,通信网络就要搭建一条“话路”,把你我连接起来。这条话路,行业也称为“电路”。这种网络交换方式,也称为“电路交换(Circuit Switching)”。
20世纪70-80年代,移动通信刚开始崛起时(1G-2G),也是“电路交换”。
80-90年代,随着以太网、TCP/IP、互联网的崛起,人类的通信需求开始发生巨变。通信技术的主要发展方向,从服务于传统语音通信(电路交换),转向了服务于数据报文通信(分组交换,Packet Switching)。
移动通信网络也顺应了这样的发展趋势。于是,从3G开始,重点发展数据业务,网络从“电路域”,转向“分组域”,逐渐IP化。
这就带来一个问题——
发展了100多年的语音通话,都是基于电路交换的,如果到了3G、4G时代,网络都变成了分组交换。那么,语音电话业务,该如何实现呢?我们总不能放弃电话功能吧?
于是,3GPP提出了IMS(IP Multimedia Subsystem,IP多媒体子系统)。
简单来说,IMS就是一个架构在IP网络上的服务器,专门提供多媒体业务。语音通话,还有文字短信、图片、音频、视频,其实都属于多媒体业务。所以,IMS的功能,非常强大。
到了4G阶段,通信行业就打算彻底抛弃电路交换设备了。以后的网络,统统都是分组交换。LTE,也就被定位为一个纯IP网络。
然后,像语音通话这样的业务,就交给“LTE(分组交换)+IMS”配合实现。这个业务,就是大名鼎鼎的VoLTE(Voice over LTE,基于4G的语音通话)。
2016年左右,4G刚刚商用的时候,运营商曾经使劲宣传过VoLTE,不知道大家是否还记得。
运营商的VoLTE海报(来自中国联通)
时间推移,我们又迎来了5G。那么,VoLTE,自然也要跟着升级一下。于是,就有了VoNR(Voice over New Radio,基于5G新空口的语音)。
VoNR是VoLTE的升级版,它们的技术架构非常相似,还是依赖于IMS。
从能力的角度来看,VoNR略有提升。
首先,纯种的VoNR,打电话时不需要回落到2G/3G/4G网络,通话接通时间更快。据说,可以低至2秒,最低只需1.6秒。
数据来自网优雇佣军
其次,音频通话质量提升。
VoNR可以采用EVS(Enhance Voice Services)编解码,具有更强的抗丢帧、抗延时、抗抖动和高保真能力,声音传输带宽由50Hz-7000Hz扩展到了20Hz-14000Hz,达到高保真耳机的音质水平。
第三,视频通话质量提升。
VoNR可以支持720p分辨率,比VoLTE通话的480p以及微信视频通话的540p更加清晰。
█ VoNR+:语音通话的第二春
VoNR,是5G时代语音通话业务的终极解决方案。但是,除了打电话之外,它还能不能有更大的作用呢?
大家都知道,经过这些年的建设,我们的5G网络已经初具规模。国内的5G基站数,已经突破了270万。而5G用户数,也达到6.34亿。
对于5G的价值,公众这边其实一直都是有争议的。且不论B端垂直行业那边的情况(还有待观察),至少在C端这边,用户并没有什么感知,也不太认可。
所以,通信行业这边,包括运营商和设备商,一直在寻找5G的爆款应用,在挖掘用户的痛点和需求。
C端的需求,其实说来说去,就是衣食住行、吃喝玩乐,例如聊天、游戏、视频等。大带宽业务的需求,唯一有指望的,就是VR/AR以及元宇宙。结果,搞了几年,也没搞起来。
所以,行业又将关注的目光,放在了基础业务上。
什么是基础业务?发短信、打电话。
于是,针对短信,通信行业提出了“5G消息”。针对通话,提出了“5G新通话”。
5G消息我之前专门介绍过(5G消息,到底是什么?),今天不再赘述。我还是重点说说“5G新通话”。
5G新通话,简单来说,就是一种基于5G网络的增强型语音通话业务。
它围绕传统语音通话业务,提供了更多的功能。例如,智能翻译、趣味通话、智能客服、内容分享、远程协助等。
这些功能,可以给用户带来更有趣、更生动、更多样化的通话体验,也有利于商业企业更好地触达用户,为用户提供服务。
█ 5G新通话的技术原理
在详细了解5G新通话的功能之前,我们先看一下5G新通话的技术原理。
前面小枣君提到,VoLTE和VoNR,都是借助IMS实现的多媒体业务。在传统数据业务(上网业务)的基础上,经由4G/5G网络,终端和IMS之间建立了一个大通道。
这个大通道,也分为音频通道、视频通道和信令通道等小通道。传统的VoLTE/VoNR音视频通话业务,就是借助这些小通道实现的。
而5G新通话业务,在这些已有通道的基础上,又引入了一个新通道,称为——数据通道(Data Channel,DC)。
Data Channel 数据通道
来源:华为
这个新通道,就可以用来传输文本、图片、视频、文件、位置、动作、涂鸦、菜单、VR/AR等一大堆东西,并衍生出很多有趣的玩法。
IMS DC的网络架构和业务流程比较复杂,讲多了大家肯定要“从入门到放弃”。
来自3GPP TS 23.228
简单来说,就是新增了几个网元,升级了现有网元(传统IMS,在能力上是难以支撑5G高性能网络的)。同时,全面走向5G的微服务(Service Based Interface,SBA)架构(详情链接)。
反正大家记住,IMS的系统框架和协议根基是不变的,只不过新增了一个数据通道。然后通道里的内容和格式,系统是不关心的,只要双方协商一致就行。
在IMS上,构建的是一个平台能力,允许向第三方开放。具体的业务,由第三方开发,承载在IMS DC通道上。
5G新通话的部署方案
(来自中国广电5G新通话白皮书)
5G新通话传输多样化内容所采用的技术,其实和互联网一样,就是Web技术。
例如:页面展现,用的是HTML和CSS语言;业务逻辑实现,用的是JavaScript;调用底层功能,用的是API接口。
█ 5G新通话的业务类别
接下来,我们来看看5G新通话的业务类别。
5G新通话的玩法实在太多,各个运营商和厂家对玩法的命名也不统一,所以,看上去会有点混乱。
我简单梳理了一下,大概包括以下几个类别:
- 趣味通话
这是一个典型的“逗逼”业务,专门面向年轻人。
简单来说,就是在通话时,实时构建三维人物模型或背景,创建双方的数字人形象(卡通头像等),然后也可以一边通话,一边发送表情包(送花、送蛋糕、送炸弹),增加趣味性。
来自中国广电
增加数据通道,也为VR/AR通话创造了可能性。将来,双方可以一起在元宇宙里对话了。
- 语音识别/内容翻译
在通话过程,基于语音识别技术,自动识别对方的说话内容,并以文字形式展现在屏幕上。
这个功能对于听障人士是非常有用的,他们从此也可以打电话了。
来自中国广电
对于一些会议需求,这个功能也有很大帮助,可以实时生成文字会议纪要。
在语音识别为文字的基础上,基于机器翻译技术,5G新通话还可以对文字内容进行翻译,方便跨语言社交需求。从此,你和老外打电话,也不用慌了。
- 内容分享/远程协助
在通话过程中,双方可以互相分享各自的屏幕内容,共享文件、共享位置信息,甚至观看同一个视频。
在分享内容的时候,对方可以进行内容标记。在标记视频中的人或物时,如果人或物发生了移动,标记也会自动跟着移动。
远程屏幕共享和标记
来自中国移动
在5G新通话中,一方还可以请求对方提供远程协助。
这个功能,显然非常适合我们对家里长辈进行手机操作指导。企业的远程运维和问题处理工作,也能用得上。
- 主叫名片
拨打电话时,主叫方可以通过文字、图片、视频等方式,向被叫用户推送自己的相关信息,例如姓名身份、通话目的、所处位置以及通话重要性等。
来自华为
这些信息可以呈现在被叫用户的手机屏幕上,便于被叫判断是否接听这次通话。
这对于一些*公务电话,以及打击电信诈骗,有一定的帮助。
- 智能客服
多样化的服务内容,显然也很适合toB场景,例如智能客服。
传统的电话客服,只能语音提示,然后按数字键选择。
有了5G新通话,首先,可以出现数字人客服,更加形象化。
来自中国移动
其次,通话时,屏幕上会显示详细的服务菜单。用户可以像在app里一样,进行选择操作(例如点餐、下单、订票)。
这些功能,避免用户陷入冗长的语音等待,大幅提升了问题处理效率,也改善了客户满意度。
值得一提的是,现在很火的chatGPT、文心一言等AI大模型,将来也可以与5G新通话结合,让智能客服更像真人。
请大家注意,上面我们提到的各类应用,都是手机原生支持的,不需要安装各自App。
换句话说,5G新通话业务,将各种App以小程序方式,集中到终端应用列表中,由网络侧自动推送到终端,以此实现业务。(而且,所有这些业务,都不占用流量费,只占用VoLTE/VoNR通话时长。)
对于用户来说,所需要做的,就是打开手机的原生拨号盘。(目前很多手机还未支持。)
终端侧的5G新通话支持架构
(来自中国移动5G新通话技术白皮书)
这降低了5G新通话的使用难度,有利于业务快速普及。
█ 5G新通话的商业进展
2020年,3GPP SA4工作组在R16中,首先将Data Channel的概念引入了IMS。
从那之后,这项新业务就进入了一个发展快车道。
2021年底,3GPP SA2工作组在R18中,立项了对IMS Data Channel架构、接口和流程以及基于IMS Data Channel的AR通信业务架构、接口和流程的研究和标准化工作。该项目将于近期结题。
除了3GPP之外,GSMA也有动作。他们于2022年初启动了IMS Data Channel Profile 规范的制定工作,目前该规范(GSMA PRD NG.134)已进入了发布前的审批流程。
在现网项目落地上,运营商的积极性比较高。他们早早就进行了5G新通话的测试验证,也在各大公开场合进行预热。
2022年4月,中国移动正式发布了5G新通话产品,成为全球首发该业务的电信运营商。
不久前的5月16日,中国移动携手高通宣布,联合了vivo、小米和中兴在内的手机厂商,在实验室和外场环境下完成了基于IMS Data Channel的5G新通话端到端业务验证。
目前,国内四家运营商都在推动5G新通话的试点。芯片和终端厂商也在加速推进。我们可以说,5G新通话已经逐渐进入商用化阶段。
█ 5G新通话的价值和意义
5G新通话,往小了看,就是5G的一个新业务、新应用。它是基础通话业务的升级,借助了5G的高性能,提供了更丰富的通信内容和形式,带来了更有趣的体验。
往大了看,这项业务的背后,其实还是暗藏了运营商的野心。
众所周知,互联网崛起之后,像腾讯、阿里、百度这样的公司,以OTT(Over the TOP)的形式,服务了大量用户,赚得盆满钵满。而运营商,逐渐沦为管道,收入受到很大影响。
所以,一直以来,运营商都希望切入到业务层面,哪怕只是掌握流量入口,都能参与到用户业务中,分到一些蛋糕。
5G新通话,还有5G消息,就是运营商非常看重的逆袭机遇。
大家可以看到,如果用户真的使用了这些业务,他们就可以绕开App生态,以及微信小程序生态,直接和业务服务商(航空公司、水电气公司、电商、医院等)建立业务服务通道。
这个新的生态,谁来控制呢?
运营商。
虽然运营商的想法很好,但事情到底会不会如愿,也很难说。5G新通话和5G消息一样,面临不小的挑战。
首先,用户的使用习惯,不容易改变。
大家用惯了App和微信小程序,现在又要改变使用习惯,难度很大。
其次,想要把5G新通话和5G消息搞成功,最重要的是生态。
你虽然搭建了平台,但是,业务服务商是否愿意入驻?第三方平台的开发成本高不高?前期用户少的情况下,这个投入值不值?这些都是有待商榷的。
如果业务服务商不入驻,5G新通话和5G消息的应用就会很少,用户也不会愿意来用。这就是一个死循环。
第三,除了一些B端业务(客服、报障)之外,作为普通用户,愿不愿意接受“趣味通话”、“内容共享”,也是一个问题。
这个社会,既有社牛(社交牛逼症),也有社恐(社交恐惧症)。很多人都说,现在通信发达了,人与人的通话反而少了。
现在,我们每个人的手机都支持视频通话。但是,大部分人,很少使用视频通话的功能,有时候甚至语音通话都不愿意,只发一条微信,不是吗?
所以,我们可能放大了用户对沉浸式通话体验的需求。通信的本质,也许最淳朴的方式,恰好是最合适的方式。
█ 结语
总而言之,5G新通话作为一项新业务,我们还是需要冷静对待。
随着时间的推移,当越来越多的用户用上了这个业务,我们才能知道它会带来什么,它能不能成功。
我个人反正是比较期待的,已经报名体验了。等到真正用上,我再来给大家汇报感受。
好了,今天的内容就是这些,感谢大家的耐心观看!如果觉得文章不错,还请多多转发!非常感谢!
参考文献:
1、《中国广电5G新通话白皮书(2023年版)》;
2、《中国移动5G新通话技术白皮书2022》;
3、《中国信通院:5G新通话技术与业务创新研究报告(2022年)》
4、《“5G新通话”是什么?》,5G终端漫谈;
5、《VoNR来了,它到底是什么技术?》,网优雇佣军;
6、《“5G新通话”是什么?》,中兴文档。
推荐阅读
-
究竟什么是 "新的 5G 通话"?
-
epoll简介及触发模式(accept、read、send)-epoll的简单介绍 epoll在LT和ET模式下的读写方式 一、epoll的接口非常简单,一共就三个函数:1. int epoll_create(int size);创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。这个参数不同于select中的第一个参数,给出最大监听的fd+1的值。需要注意的是,当创建好epoll句柄后,它就是会占用一个fd值,在linux下如果查看/proc/进程id/fd/,是能够看到这个fd的,所以在使用完epoll后,必须调用close关闭,否则可能导致fd被耗尽。2. int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);epoll的事件注册函数,它不同与select是在监听事件时告诉内核要监听什么类型的事件,而是在这里先注册要监听的事件类型。第一个参数是epoll_create的返回值,第二个参数表示动作,用三个宏来表示:EPOLL_CTL_ADD:注册新的fd到epfd中;EPOLL_CTL_MOD:修改已经注册的fd的监听事件;EPOLL_CTL_DEL:从epfd中删除一个fd;第三个参数是需要监听的fd,第四个参数是告诉内核需要监听什么事,struct epoll_event结构如下:struct epoll_event { __uint32_t events; /* Epoll events */ epoll_data_t data; /* User data variable */};events可以是以下几个宏的集合:EPOLLIN :表示对应的文件描述符可以读(包括对端SOCKET正常关闭); EPOLLIN事件:EPOLLIN事件则只有当对端有数据写入时才会触发,所以触发一次后需要不断读取所有数据直到读完EAGAIN为止。否则剩下的数据只有在下次对端有写入时才能一起取出来了。现在明白为什么说epoll必须要求异步socket了吧?如果同步socket,而且要求读完所有数据,那么最终就会在堵死在阻塞里。 EPOLLOUT:表示对应的文件描述符可以写; EPOLLOUT事件:EPOLLOUT事件只有在连接时触发一次,表示可写,其他时候想要触发,那要先准备好下面条件:1.某次write,写满了发送缓冲区,返回错误码为EAGAIN。2.对端读取了一些数据,又重新可写了,此时会触发EPOLLOUT。简单地说:EPOLLOUT事件只有在不可写到可写的转变时刻,才会触发一次,所以叫边缘触发,这叫法没错的!其实,如果真的想强制触发一次,也是有办法的,直接调用epoll_ctl重新设置一下event就可以了,event跟原来的设置一模一样都行(但必须包含EPOLLOUT),关键是重新设置,就会马上触发一次EPOLLOUT事件。1. 缓冲区由满变空.2.同时注册EPOLLIN | EPOLLOUT事件,也会触发一次EPOLLOUT事件这个两个也会触发EPOLLOUT事件 EPOLLPRI:表示对应的文件描述符有紧急的数据可读(这里应该表示有带外数据到来);EPOLLERR:表示对应的文件描述符发生错误;EPOLLHUP:表示对应的文件描述符被挂断;EPOLLET: 将EPOLL设为边缘触发(Edge Triggered)模式,这是相对于水平触发(Level Triggered)来说的。EPOLLONESHOT:只监听一次事件,当监听完这次事件之后,如果还需要继续监听这个socket的话,需要再次把这个socket加入到EPOLL队列里3. int epoll_wait(int epfd, struct epoll_event * events, int maxevents, int timeout);等待事件的产生,类似于select调用。参数events用来从内核得到事件的集合,maxevents告之内核这个events有多大,这个maxevents的值不能大于创建epoll_create时的size,参数timeout是超时时间(毫秒,0会立即返回,-1将不确定,也有说法说是永久阻塞)。该函数返回需要处理的事件数目,如返回0表示已超时。-------------------------------------------------------------------------------------------- 从man手册中,得到ET和LT的具体描述如下EPOLL事件有两种模型:Edge Triggered (ET)Level Triggered (LT)假如有这样一个例子:1. 我们已经把一个用来从管道中读取数据的文件句柄(RFD)添加到epoll描述符2. 这个时候从管道的另一端被写入了2KB的数据3. 调用epoll_wait(2),并且它会返回RFD,说明它已经准备好读取操作4. 然后我们读取了1KB的数据5. 调用epoll_wait(2)......Edge Triggered 工作模式:如果我们在第1步将RFD添加到epoll描述符的时候使用了EPOLLET标志,那么在第5步调用epoll_wait(2)之后将有可能会挂起,因为剩余的数据还存在于文件的输入缓冲区内,而且数据发出端还在等待一个针对已经发出数据的反馈信息。只有在监视的文件句柄上发生了某个事件的时候 ET 工作模式才会汇报事件。因此在第5步的时候,调用者可能会放弃等待仍在存在于文件输入缓冲区内的剩余数据。在上面的例子中,会有一个事件产生在RFD句柄上,因为在第2步执行了一个写操作,然后,事件将会在第3步被销毁。因为第4步的读取操作没有读空文件输入缓冲区内的数据,因此我们在第5步调用 epoll_wait(2)完成后,是否挂起是不确定的。epoll工作在ET模式的时候,必须使用非阻塞套接口,以避免由于一个文件句柄的阻塞读/阻塞写操作把处理多个文件描述符的任务饿死。最好以下面的方式调用ET模式的epoll接口,在后面会介绍避免可能的缺陷。 i 基于非阻塞文件句柄 ii 只有当read(2)或者write(2)返回EAGAIN时才需要挂起,等待。但这并不是说每次read时都需要循环读,直到读到产生一个EAGAIN才认为此次事件处理完成,当read返回的读到的数据长度小于请求的数据长度时,就可以确定此时缓冲中已没有数据了,也就可以认为此事读事件已处理完成。Level Triggered 工作模式相反的,以LT方式调用epoll接口的时候,它就相当于一个速度比较快的poll(2),并且无论后面的数据是否被使用,因此他们具有同样的职能。因为即使使用ET模式的epoll,在收到多个chunk的数据的时候仍然会产生多个事件。调用者可以设定EPOLLONESHOT标志,在 epoll_wait(2)收到事件后epoll会与事件关联的文件句柄从epoll描述符中禁止掉。因此当EPOLLONESHOT设定后,使用带有 EPOLL_CTL_MOD标志的epoll_ctl(2)处理文件句柄就成为调用者必须作的事情。然后详细解释ET, LT:LT(level triggered)是缺省的工作方式,并且同时支持block和no-block socket.在这种做法中,内核告诉你一个文件描述符是否就绪了,然后你可以对这个就绪的fd进行IO操作。如果你不作任何操作,内核还是会继续通知你的,所以,这种模式编程出错误可能性要小一点。传统的select/poll都是这种模型的代表.ET(edge-triggered)是高速工作方式,只支持no-block socket。在这种模式下,当描述符从未就绪变为就绪时,内核通过epoll告诉你。然后它会假设你知道文件描述符已经就绪,并且不会再为那个文件描述符发送更多的就绪通知,直到你做了某些操作导致那个文件描述符不再为就绪状态了(比如,你在发送,接收或者接收请求,或者发送接收的数据少于一定量时导致了一个EWOULDBLOCK 错误)。但是请注意,如果一直不对这个fd作IO操作(从而导致它再次变成未就绪),内核不会发送更多的通知(only once),不过在TCP协议中,ET模式的加速效用仍需要更多的benchmark确认(这句话不理解)。在许多测试中我们会看到如果没有大量的idle -connection或者dead-connection,epoll的效率并不会比select/poll高很多,但是当我们遇到大量的idle- connection(例如WAN环境中存在大量的慢速连接),就会发现epoll的效率大大高于select/poll。(未测试)另外,当使用epoll的ET模型来工作时,当产生了一个EPOLLIN事件后,读数据的时候需要考虑的是当recv返回的大小如果等于请求的大小,那么很有可能是缓冲区还有数据未读完,也意味着该次事件还没有处理完,所以还需要再次读取: 这里只是说明思路(参考《UNIX网络编程》) while(rs) {buflen = recv(activeevents[i].data.fd, buf, sizeof(buf), 0);if(buflen < 0){// 由于是非阻塞的模式,所以当errno为EAGAIN时,表示当前缓冲区已无数据可读// 在这里就当作是该次事件已处理处.if(errno == EAGAIN)break; else return; }else if(buflen == 0) { // 这里表示对端的socket已正常关闭. } if(buflen == sizeof(buf) rs = 1; // 需要再次读取 else rs = 0; } 还有,假如发送端流量大于接收端的流量(意思是epoll所在的程序读比转发的socket要快),由于是非阻塞的socket,那么send函数虽然返回,但实际缓冲区的数据并未真正发给接收端,这样不断的读和发,当缓冲区满后会产生EAGAIN错误(参考man send),同时,不理会这次请求发送的数据.所以,需要封装socket_send的函数用来处理这种情况,该函数会尽量将数据写完再返回,返回-1表示出错。在socket_send内部,当写缓冲已满(send返回-1,且errno为EAGAIN),那么会等待后再重试.这种方式并不很完美,在理论上可能会长时间的阻塞在socket_send内部,但暂没有更好的办法. ssize_t socket_send(int sockfd, const char* buffer, size_t buflen) { ssize_t tmp; size_t total = buflen; const char *p = buffer; while(1) { tmp = send(sockfd, p, total, 0); if(tmp < 0) { // 当send收到信号时,可以继续写,但这里返回-1. if(errno == EINTR) return -1; // 当socket是非阻塞时,如返回此错误,表示写缓冲队列已满, // 在这里做延时后再重试. if(errno == EAGAIN) { usleep(1000); continue; } return -1; } if((size_t)tmp == total) return buflen; total -= tmp; p += tmp; } return tmp; } 二、epoll在LT和ET模式下的读写方式 在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK) 从字面上看, 意思是: * EAGAIN: 再试一次 * EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block * perror输出: Resource temporarily unavailable 总结: 这个错误表示资源暂时不够, 可能read时, 读缓冲区没有数据, 或者, write时,写缓冲区满了 。 遇到这种情况, 如果是阻塞socket, read/write就要阻塞掉。 而如果是非阻塞socket, read/write立即返回-1, 同 时errno设置为EAGAIN. 所以, 对于阻塞socket, read/write返回-1代表网络出错了. 但对于非阻塞socket, read/write返回-1不一定网络真的出错了. 可能是Resource temporarily unavailable. 这时你应该再试, 直到Resource available. 综上, 对于non-blocking的socket, 正确的读写操作为: 读: 忽略掉errno = EAGAIN的错误, 下次继续读 写: 忽略掉errno = EAGAIN的错误, 下次继续写 对于select和epoll的LT模式, 这种读写方式是没有问题的. 但对于epoll的ET模式, 这种方式还有漏洞. epoll的两种模式 LT 和 ET
-
究竟什么是新媒体运营?
-
为什么说万兆以太网是城域网的新带宽标准?
-
aps是什么意思_不同的富士APS-C画幅微单区别在哪里,档次是怎么划分的?-X-A系列原本指的是富士的入门级微单,最大的特点是没有使用富士X-Trans™CMOS 传感器,目前在售的有两款,分别是XA5和XA7。 富士(FUJIFILM)X-A5/XA5 15-45套机 富士(FUJIFILM)X-A7/XA7 15-45套机 目前这两款相机都处于历史最低价附近,XA5套机2699元,XA7套机3999元。XA5就是一个标准的入门级相机,定位就是时尚小巧自拍,在2699这个价位不要对它的性能有太多的奢求。 XA7价格来到了3999元,这就很有意思了,富士把入门型的相机价格推到了4000元,并且提供了自拍翻转屏和4K30P视频录制,这样一款相机就很有性价比了。 XE3是老款的中端相机,价格和入门级的XA7是一样的,都是3999元,这两款相机如何做选择呢?XE3有着更多的按键意味着更好的操控,但屏幕不是自拍翻转屏所以这点不如XA7好用。 要注意的是XE3用的是富士独有的X-Trans™CMOS III传感器,XA7是普通的2400万像素传感器,你可以理解为X-Trans才是富士的精髓。 富士(FUJIFILM)X-E3 15-45套机 当然,买新不买旧,XA7的新功能和自拍翻转屏可能会更适合你。 XT200是富士专门针对vlog市场推出的相机,其实之前的XA7也可以拍摄vlog,但XT200是富士官方宣传中的第一款vlog相机。数码防抖+3.5mm 麦克风口+自拍翻转屏+无裁切4K30P,这些都是XT200的优势,但这款相机也是普通的2400万像素传感器,没有用富士独有的X-Trans,可能是从价格角度考虑做了阉割吧。 富士(FUJIFILM)X-T200/XT200 微单相机 Vlog相机 富士XT30是我认为富士性价比最高的微单照相机,注意我说的是照相机。理由很简单,因为从拍照角度来看XT30和XTXT3几乎没有明显差距,主要是操控差了一些、视频性能大幅削弱,但好歹也是个有着双波轮+曝光补偿波轮+快门速度波轮的相机,操控方面不会太差的。视频方面也有着超采4K 30P的规格,支持F-log输出。 可以这么说,如果你只拍照,那么XT30是富士微单中性价比最高的,视频方面XT30也不差,只不过没有专业的10bit和4K60P而已。 富士(FUJIFILM)X-T30/XT30 15-45套机 XT3和XT4得放在一起说,这两款相机其实都挺好,420 10bit 4K60P的专业视频模式基本代表了APS-C画幅的上限水平。XT4还提升了电池续航增加了五轴防抖,配上富士独特的胶片滤镜,不管是拍照还是拍视频都非常优秀。 不要觉得这两款相机贵,同价位里能做到4K60P的微单也就是M43画幅的GGHGH5S,最便宜的G9机身也要7000多,这APS-C画幅的XT3机身接近8000也算合理价格范围内。除此之外的4K60P机身只有13998的松下S5和15999的佳能R6了。 富士(FUJIFILM)X-T3/XT3 1855套机 富士(FUJIFILM)X-T4/XT4 微单相机 套机(18-55mm) B站更新4K视频投稿后有很多人想拍摄4K升格,在很长一段时间里富士XT3和XT4是最优选,毕竟兼顾视频和拍照,对焦也还算能用。 X-Pro3和X-Pro2这两款微单可以算是旁轴相机,是富士官方意义上的旗舰级相机。从用料做工操控按键角度来说的确是旗舰级别,但视频性能方面只有4K30P,价格却比XT3还贵,可能这就是旁轴情怀带来的溢价吧。 富士(FUJIFILM)X-Pro3 微单相机 机身 黑色 我在之前的文章里提过很多次,有一些相机属于如果你想买你压根不会看测评,如果你犹豫那么这款相机不适合你,为什么这么说,因为有一些比较小众的相机可能在性能上并不好,但独特的外形、操控、体积、传承赋予了它独特的定位。譬如富士X-Pro系列微单就是旁轴的电子化,理光GR传承大师的扫街理念,尼康DF的外形源自胶片时代的相机,这些相机就不是针对大多数消费者的,定位就是小众。所以我说喜欢就买,不要考虑什么性能规格。 X100系列相机是一款不可换镜头的等效35mm旁轴数码相机,从外形看就是经典的复古造型。这两款相机和X-Pro3一样,如果你喜欢那就买,别犹豫, 你在市场上找不到同类型的其他数码相机,徕卡Q是28mm,索尼RX1R系列是35mm但外形不够复古,X100系列就是独特的你没有其他选择。 那么X100F和X100V该如何选择呢?X100F的镜头很一般甚至算不上好,如果我没记错的话和初代的X100是同款镜头,X100V的镜头是全新制作的很棒,X100V的机身性能也和XTX-Pro3差不多。 富士(FUJIFILM)X100F 数码相机 旁轴 2430万像素 富士(FUJIFILM)X100V 数码相机 旁轴 2610万像素 还是那句话,这两款相机也是那种如果你喜欢那就毫不犹豫下单的类型,而且这两款相机也没有竞品。 以前不推荐富士的原因是原厂镜头太贵,现在唯卓仕给富士出了四款可以自动对焦的大光圈镜头,覆盖35到130mm的焦段,可以基本满足人像摄影爱好者的需求。拍风景的话国产很多镜头厂商都有富士卡口的手动镜头可以选择,从这个角度来说富士微单就非常值得入手了。 和友商竞品相比:
-
iCloud 切换区域,中国区保留 appStore(更新)--自 2018 年 2 月 28 日起,中国区 iCloud 由云上贵州管理 苹果公司发布的公告 https://support.apple.com/zh-cn/HT208352 关键词 关键部分 受影响的 iCloud 账户:国家或地区设置为 "中国 "的 Apple ID。 iCloud 包含的服务照片、邮件、通讯录、日历、提醒事项、备忘、书签、钱包、钥匙串、云备份、云驱动器、应用程序数据 新条款和条件: 同意仅出于本协议允许的目的并在中国法律允许的范围内使用服务。 云桂洲在提供服务时应使用合理的技能并尽职尽责,但在适用法律允许的最大范围内,我们不保证或担保您通过本服务存储或访问的任何内容不会意外损坏、崩溃、丢失或根据本协议的条款被删除,如果发生此类损坏、崩溃、丢失或删除,我们不承担任何责任。您应自行负责维护您的信息和数据的适当备份。 Apple 和云上贵州有权访问您存储在服务中的所有数据,包括有权根据适用法律相互之间共享、交换和披露所有用户数据(包括内容)。 本协议的解释、效力和履行应适用*法律。对于因本协议引起的或与本协议有关的任何争议,云桂洲和您同意提交中国国际经济贸易仲裁委员会(CIETAC)根据提交仲裁时有效的法律在北京进行具有约束力的仲裁。 由云桂洲管理,用户选择: 停用; ID 到地区; 受 iCloud(由云桂洲运营)条款和条件约束 首先,我想说说我对数据安全的看法。 当我在朋友圈发布通知时,有些朋友回复说国外的操作并没有多安全,或者国外的安全只是相对于国外而言的等等。首先,我非常感谢这些朋友,这让我反思什么是数据安全。以下观点均属个人观点: 国外的月亮一定比国内圆? 这是一个根深蒂固的问题,只要有人说国外的东西比国内好,就会有人嘲笑崇洋媚外。我觉得我们在某些方面应该向国外学习,比如搜索引擎和版权问题。打开百度搜索 "数据安全",第一行肯定是广告。打开谷歌搜索 "数据安全",第一条就是 "数据安全_百度百科" .....各种版权问题大家都明白,支持正版,但不仅客户一心想找免费破解,就连作者也往往没有保护自己劳动成果或产品的想法。但从另一个层面来说,国内的发展和安全,甩国外几条街。没有说哪里好,哪里不好,辩证地去学习更好。 国外也有别有用心的数据泄露,谈何安全? 从加密解密的角度看,自古以来就没有绝对安全的加密,只有相对安全的做法。苹果的棱镜门、微软的 cpu 漏洞,各种参差不齐的被破解案例 ....是的,这的确是一个很好的论据,但凡事都不能只看一面,当年苹果面对FBI破解手机的要求,几经论证,苹果还是拒绝破解。这点拿到国内,只要上面的文件传达下去,还有企业敢说不吗?还敢说不吗? 关于这次iCloud数据迁移个人看法? 把数据迁移到贵州的云端,相当于把手机的所有数据都存储在贵州的云端服务器上。也许访问数据的速度会快很多,但我会把我的iCloud区放到美国,因为我不想数据存在云上贵州后经常接到莫名其妙的电话或短信,更不想因为乱用国外服务器而被请去喝茶。iCloud一个ID,即从中国账号转到美国区,主要用于数据存在美国服务器上。appStore一个ID,除了注册一个中国ID外,专门用来下载应用用,因为国外ID不支持酷狗和网易云等应用。麻烦的是,用了新的 appStore ID 后,当前的应用还得重新下载安装,因为旧的应用 ID 与新的应用 ID 不兼容,安装不了。最后,iCloud迁移后,国内用户使用美国服务器,估计要 "扶墙 "了。 专业步骤: 首先,进行appleID设置,这是前提条件,否则无法选择转移区域! 取消 appleID 的双重认证 取消家庭共享选项 二、窗口下载并安装 icloud 3.0 版
-
什么是 4G+、VoLTE 和载波聚合?-现在我们谈论的是载波聚合,什么是载波?载波是一辆卡车,在路上运送信息和货物是它唯一的职责。任何信息,如手机通话和上网,都要转换成电信号,由载波来承载和传输。
-
二元空间的张量,究竟什么是二元空间?-双基
-
涌铧投资洪亦修:究竟什么是哒哒英语的制胜之道?我们只看有强大竞争力的企业
-
简单易懂版 - 什么是粒子群算法(PSO)?" - PSO 是这样工作的: 想象一群小鸟寻找食物,它们会互相学习、竞争并跟随最优秀的伙伴。这就是模仿群体智慧(Swarm Intelligence,SI)的粒子群优化算法,由 Eberhart 博士和 Kennedy 博士创造,属于多智能体优化系统(MAOS)的一员。 - 数学背后的逻辑: - 每只“鸟”(粒子)依据邻居过去的发现来飞得更好: 1. 受到激励的好位置(Pbest) 2. 与附近伙伴的成绩对比 3. 阿婆姨领先者的模仿 - 模型简化来说,每个粒子像 D 维空间的理想点,按特定速度飞行,速度随自身经验和同伴表现实时调整。我们用 Xi 表示 D 个粒子的集合,其中 Pi 存储过最佳位置,Pg 是群体中最优的位置,Vi 是粒子的速度。 - 更新规则: - **速度更新**:有点像梯度下降法中的导数概念,但因鸟群数量大,能有效跳出局部最优区域,引导群体朝全局最优方向前进。 - **位置更新**:在固定的时间内,新移动的距离就是 Vi(即速度向量在单位时间内的累积效果)。 - 参数简述:粒子群算法涉及多个参数,如粒子数量、学习因子(影响对过去经验的重视程度)、加速常数(控制探索与利用之间的平衡),这些参数的选择会影响算法的实际性能和收敛速度。