「如何实现流动式软件发布」线上课堂开课啦,快来报名参与课堂抽奖吧~ 了解详情
写点什么

爱奇艺互动剧创作技术实操攻略

2020 年 1 月 03 日

爱奇艺互动剧创作技术实操攻略

21 个互动节点,17 种结局,260 分钟剧集……今年 6 月国内首部互动剧《他的微笑》上线开播。和大部分人一样,什么是互动剧?互动剧与技术如何衔接?带着强烈的好奇心,小编首次开启了互动剧创作技术实操攻略之旅。


写在前面

互动剧是指观看者能够介入到影视中的情节,有别于传统的观看剧集的形式和视频内容,可以通过互动对内容产生持续性的相互影响。目前互动影视呈现了多个发展方向,其一,是通过多个分支剧情和多种结局实现观众观看过程中的互动体验。观众在观看过程中每触发一个情节结点,都需要通过播放器内的选项按钮或交互控件来选择剧情走向,伴随着剧情的深入,观众会进入不同的叙事段落并达成不同的结局。


它提供给观众在观看视频过程中更强的代入感和参与感,强化观众与剧情中的角色的共情,让观众自己决定剧情走向和结局。其二,是注重通过互动设计来加强沉浸式叙事的互动叙事类作品,比如观众除了通过操作主角的选择参与到故事中,还可以参与破解机关、谜题等。


爱奇艺通过播放器技术和脚本交互技术,实现了对于互动娱乐的功能实践,及影视内容的消费形式升级。创作互动剧设立的愿景主要体现在了代入、探索、共情这三个关键词:


1、代入。在这一点上希望可以帮助观众进入到整个剧情当中,假想自己扮演某个角色。通过执行角色的动作,做出角色的选择,以角色的视角观察并进入到角色中。而与游戏不同的是,在不同桥段中扮演的角色可能不同,以为剧情叙事服务为宗旨。


2、探索。鼓励观众去探索剧情,通过与剧情和场景的交互,主动发现剧情。而与游戏不同的是,爱奇艺互动剧不同于沙箱式或开放式的完全自由的探索。提供观众探索是期望主动的操作行为,能更好的匹配观众情绪释放剧情高潮的节奏。


3、共情。在互动剧中创造的所有互动体验,其最终目的在于让观众和剧情产生更大的共鸣,更加身心合一的体验人物内心。从而更好地表达剧本叙事的意图,观众获得更加完整和丰富的体验。


实践干货

设计要素


爱奇艺互动剧主要基于 4 个设计要素进行:


1、桥段。剧情中一个大的段落,通常是一幕或者是一个故事段落。通过对一个桥段的互动化编辑,能完整表现一个故事,为剧情主旨服务。一个桥段通常包含多个带有互动的场景。


2、场景。在一个地点下发生的一段故事,包含一个完整的交互过程。场景是能帮助观众体验一个完整互动过程的最小单位。一个互动场景必须包括完整的元素显示,交互输入和交互输出。


3、交互。包含输入和输出两种。输入交互决定了观众参与的方式,输出交互决定了观众收到反馈的形式。交互通常需要和元素配合才能组成场景。


4、元素。通常指一个控件或一个行为。元素是交互的承载体,观众面向元素触发输入交互,能得到一个输出交互结果。多个元素和交互的组合构成一个场景。


基础模块


爱奇艺的互动剧基于产品技术,内容平台,剧作方的合作达成一套完整流程,流程图示意如下:



爱奇艺定义了一套互动剧的交互协议与命令标准,并搭建了整套协议的交互流程,下发流程,配置流程,并将封装后的的标准提供给剧作方,便于其进行内容的制作和上传。


在技术层面,爱奇艺实现了四个主要模块,包括初始化管理模块,交互管理模块,互动组件管理模块,故事线管理模块,功能简要描述如下:


初始化管理模块:调用其他各模块提供的接口,完成了从互动信息获取分析到互动视频开播的全流程。


1、交互管理模块:互动视频功能构件核心业务模块,实现了交互展示逻辑、交互命令处理、互动片段联播逻辑功能。


2、互动组件管理模块:通过脚本语言和针对不同移动平台的编程规制,实现了协议的桥接,封装动态创建互动组件、监听观众互动操作等功能。


3、故事线管理模块:实现了线形、树形故事线的绘制、展示,并管理故事线相关观众操作。


除主要模块外,为了支撑整体框架的流畅,稳定运行,爱奇艺同时开发了版本控制,数据统计,脚本管理,播放记录等模块,这些模块同主要模块一起构成了爱奇艺互动剧的整体架构。


主要模块的运作流程如下图所示:



1、当各入口调起互动播放页时除传递视频 ID、专辑 ID 等基本播放数据外,还需将奇谱字段中表示互动能力的三个字段传递给互动播放页。


