label: string
嵌入按钮的标签。这是会显示在按钮上的文字,它会被置于包装元素中。
size: string
Clipchamp按钮的大小。有4种大小可供选择。
title: string
用户点击嵌入按钮后会出现的UI标题。标题会出现在弹出iframe
的顶端
logo: string
UI商标图案的URL。这是会显示在iframe
左上角的图案。
color: string
判断Clipchamp按钮的颜色,弹出标题栏的背景,以及其他图形元素。可以是颜色名称(例如blue
)、十六进制编码的颜色代码(例如#3300cc
),或是RGB编码的颜色(例如rgba(78,24,212,0.5)
)。
style: object
允许使用CSS详细定制Clipchamp API的外观。它会提供一份自定义的CSS 样式表作为URL (style.url
属性)或作为CSS 声明字符串(style.text
)。两者中的自定义CSS声明增强,但是不取代默认用户界面样式,以Bootstrap 3 默认样式为依据。也就是自定义CSS样式分层叠加在现有CSS样式之上,加强现有的CSS类别,添加或取代CSS属性。企业计划。
inline: object
允许API的小部件顺序排列,包含Clipchamp 小部件的<iframe>
被放置在嵌入页面中的指定包装元素内。企业计划。
encoding: object
配置输出编码参数。
inputs: Array<string>
用户可以选择导入视频的来源:camera
是从摄像头,file
是从电脑文件系统中。direct
选项会指示Clipchamp API在无需终端用户操作的情况下,通过direct.files
参数接收视频。因此,direct
导入选项不应该和其他两个选项(file
, camera
)一起使用。如果direct
和file
或 camera
在inputs
数组中出现,file
和camera
会被忽略不管, direct.files
参数会成为Blob
的数组。
output: string
我们放置或上载输出视频的目的地,如果选择了 “Blob”,我们会将输出视频作为Blob
提供给客户端JavaScript代码。如果你选择了”youtube”, “azure”或 “s3″,你需要在配置页面中授权我们将视频上载到正确的账户。 “虚拟”输出将不会输出任何东西,但是它会使用简单的计时器模拟上载,可以在无需配置后台的情况下进行初步整合和测试。
upload: object
配置所有支持Clipchamp API上载目的地上载程序的设定。
camera: object
自定义摄像机录像的配置元素。
direct: object
应用于direct
选项中导入参数内的额外参数。
enable: Array<string>
允许Clipchamp视频API的特殊行为:
-
batch
-允许顺序处理并上载数个文件,无需用户额外操作。 -
fixup-webcam-webm
– “修复” 有错误或遗失及时时长元数据的WebM摄像头录像。如果你想要确保你的视频处理管道,接收WebM文件存放嵌入视频元数据的地方,是正确完整的,那么就使用这个旗标。这个旗标目前不支持移动设备(比如有mobile-webcam-format-fallback
旗标设定的安卓手机)。贝塔 -
mobile-webcam-format-fallback
– 启用移动设备摄像头录像的压缩,就算目标格式不适用(实验性)。此功能目前只限于安卓上的Chrome,它有这个旗标Clipchamp API使用VP8或VP9视频编解码器生产WebM文件。 -
no-branding
– 从用户面向的UI移除Clipchamp品牌,前提是适用于你的计划。这不适用于嵌入按钮。使用自定义按钮API选项以选择嵌入按钮的样式(如果适用于你的计划)。 -
no-error-bypass
– 如果转码失败,不论什么原因,Clipchamp通常会直接上载导入文件。这个旗标会限制这项操作。造成转码失败的最常见原因是导入编解码器不受支持。 -
no-hidden-run
– 在用户点击”提交”并关闭视窗后,禁止在背景继续处理和上载的选项。 -
no-popout
– 一些浏览器会封锁第三方代码使用特定功能。侦测到这一点时,Clipchamp会打开新视窗以访问这些功能。 设定no-popout
会限制这项操作并强制Clipchamp尝试使用适用的功能 。这可能会导致记忆要求增加,以及其他事项。 -
no-probe-reject
– 在我们无法判断导入文件是视频的情况下,我们通常会拒绝该文件。这个选项会接受所有的导入文件,非视频文件会跳过上载程序。 -
no-thank-you
– 禁用感谢荧幕并立即关闭视窗。如果在过程中有任何错误,最后一个荧幕仍然会显示。 -
no-user-retry
– 在完成摄像头录像,上载文件之前禁用用户确认和重试选项。加入此旗标会在摄像头录像结束后立即开始上载。用户不会有机会重复录像。
experimental: Array<string>
允许Clipchamp视频API的实验行为
-
force-popout
– 总是在另一个”弹出”浏览器视窗开启用户界面,就算它能够在嵌入网站的DOM 内的iframe
内运行。绝对不能和no-popout
旗标(enable
) 参数一起使用。 -
overlong-recording
– 允许摄像头/手机相机在没有时间限制的情况下录像 (否则由Clipchamp API强制执行)。录像的时长依然能在camera.limit
参数中,通过设定数值(秒数)来加以限制。客户需要确定只在支持的浏览器中(目前:Chrome、Opera和Firefox)设定overlong-recording
旗标。 -
h264-hardware-acceleration
– 允许在支持的平台上(目前:x86为准的ChromeOS/Chromebook 设备)硬件加速H.264视频编码。旗标只会应用在web
(默认)preset
以及mp4
(默认)格式。在设定h264-hardware-acceleration
旗标后,依据底层硬件的不同,也会有不同的加速速率。客户将体验到同样(主观)认知的输出品质,不同的压缩比例,进而鼓励他们调整compression
参数以获取可接受的品质/品质平衡。
s3: object
使用Amazon S3上载目标时的配置元素。( S3的配置指示)
azure: object
使用Microsoft Azure blob 存储上载目标的配置元素。( Azure的配置指示)
gdrive: object
使用谷歌云端硬碟上载目标的配置元素。 (谷歌云端硬碟的配置指示)
dropbox: object
使用Dropbox上载目标时的配置元素。
youtube: object
使用YouTube上载目标的配置元素。
onWebcamStatusChange(status): function
Clipchamp视频API的回调函数会影响到摄像头或手机相机的录像。,其中status
是一个String
反映摄像头或录像新状态的字符串:
-
capture_started
– 摄像头或手机相机成功开启并在捕捉影像(但是还没开始录像) -
capture_ended
– 摄像头或手机相机被关闭没有在运行 -
capture_failed
– 访问摄像头或手机相机失败 -
recording_running
– 摄像头录像已开始或在暂停后恢复 -
recording_paused
– 摄像头录像已暂停,之后可以恢复或完成 -
recording_finished
– 摄像头录像已完成,但是在上载或可在onVideoCreated
回调使用前,可能还在处理中 -
recording_cancelled
– 摄像头录像已取消
追踪摄像头或手机相机的状态,在桌面浏览器(和安卓的Chrome,在enable
参数数组中设定 mobile-webcam-format-fallback
旗标)受到支持。
onMetadataAvailable(metadata): function
metadata
参数是一个具有以下属性的对象:
-
raw
– raw视频元数据是一个具有以下属性的对象: -
format
– 视频容器格式信息 -
streams
– 视频、音频、字幕、数据等包含在视频的数组流
请记得当用户选择丢弃并重新摄像头录像时,会调用这个回调数次而使用不同录像的元数据。 在使用batch
旗标时会调用onMetadataAvailable
数次,用户可以在那里选择数个导入视频。贝塔
onPreviewAvailable(imageBlob): function
在可以使用时,onPreviewAvailable
会和预览图片一起被唤起。请注意参数是一个Blob
例子而不是一个URL,图片不会和输出视频一起被上载到指定的上载目的地。另外请记得不是所有的场景都会生成预览图片,特别是如果导入视频损坏或含有无效/不完整的元数据。贝塔
onUploadComplete(data): function
当视频上载完成,单一data
对象包含文档元数据,就会调用Clipchamp视频API的回调函数。它有两个常见的属性:
-
filename
– 视频原来的文件名称 -
duration
– 视频时长。在一些情况中这一栏可能不存在
有好一些output
-特定属性:
- 如果使用输出”youtube”
-
kind
– “youtube” -
id
– 视频ID -
url
– URL视图 -
嵌入Html
– YouTube提供的 HTML片段,用以嵌入视频 (如有)。 - 如果使用输出”azure”
-
kind
– “azure” -
blob
– 存储上载时最终真正会使用的Azure blob名称。 - 如果使用输出”s3″
-
kind
– “s3” -
key
– 存储上载时最终真正会使用的Amazon S3对象键。 - 如果使用输出”gdrive”
-
kind
– “gdrive” -
id
– 谷歌文件ID -
name
– 储存在谷歌云端硬碟的文件名称。 -
url
– 文件的URL -
folder
– 文件所在的谷歌文件夹ID,或在顶层就是”根”。 - 如果使用输出”dropbox”
-
kind
– “dropbox” -
id
– Dropbox文件ID -
name
– 储存在Dropbox的文件名称。 -
path
– Dropbox的文件路径 -
link
– Dropbox上文件的分享链接 (需要在Clipchamp API 设定中切换的对应选项) - 如果使用输出”blob”
-
kind
– “blob” -
data
– 数组或其他onVideoCreated
导致
onVideoCreated(blob [,done [,fail [,notify]]]): function
如果输出设定成blob
,而输出视频blob会作为第一参数通过,就会唤起onVideoCreated
。Blob的有效性持续到这个函数完成处理,这取决于它属于3个案例中的哪一个:
- 如果函数签名包含至少一个完成的参数,以及唤起完成或失败的回调。
- 如果返回的是一个promise (或 thenable),等它被解决或拒绝。
- 如果函数返回的promise以外的东西,而且没有注明至少一个完成回调的参数,在返回时处理程序将会被视为完成。
当函数完成处理程序后,输出文件会被视为”已被上载”。如果返回的是promise能力进展报告 (例如then函数接收一个第三回调),或是如果使用了通知回调,数字化的进展会被翻译成上载完成的百分比并显示在荧幕上。在程序完成后(如上所定义),blob就无法继续使用了,因为后背储存器可能已经被移除了。
onErrorOccurred(error): function
录像、处理或上载视频时,或摄像头/录像机录像时侦测到错误,就会唤起onErrorOccurred
。error
参数是一个 具有强制type
属性的对象 ,可以是下列其中一项:
-
webcam_processing
,摄像头(或手机相机)录像出现错误时; -
video_processing
,导入视频或摄像头/相机录像在上载前处理(转码/压缩)出现错误; -
video_uploading
,在输出视频文件上载到所选定的储存位置时出现错误; -
other_unknown
,当错误的原因是其他原因或是未知原因;
第二(选择性的)属性message
代表的是人可阅读的错误解释。你可以使用message
属性的字符串数值,以向你的用户显示错误信息。一个选择性的details
属性是一个含有更多关于出现错误的技术信息的数组,例如例外,错误事件以及类似的事情。使用details
属性的数值以和Clipchamp 支援沟通任何问题。onErrorOccurred
回调有时可能会因为相同的根原因,被唤起数次。请记得Clipchamp API有规定,对于一些举报到onErrorOccurred
回调的事件会做出补偿。例如说,no-probe-reject
旗标(查看启用参数) 将确保一份视频文件,被送往视频转码引擎,就算是在我们无法从文件中提取技术元数据的情况下。
localization: object
可以本地化的字符串表格。用来调整API中所有的用户面向元素 ,在网站不是英语的情况下,使用网站的语言呈现。你也可以用这些字符串,去除你完全不想让用户看到的文字片段。