前端视角解密双十一晚会的魔术节目

简介:        有幸被邀请在23号的云栖社区大会上做了个前端相关的主题分享,分享的主题是——《前端视角解密双十一晚会的魔术节目》。        其实在今年8月份的云栖大会上,阿里云宣布推出人工智能ET,引起了业内的广泛关注。而在双十一晚会上,为了能够引出

       有幸被邀请在23号的云栖社区大会上做了个前端相关的主题分享,分享的主题是——《前端视角解密双十一晚会的魔术节目》。

       其实在今年8月份的云栖大会上,阿里云宣布推出人工智能ET,引起了业内的广泛关注。而在双十一晚会上,为了能够引出马总及后面的节目,ET也参与表演了一个魔术。

       在视频中大家会发现,ET有一段时间的停顿,没有很快地进行回话。是什么原因导致了这样一个情况发生。答案在最后揭晓。

       下面让我们来看一下前端在整个工程中我们都做了哪些事情,来保障整个双十一节目的一个顺利进行。这一张是双十一当晚,ET的整个架构图。

1.png

       这张图里可以看到所有的东西可以说都是由我们小组的前端同学在cover,包括整个的架构以及同电视台各个部门间的一个对接。我们不仅要进行页面的开发,还要保障整个节目的效果以及稳定性。为了保障整个的稳定性,我们在前后端的中间加入了一个数据的传输层,采用了创建多路webworker,然后每条worker同时创建websocket的方式,来保证数据在传输的过程中不会出现意外。即便有一个连接挂了,或者一个线程挂了,也会有备用的线程去保障这个传输。数据传输层的结构图如下:

2.png

       当然每个worker里也有非常复杂的流程,如果两个线程同时都去进行数据的传输,那必然就会造成一个资源的浪费及数据的冗余的问题。所以我们做了一个前端的分布式设计,两段式提交。来实现多线程的一个协同。

3.png

       除了数据的传输,在这个传输的通道上,传输的数据的大小及质量都是我们需要去保障的。主要包含了如下几块:

  1. 语音采集( 引入MediaStreamRecorder来实现语音采集,解决浏览器兼容性及降级问题 )
  2. 语音降噪
  3. 语音压缩( 对音频进行三段式的压缩,最后将采样率从44Khz压缩到14Khz。即保证了清晰度,也更接近后端的接收标准,不影响语音解析 )

       上面讲到的这些东西都是软件层面的。如果中间硬件出问题了,我们该怎么办呢。因为当时这个节目,如果按照时间来算成本的话,浙江卫视在黄金时间5分钟的一个广告价格大约是5000万左右。所以在整个的节目过程中我们是绝对不允许失败的。所以我们当时做了很多的预案( 大家可以参照上面的ET架构图来理解 )。

  1. 图像识别功能挂了 -> 使用一个猫的图片来替换人脸
  2. 后台语音服务挂了 -> 隐藏ET的实时翻译字幕条
  3. 控制台机器挂了 -> 通过前端机预设的一套键盘指令保证节目继续进行
  4. 前端机也挂了 -> 这个...我们也想了办法,找了个配音演员在后台模拟ET的声音继续节目的表演

       不只是前端!可以看到前端在整个事件中发挥的一个作用,不仅仅是工程的开发,我们还承担了大多数稳定性保障的工作,还需要关注到各种软件硬件的对接,输入输出的格式和质量。以及在直播过程中要去关注的一些保底的方案,及和电视台对接的方案。大家看到的东西可能只是我们前端在中间付出的冰山一角。

最后该来揭秘,为什么et在节目过程中会有一段失误。这并不是我们的服务挂了,这个锅应该是华少来背。因为主持人在台上的时候不止跟et有对话。跟观众跟参加魔术的美女都有对话。为了能知道哪些话是对et说的。我们采用了一个简单粗暴的办法。加入关键词,当对话中有这个关键词的时候,et才会去进行人机对话。但是在当时的对话里。华少不仅忘了词,还把关键词也忘了。导致了et没能进行正常的人机对话。那么大家来猜猜这个关键词是什么吧~

目录
相关文章
|
8月前
|
前端开发 API 开发者
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
本文由黑臂麒麟(6年前端经验)撰写,介绍ArkTS开发中的常用基础组件与布局组件。基础组件包括Text、Image、Button等,支持样式设置如字体颜色、大小和加粗等,并可通过Resource资源引用统一管理样式。布局组件涵盖Column、Row、List、Grid和Tabs等,支持灵活的主轴与交叉轴对齐方式、分割线设置及滚动事件监听。同时,Tabs组件可实现自定义样式与页签切换功能。内容结合代码示例,适合初学者快速上手ArkTS开发。参考华为开发者联盟官网基础课程。
677 75
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
|
9月前
|
人工智能 自然语言处理 前端开发
从前端视角聊聊通义灵码使用经验,如何更好地提升研发效率
从前端视角聊聊通义灵码使用经验,如何更好地提升研发效率
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
211 2
【前端学java】如何从前端视角快速学习Maven
|
前端开发 JavaScript Java
从前端开发的视角来搭建本地java开发环境
从前端开发的视角来搭建本地 java 开发环境,其实主要也就 java 环境、maven 包管理工具、IntelliJ IDEA 开发工具这3个方面,对应前端中的 nodejs 环境、npm 包管理工具、vscode 开发工具。
|
前端开发 UED CDN
从前端工程师的视角看待用户体验优化
在当今互联网高度竞争的时代,用户体验优化已经成为各个企业追求的目标之一。作为前端工程师,我们不仅要关注页面的美观和交互设计,更要深入了解用户行为和需求,从而为用户提供更好的体验。
|
Web App开发 监控 程序员
从前端程序员的视角看小程序的稳定性保障
当我们谈业务稳定性的时候,通常是指后端工程师从架构的角度来看的,例如限流和降级、流量调度、业务开关、容量压测等,但监控也是整个业务稳定性建设中不可或缺的一环,例如对业务和前端的监控,以保证出现问题的时候,可以第一时间找到根因所在。
4052 101
|
前端开发 人机交互 UED
浅谈前端视角下的用户体验
浅谈前端视角下的用户体验
1798 0
浅谈前端视角下的用户体验
|
设计模式 XML 数据可视化
降低前端业务复杂度新视角:状态机范式
无论做业务需求还是做平台需求的同学,随着需求的不断迭代,通常都会出现逻辑复杂、状态混乱的现象,维护和新增功能的成本也变的十分巨大,苦不堪言。下图用需求、业务代码、测试代码做对比:
499 0
降低前端业务复杂度新视角:状态机范式
|
人工智能 前端开发 语音技术
前端视角解密双十一晚会的魔术节目
在云栖社区举办的云栖计算之旅第3期——前端专场沙龙中,阿里云数加资深前端工程师王朗从前端的视角为大家解密了双十一晚会的魔术节目。在分享中,他从软硬件两个角度出发详细讲解了ET的工作原理。
3244 0
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
990 14

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 2
    前端工程化演进之路:从手工作坊到AI驱动的智能化开发
  • 3
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 6
    实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    387
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    142
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    154
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    117
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    213
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    266
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    134
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    65
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    129
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    174