2、互动播放页将基本将信息传递给互动播放器,互动播放器调用互动视频功能构件开始执行初始化操作。初始化工作流程及内容如下:


1)依次检查是互动开关是否打开、平台上互动业务云控开关是否开启。


在分支剧情类型中,互动播放器被调用时互动播放页传递的视频 ID 所对应的视频叫做入口片段,是整个互动视频中的第一阶段。在画面信息探索类型中,互动播放器被调用时互动播放页传递的视频 ID 所对应的视频叫做主视频。从任意页面调起互动播放器时对于同一个互动视频来说入口片段/主视频视频 ID 相同。


2)从后台请求经过版本控制处理的脚本地址,成功后开始进行脚本下载、解压缩、解密、解析。


3)若当前互动类型为分支剧情类型,则请求互动后台互动播放记录接口。若不存在历史记录则使用互动播放页传递给互动播放器的视频 ID 等信息初始化播放内核,若存在历史记录则使用互动后台返回的视频 ID 等信息初始化播放内核。


3、初始化交互管理模块,并当视频开始播放时执行以下步骤:


1)利用脚本管理模块提供的接口,查询从当前视频播放时间点向后距离当前视频播放时间点最近的一个交互区间(下一交互区间)。


2)若没有找到下一交互区间则利用脚本管理模块提供的接口查询当前视频片段播放完毕之后将要联播的下一视频。


3)当播放到下一交互区间的开始时间时,将参数脚本文件、交互区间样式文件等信息传递给互动组件管理模块。


4)互动组件展示后通过互动管理模块监听观众互动操作,并将观众操作、超时等事件反馈给交互管理模块执行(例如视频切换命令、互动移除命令)。


4、视频播放过程中当观众操作触发故事线展示时执行以下步骤:


1)使用版本控制模块提供的接口,判断当前为树形故事线还是线形故事线,并根据判断结果,向互动后台不同接口请求对应的故事线数据。


2)根据返回的数据绘制故事线,并监听观众操作。


3)若观众点击关闭故事线按钮则结束故事线的展示。


4)若观众点击故事线中的某个节点,首先判断该节点是否支持响应,若支持响应则调用交互管理模块执行视频片段切换操作,切换到该节点对应的视频片段继续播放,并结束故事线的展示。


技术架构


业界尝试的的互动剧构建方案有通过脚本语言,HTML,原生组件实现等多种方式,播放器层面也可分为单一实例,或多实例形式,爱奇艺技术在开发的过程中,采取了基于脚本语言的跨平台交互方案。


视频互动体系整体边界和范围界定如下:



如上图所示,视频互动体系技术框架,即互动视频平台(IVP)主要包括视频编辑以及交互脚本制作前端(IVT)+互动视频服务后端(IVS)+互动视频引擎(IVE)三部分组成。其中 IVT 的部分目前与爱奇艺视频录入系统结合较为紧密,目前是跟爱奇艺视频录入系统整合在一起的。


交互原理


在设计交互组件时基于如下原则:将互动能力和 UI 分离,UI 中除最基本的提示类 UI 及故事线 UI 在构件中实现外,均为接入互动视频功能构件的接入方逻辑,不在构件中实现,以保证构件的可复用性、可移植性。在互动视频功能构件模块划分上,把业务逻辑、脚本管理、网络请求、数据存储分开,各模块间相调用,但实现上避免相互交叉,以增加灵活性、复用性并降低复杂度。


最终基于当前视频播放器,搭建了基于脚本语言实现的完整交互框架,实现了对于视频播放器流程的全面控制,支持整体索引,交互节点,分支节点,信息探索节点,X 因子的动态下发,动态更新,整套交互协议可同时支持 iOS、Android ID 平台的互动剧协议,其整体架构设计如下图:



脚本框架通过通信栈的数据结构实现了针对于不同移动端操作系统的桥接引擎,并实现一个脚本的加载和管理模块,基于引擎层封装了若干可供组合与扩展的基础协议,包括控制播放器的协议,自定义事件的协议和可扩展的通信桥接协议,便于今后版本的向下兼容。


基于脚本实现的协议,在上层封装了互动剧所需的所有基础交互组件,包括基础视图,图片,按钮,动画,播控,日志,声音等,通过一种特定的 DSL 描述进行布局描述与组合,实现交互节点与观众的交互方式。


交互框架在业务层提供若干已封装好的默认布局模板,包括分支剧情,画面信息探索,多视角,X 因子等,使用方只需修改对应的 DSL 文件即可实现和内容对应的交互功能,相关功能简述如下:



现状与展望

