label: string

Default value: "Upload with Clipchamp!"

嵌入按钮的标签。这是会显示在按钮上的文字,它会被置于包装元素中。

size: string

Default value: "medium"
Allowed values:
tiny small medium large

Clipchamp按钮的大小。有4种大小可供选择。

title: string

Default value: "Ye' olde video-upload shoppe"

用户点击嵌入按钮后会出现的UI标题。标题会出现在弹出iframe的顶端

logo: string

Default value: "https://api.clipchamp.com/static/button/images/logo.svg"

UI商标图案的URL。这是会显示在iframe左上角的图案。

color: string

Default value: "#303030"

判断Clipchamp按钮的颜色,弹出标题栏的背景,以及其他图形元素。可以是颜色名称(例如blue)、十六进制编码的颜色代码(例如#3300cc),或是RGB编码的颜色(例如rgba(78,24,212,0.5))。

style: object

Default value: undefined

允许使用CSS详细定制Clipchamp API的外观。它会提供一份自定义的CSS 样式表作为URL (style.url 属性)或作为CSS 声明字符串(style.text)。两者中的自定义CSS声明增强,但是不取代默认用户界面样式,以Bootstrap 3 默认样式为依据。也就是自定义CSS样式分层叠加在现有CSS样式之上,加强现有的CSS类别,添加或取代CSS属性。企业计划。

inline: object

Default value: undefined

允许API的小部件顺序排列,包含Clipchamp 小部件的<iframe>被放置在嵌入页面中的指定包装元素内。企业计划。

inputs: Array<string>

Default value: ["file", "camera"]
Allowed values:
file camera direct

用户可以选择导入视频的来源:camera是从摄像头,file 是从电脑文件系统中。direct选项会指示Clipchamp API在无需终端用户操作的情况下,通过direct.files参数接收视频。因此,direct导入选项不应该和其他两个选项(file, camera)一起使用。如果directfilecamerainputs 数组中出现,filecamera会被忽略不管, direct.files参数会成为Blob的数组。

output: string

Default value: "dummy"
Allowed values:
dummy blob azure s3 youtube gdrive dropbox

我们放置或上载输出视频的目的地,如果选择了 “Blob”,我们会将输出视频作为Blob提供给客户端JavaScript代码。如果你选择了”youtube”, “azure”或 “s3″,你需要在配置页面中授权我们将视频上载到正确的账户。 “虚拟”输出将不会输出任何东西,但是它会使用简单的计时器模拟上载,可以在无需配置后台的情况下进行初步整合和测试。

upload: object

Default value: undefined

配置所有支持Clipchamp API上载目的地上载程序的设定。

camera: object

Default value: undefined

自定义摄像机录像的配置元素。

direct: object

Default value: undefined

应用于direct选项中导入参数内的额外参数。

enable: Array<string>

Default value: []
Allowed values:
batch fixup-webcam-webm mobile-webcam-format-fallback no-branding no-error-bypass no-hidden-run no-popout no-probe-reject no-thank-you no-user-retry

允许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>

Default value: []
Allowed values:
force-popout overlong-recording h264-hardware-acceleration

允许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 参数以获取可接受的品质/品质平衡。

dropbox: object

Default value: undefined

使用Dropbox上载目标时的配置元素。

youtube: object

Default value: undefined

使用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

成功分析文档后,每次摄像头录像和导入视频文档都会调用Clipchamp视频API的这个回调函数。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个案例中的哪一个:

  1. 如果函数签名包含至少一个完成的参数,以及唤起完成或失败的回调。
  2. 如果返回的是一个promise (或 thenable),等它被解决或拒绝。
  3. 如果函数返回的promise以外的东西,而且没有注明至少一个完成回调的参数,在返回时处理程序将会被视为完成。

当函数完成处理程序后,输出文件会被视为”已被上载”。如果返回的是promise能力进展报告 (例如then函数接收一个第三回调),或是如果使用了通知回调,数字化的进展会被翻译成上载完成的百分比并显示在荧幕上。在程序完成后(如上所定义),blob就无法继续使用了,因为后背储存器可能已经被移除了。

onErrorOccurred(error): function

录像、处理或上载视频时,或摄像头/录像机录像时侦测到错误,就会唤起onErrorOccurrederror参数是一个 具有强制type属性的对象 ,可以是下列其中一项:

  • webcam_processing,摄像头(或手机相机)录像出现错误时;
  • video_processing,导入视频或摄像头/相机录像在上载前处理(转码/压缩)出现错误;
  • video_uploading,在输出视频文件上载到所选定的储存位置时出现错误;
  • other_unknown,当错误的原因是其他原因或是未知原因;

第二(选择性的)属性message代表的是人可阅读的错误解释。你可以使用message属性的字符串数值,以向你的用户显示错误信息。一个选择性的details属性是一个含有更多关于出现错误的技术信息的数组,例如例外,错误事件以及类似的事情。使用details 属性的数值以和Clipchamp 支援沟通任何问题。onErrorOccurred回调有时可能会因为相同的根原因,被唤起数次。请记得Clipchamp API有规定,对于一些举报到onErrorOccurred 回调的事件会做出补偿。例如说,no-probe-reject 旗标(查看启用参数) 将确保一份视频文件,被送往视频转码引擎,就算是在我们无法从文件中提取技术元数据的情况下。

localization: object

Default value: undefined

可以本地化的字符串表格。用来调整API中所有的用户面向元素 ,在网站不是英语的情况下,使用网站的语言呈现。你也可以用这些字符串,去除你完全不想让用户看到的文字片段。