相关文章推荐
侠义非凡的炒饭  ·  spring websocket ...·  7 月前    · 
力能扛鼎的筷子  ·  Kubernetes ...·  8 月前    · 
慷慨的伤疤  ·  Docker containers ...·  9 月前    · 
酒量大的板栗  ·  Deprecated Features·  9 月前    · 
为了创造更好的多媒体体验,许多视频网站都添加了社交机制,使用户可以在媒体时间轴上的特定点发布评论和查看其他人的评论,其中一种机制被称为 弹幕 (dàn mù),在日语中也称为 コメント comment )或者 弾幕 danmaku ),在播放过程中,可能会出现大量评论和注释,并且直接渲染在视频上(参见 )。 弹幕 最初是由日本视频网站Niconico( ニコニコ )引入的。在中国,除了在Bilibili和AcFun等弹幕视频网站中使用之外,其他主流视频网站(例如腾讯视频,爱奇艺视频,优酷视频和咪咕视频)中的视频播放器也支持 弹幕 (请参阅 )。
  • 弹幕 — 一种媒体体验的增强机制,通过该机制,可以在视频上的特定时间点以特定方式渲染和动画化大量的评论和注释。该术语还用于描述媒体之外的内容中的类似体验(例如,参见 )。
  • 单条弹幕 — 弹幕集合中的一条单独的 弹幕
  • — 处于相同 模式 单条弹幕 集合。每层内的弹幕之间不会重叠,每种 模式 也可以有多个层。
  • 信息更新频率

    在聊天模式中,单条信息与全体信息以同样的频率整体向上滚动无法分离,而弹幕模式每条信息都在独立的通道中移动,并不受其他信息的更新频率所影响,可以通过算法较好的保障每条信息在屏幕内的展示时长。

    在聊天模式中,用户如果关注视频内容则无法阅读文字,反之亦然。而弹幕模式通过把文字覆盖于画面之上让用户可以同时阅读文字与视频内容,无需视线在两个区域间往返移动,有更好的沉浸体验。具体如下面两图对比不难看出。

    Web页面互动

    有时为了增加页面的效果,产品运营人员希望把相关内容做成有视觉冲击力的弹幕效果,这样可以在Web页面中对相关活动进行宣传重点,以此来增加页面的冲击力趣味性,吸引年轻人的关注,增加收益。 此种场景,弹幕是单独展现的,不依附于视频。 上墙是指网友通过发送弹幕内容,展示在线下会场准备好的显示屏上,增加线下活动或者会议的交互体验。上墙可以理解为是纯弹幕的应用,相当于大屏上不展示视频,甚至不展示内容,只展示活动现场或者网友对于线下活动的讨论内容,增强线下活动或者会议气氛,让参会者的参与感更强。 此种场景,弹幕也是单独展现的,不依附于视频。

    弹幕 vs WebVTT

    [[webvtt1]]是一种用于标记文本轨道的文件格式,[[webvtt1]]的典型应用场景为视频字幕。而目前弹幕的典型应用场景也都是和视频关联的,弹幕一度被称为是字幕的一个子集,是一种特殊的字幕形式。

    其实,并不是这样。从“ 使用场景 ”可以看到,弹幕使用场景包含和视频关联的场景,也包括不和视频相关联的场景,如:“ Web页面 ”和“ 互动上墙 ”等场景,都是独立作为页面的一部分,而不依赖于视频等媒体元素。

    弹幕如果作为WebVTT的一个子集,在使用形式上可能需要按照WebVTT的方式,在 video 元素中使用 track 元素引用 .vtt 文件的方式来引用弹幕文件。在“ 使用场景 ”中的“ 直播视频互动 ”场景中,因为直播中的弹幕数据是实时用户发布的数据,而没有一个弹幕文件预先被 track 引用。即使在“ 点播视频互动 ”场景中也是存在实时发送弹幕数据的场景的,所以预先被 track 弹幕文件是不现实的。

    从弹幕和WebVTT的场景上来看,两者有着不同的交互方式。WebVTT是字幕,基本没有特殊的交互,只是展示视频时间轴上固定时间段内的内容的文本表达形式;而弹幕所承载的内容不是视频中内容的文本表达,而是对于视频内容的一种观看者主观理解的表达,有的弹幕是需要有交互的,比如观看者想看清楚某一条快速滚动的弹幕,他就可以鼠标悬停来实现弹幕不滚动,或者点击某一条弹幕查看更多的信息等,所以在交互方式上弹幕和WebVTT存在着明显的差别。

    除此之外,弹幕的展现方式和WebVTT的字幕也有着很大的区别,WebVTT的字幕只能在视频的固定位置展示,同一时间只能展示一条。而弹幕是灵活的展现形式,可以固定的展示,但更多的是滚动的展现方式。一条WebVTT字幕展示的内容长度是有限制的,而弹幕可以同时展示数倍于WebVTT字幕的数量的内容,所以对于承载的内容规模,WebVTT也无法满足弹幕的需求,大规模的弹幕内容展示是弹幕的典型的用户场景,因此和WebVTT存在着明显的区别。

    综上所述,弹幕和WebVTT从典型使用场景上看有些类似,但是从背后的实现功能和实现原理上又有很大区别,这也是在考虑弹幕标准化时没有作为WebVTT的子集或扩展的原因。

    弹幕 vs TTML

    与 WebVTT 相同,[[ttml1]] 也是一种字幕格式,上文已经做了详细的对比。TTML主要用于视频,而弹幕是一种动态的、可交互的字幕形式,两者区别较大。TTML通过XML来描述字幕,虽然可读性较好,但是对Web开发者来说,他们更习惯使用JSON来描述弹幕等数据结构。