共计 2529 个字符,预计需要花费 7 分钟才能阅读完成。
视频对象(Video)
功能介绍
视频对象可以在项目中播放视频。视频渲染到项目画布本身,允许其他对象出现在其顶部并应用效果,与 HTML 元素不同。
支持的视频格式
支持的视频格式取决于浏览器、操作系统,有时还取决于硬件。最广泛支持的视频格式可能是 MP4 H.264,但由于专利限制,有时无法在开源平台上支持。截至 2024 年,现代且开放的 AV1 编解码器逐渐得到广泛支持,但可能不支持一些较旧的设备。
编码要求
为了确保所有浏览器和平台上都能播放视频,可能需要将视频编码为两种不同的格式。视频插件允许为视频设置两个源:如果支持,则播放主要源,否则回退到次要源(也只有在支持的情况下才播放,但两种格式应该足以实现通用支持)。这也允许选择现代高效但不通用的格式作为主要源,以及较旧且效率较低但通用的格式作为次要源,从而确保在现代设备上获得最佳播放效果,同时仍然支持较旧设备。
识别视频格式
视频文件实际上包含多个不同的子格式。这些包括:
- 容器格式:通常是 WebM 或 MPEG-4(MP4)。
- 视频编解码器:用于压缩视频数据的编解码器,如 VP9、H.264 或 AV1。
- 音频编解码器:如果视频有音轨,则是用于压缩音频数据的编解码器,如 Opus 或 AAC。
使用第三方工具识别视频文件使用的容器、视频编解码器和音频编解码器。例如,VLC 媒体播放器通过“工具”菜单提供编解码器信息。
导入视频
确保将视频文件导入到“视频”项目文件夹中。如果将视频文件添加到任何其他项目文件夹(例如“文件”),则可能会导出到不同的文件夹并无法加载。
由于视频压缩的复杂性和某些编解码器(如 H.264)的专利限制,Construct 不提供像音频那样的视频导入器。您必须自己对视频文件进行编码,然后将其作为项目文件导入。WebM 及其编解码器 VP8、VP9 和 AV1 是开放格式,您应该能够找到免费的编码器。然而,H.264/H.265 编码器可能会涉及费用。
发布使用视频播放的 Web 项目时,请确保服务器设置了正确的 MIME 类型,否则导出后视频播放可能会失败。
播放限制
在某些情况下,除非由用户输入事件触发,否则无法开始视频播放。《播放》操作可以像“触摸开始时”这样的用户输入触发器中工作,但如果在外部执行,它不能立即播放。为了解决这个问题,视频插件将等待下一次触摸事件开始播放视频。这也适用于自动播放视频:直到第一次触摸才会开始播放。
这种限制通常只适用于网络浏览器。通常,如果您发布一个应用程序,由于应用程序可以调整权限,因此可以消除此限制。
视频属性
主要源
主要格式
如果要支持主要格式,则播放的项目文件的名称。确保主要格式与指定的项目文件实际使用的容器和编解码器匹配。有关详细信息,请参阅上面的视频格式。
次要源
次要格式
如果主要格式不受支持,则要播放的项目文件的名称。确保次要格式与指定的项目文件实际使用的容器和编解码器匹配。有关详细信息,请参阅上面的视频格式。
自动播放
自动播放或预加载模式。可以是:
- 否:直到请求播放视频之前,什么都不做。
- 预加载:启动时将开始下载视频数据,但尚未开始播放。这可以允许在请求时更快地开始播放视频。某些平台(例如移动设备上的蜂窝数据连接)可能会忽略此设置。
- 是:启动时将开始下载视频数据,并且一旦确定进度和传输速率足以在不因缓冲而停顿的情况下播放到最后,就会开始播放。一些移动平台将在第一次触摸事件之前不会开始播放 – 有关兼容性的更多信息,请参阅下文。
后台播放
如果禁用,则切换浏览器标签、最小化浏览器窗口、切换到其他移动应用程序或以其他方式隐藏窗口将暂停视频,并在切换回来时恢复播放。这是为了避免用户决定做其他事情时继续音频播放而感到烦恼,它还有助于节省移动设备上的电池寿命。然而,对于某些类型的应用程序,可能希望保持后台播放,在这种情况下启用它可以在后台继续播放。
初始可见性
视频最初是否可见或不可见。注意,如果它是不可见的,当播放时仍然可能听到音频播放,因此可能还需要静音视频。
视频条件
已结束
如果视频播放已到达视频末尾并停止,则为 True。
已静音
如果已静音来自视频的音频播放,则为 True。
已暂停
如果已暂停视频播放,则为 True。
正在播放
如果正在积极播放视频播放,则为 True。
播放事件
当播放事件发生时触发。这些可以是以下之一: - 可以播放:当有足够的数据至少播放几帧时触发,但可能没有足够的数据一直播放到结束。
- 可以播放到底:当浏览器确定加载进度和传输速率足以不间断缓冲地播放到结束时触发。然而,这并不是保证,因为传输速率可能会下降或完全切断。
- 结束:当播放到达视频末尾时触发。
- 错误:如果在视频加载、解码或播放期间发生错误时触发。
- 开始加载:当浏览器开始加载视频数据时触发。
- 播放:当播放开始时触发。
- 暂停:暂停视频播放时触发。
- 停滞:如果视频下载速度太慢而无法维持当前播放速率时触发。这将导致视频在完成加载其余视频的同时暂停,也称为缓冲。
视频操作说明
暂停
如果视频当前正在播放,则暂停视频播放。
播放
开始播放视频。在某些平台上,这只能在用户输入事件中发生。有关更多信息,请参阅兼容性部分。
设置循环
设置视频是否循环播放,以便在到达结尾时从开始处重新开始。
设置静音
设置视频的音频播放是否静音(无声)或取消静音。
设置播放速度
设置视频播放的速度,作为原始速度的倍数。这意味着 1 是原始速度,2 是两倍速度,0.5 是一半速度等。
设置播放时间
将视频播放时间设置为特定的秒数(即跳转到给定的时间)。由于视频编码技术的工作方式,视频可能只能接近但不能完全精确到指定的时间。
设置来源
设置不同的视频文件进行播放。与对象属性一样,可以指定不同的主格式和辅助格式。设置来源不会自动开始播放视频;在更改来源后使用“播放”操作来启动它。
设置音量
设置视频的音频播放音量,以分贝衰减为单位。0 是全音量,-10 dB 大约是一半响亮等。音频不能被放大:正音量值将被视为 0。
视频表达式
持续时间
如果视频已加载足够多,则为视频的持续时间(以秒为单位)。
播放速率
由“设置播放速率”操作设置的当前播放速率,作为原始速率的倍数(例如,1 是原始速度,2 是两倍速度等)。
播放时间
当前的播放时间(以秒为单位)。
视频宽度
视频高度
源视频的尺寸,以像素为单位。
音量
当前的音频播放音量,以 dB 衰减为单位。