爱奇艺的互动视频框架当前已成功应用于爱奇艺推出的互动剧《他的微笑》,互动综艺《生活对我下手了 2》,《乐队的夏天》,《限定的记忆》,《青春有你》,《中国新说唱》等,其中包含了分支剧情交互,画面信息探索交互,多视角交互,针对互动视频的需求,配套实现了线型故事线和树形故事线,让用户对剧情有更具象化的了解。


互动视频的发展趋势将围绕两个维度进行:


1、平台化


即让内容方有一个将内容互动化的平台,爱奇艺推出了 IVP(Interactive Video Platform),内容创作者可通过平台为视频加入互动组件来使视频具备互动能力,并借助于平台调试和预览视频互动效果。


2、标准化


爱奇艺发布了 I V G(Interactive Video Guideline,互动视频标准),旨在于对于互动视频从理念到生产及发布流程,以及加上互动视频平台使用说明等一系列进行指引,解决了内容创作者制作高,效率低的痛点。后续,将面向更多的内容方进行平台功能输出,同时继续拓展互动剧平台的能力,进一步提升交互体验与系统稳定性。


未来爱奇艺会持续建设一套全面能力的互动剧解决方案,引领行业的互动视频标准,通过将互动能力添加环节与视频拍摄,剪辑的整个制作流程深度结合,帮助内容创作者更高效便捷地打造出高品质的互动视频。


2020 年 1 月 03 日 10:171466

评论 1 条评论

发布
用户头像
爱奇艺在关注内容创作者方面做的确实不错。未来爱奇艺会持续建设一套全面能力的互动剧解决方案,引领行业的互动视频标准,通过将互动能力添加环节与视频拍摄,剪辑的整个制作流程深度结合,帮助内容创作者更高效便捷地打造出高品质的互动视频。
2020 年 01 月 03 日 11:00
回复
没有更多了
发现更多内容

架构训练营1期-模块一作业

李东旭

架构实战营

分布式磁盘 KV 存储 - Kvrocks

kvrocks

RocksDB redis cluster Redis 协议 storage KV存储引擎

IPFS挖矿算力排行榜?IPFS挖矿排行榜?

IPFS老胡

第一模块作业

晨晨

架构实战营

垃圾回收器的前世今生

中原银行

垃圾回收

5分钟速读之Rust权威指南(三十五)状态模式

码生笔谈

rust

架构实战营模块一作业

王晓宇

架构实战营

AI星海中的“中国空间站”:昇腾如何助力鹏城云脑Ⅱ实现全球领航

脑极体

极光开发者周刊【No.0702】

极光开发者

【LeetCode】从前序与中序遍历序列构造二叉树Java题解

HQ数字卡

算法 LeetCode 7月日更

模块一作业

江南巴飞特

接下来的两个月又要忙了

IT蜗壳-Tango

7月日更

🏆【算法数据结构专题】「线程锁算法专项」初探CLH队列锁机制原理分析

李浩宇/Alex

AQS 数据结构与算法 CLH 7月日更

为什么你总是买了很多不需要的东西?

石云升

消费者 7月日更

你觉得普通程序员和大神程序员有哪些区别

耳东

程序员 7月日更

吴恩达Andrew Ng Coursera学习总结合集,编程作业技巧合集 John 易筋 ARTS 打卡 Week 54

John(易筋)

ARTS 打卡计划

秋招提前批开始了,一文带你了解,C++ 后台开发知识点及学习路线

奔着腾讯去

程序员 面试题 学习路线 校园招聘 秋招

每天学习10个实用Javascript代码片段(一)

devpoint

JavaScript LocalStorage 7月日更

模块1.架构设计

脉动

别再往收藏夹怼资源了,收好这个视频创作导航网站就够了。

彭宏豪95

效率 视频 导航网站 视频制作

《啊哈C语言!》学习笔记(1)

Nydia

辩证|北鲲云和你一起探讨关于生命科学发展的意义

北鲲云

来一份全面的面试宝典练练手,看这篇足矣了!

欢喜学安卓

android 程序员 面试 移动开发

币安智能合约Dapp系统开发技术

薇電13O25249123

区块链 智能合约

2021最新一线大厂Java高级架构师面试题总结

云流

Java 程序员 架构 面试

以太坊的 ChainId 与 NetworkId

看见月亮的人

区块链 以太坊 ChainId NetworkId

k8s 节点机器重启 CNI IP 未回收

Geek_f24c45

Kubernetes cni

连续四年百度Android岗必问面试题!成长路线图

欢喜学安卓

android 程序员 面试 移动开发

推荐系统的人工调控策略(二十八)

数据与智能

推荐系统 策略模式

面试官问我会canvas? 我可以绘制一个烟花🎇动画

阿飞

前端 动画 SVG 数据可视化 canvas

GitHub霸榜月余的24万字Java面试手册,竟是阿里机密

Java 白

Java java面试

爱奇艺互动剧创作技术实操攻略-InfoQ