同步BrightCove视频库的命令行工具。

clarify_brightcove_sync的Python项目详细描述


…图片::https://travis ci.org/clarify/clarify廑brightcove廑sync.svg
:目标:https://travis ci.org/clarify/clarify廑brightcove廑sync

=========br/>==clarify brightcove sync tool
==Clarify.

这是一个简单的工具,用于发送BrightCove(http://www.brightCove.com)视频库的内容以进行Clarify(http://clarify.io),包括媒体和元数据。


Clarify API分析媒体中的语音,并使其可搜索。它还可以自动生成额外的元数据,如关键字和主题。


运行同步工具将比较BrightCove库和Clarify帐户应用程序的内容。任何新的视频都将作为一个新的捆绑包添加到clarify中,媒体和元数据来自brightcove。自上次同步后在BrightCove中更新的视频将在Clarify中更新其相应的捆绑包元数据。任何不再具有相应视频的捆绑包都将被删除(在提示用户确认删除后)。


此脚本不修改brightcove中的内容,因此不需要brightcove api写访问。

*需要python 3(耶!)
*如果您有一个非常大或快速变化的视频库,请参见下面的"限制"。
*免费软件:MIT许可证

确保正在运行的pip对应于python 3.x而不是python 2.x.

…代码块::bash

$pip install clarify\u brightcove\u sync

如果您没有安装权限,则可能需要使用sudo。如果要从旧版本升级,使用--upgrade标志。



quickstart guide
----


您必须为BrightCove配置身份验证凭据并澄清帐户。


BrightCove凭据
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

到https://studio.brightcove.com
*的"管理"菜单中,选择"API身份验证"`
*单击"注册新应用程序"按钮
*这将在"名称"字段中显示一个表单
+输入"Clarify Brightcove sync"`
+选择要授权的帐户
+为CMS API启用"视频读取"权限
+单击"保存"
+复制"客户机密"并将其存储在安全的地方
+复制"客户ID"并将其存储在安全的地方
*现在返回"管理"菜单并选择"帐户信息"`
*复制您的帐户号码,我们将在接下来的步骤中使用它。

现在我们有了将它们存储在配置文件中所需的凭据:

*在编辑器中打开一个新文件并输入以下文本
。代码块:

{
"account":",
"client-id":",
"client-secret":"
}

*填写"account"编号、"client-id"的值,和"client secret"`.
*将文件另存为"brightcove誓言.json"`
*使用"brightcove誓言.json"文件的路径设置环境变量"brightcove API凭据"。此路径可以相对于当前工作目录。或者,您可以在运行脚本时将值作为"brightcove api_credentials=<;file>;clarify_brightcove_sync``.



clarify credentials
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

*登录到clarify developer门户https://developer.clarify.io
*go要"apps&keys"并复制应用程序的api密钥,请将环境变量"clarify-api-key"设置为密钥的值。或者,您可以在运行as``clarify廑api廑key=<;secret>;clarify廑brightcove廑sync``.
时在命令行上传递值。代码块::bash

$export clarify_api_key=secret_key

^^^^^^^^^^^^^^^^^^

建议在shell/命令提示符下运行脚本。请确保您正在运行python 3.x,并且您的环境设置正确。

如果所有配置都正确,您只需运行以下命令即可进行同步的试运行。这实际上不会修改任何数据。

…代码块::bash

$clarify_brightcove_u sync--dry_u run

代码块::bash

$clarify廑api廑key=<;secret>;brightcove廑api廑credentials=<;file>;clarify廑brightcove廑sync--dry廑run

如果一切正常,您可以运行real同步,以便根据需要创建、更新和删除clarify bundles。请注意,这将导致在您的澄清帐户中使用信用证。

。代码块::bash

$clarify廑brightcove廑u sync




video media
----


clarifAPI从URL接收媒体。此同步工具在BrightCove视频的源(格式副本)中查找具有最高分辨率(高达1080p)、使用H264编解码器编码且具有http/https src url的视频。如果找不到合适的视频url,则不会在clarify中创建捆绑包。有关更多详细信息,请参见"限制"。

在clarify元数据中创建以下字段:

…代码块:

{
"名称":"示例视频1",
"创建位置":"2016-01-12T17:06:39.284Z",
"更新位置":"2016-01-29T17:44:26.340Z",
"状态":"活动","
"描述":"鸟类飞行的示例视频。"
"long_description":"看了这段视频之后,你再也不会用同样的方式看鸟了。",
"tags":[
"bird s",
"fly",
"sky"
]
}


state字段对应于视频的状态(活跃的或不活跃的)。如果使用此标志,则可以通过在搜索请求的"state"字段上使用"filter",将clarify搜索限制为仅活动视频。有关详细信息,请参见http://clarify.io/blog/search-audio-and-video-metadata-with-clarify/。



它从brightcove库获取所有视频元数据,并从clarify获取所有捆绑包数据。然后对这些进行比较,以了解需要更新的内容。这有几个含义:

*如果视频库太大,同步将很慢,并可能导致超时。对于高达几千个视频的库来说应该没问题。
*如果Brightcove中的视频元数据经常更新,这将导致捆绑包元数据也经常更新。
*在同步过程中不应从Brightcove中删除视频。由于brightcove api中存在分页,删除视频可能会导致无法获取仍然存在的视频,sync工具会认为应该删除相应的clarify包。请注意,同步工具总是在删除捆绑包之前提示您。在同步过程中创建新视频和更新视频是很好的,但在下次运行同步之前,这些视频不会被接收。


要克服上述限制,可以在写入模式下使用brightcove api来改进脚本。每个视频都可以有一个"custom_field",其中包含clarify中视频对应捆绑包的bundle Href/ID。然后BrightCove API可用于搜索需要更改的视频,例如未设置捆绑包Href/ID的视频。

e视频库,直到视频计数与预期计数匹配。

video media
^^^^^^^^^^^^^^^^^^

此同步工具在BrightCove视频的源(格式副本)中查找具有最高分辨率(高达1080p)、使用H264编解码器编码且具有http/https src url的视频。如果找不到合适的视频url,则不会在clarify中创建捆绑包。目前,该工具仅支持Brightcove接收的视频,不支持"远程"视频。


可以轻松添加对远程视频的支持。如果视频源中的"remote"字段为"true",则可以使用BrightCove CMS资产API获取格式副本列表,并从中获取所需格式副本的"remote_url"。此URL可用于Clarify捆绑包。

custom fields
^^^^^^^^^^^^^^^^^^^

对该脚本的改进将允许您指定将映射到绑定元数据字段的自定义字段的列表。




许可证:初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring框架服务单元测试   在Java中遍历hashmaps的hashmap以检索字符串值   如何使用CodeQL检查Java注释是否具有特定属性?   java为什么在Spring Boot中访问此资源而不是登录弹出窗口需要始终获得完全身份验证   处理将多集计数转换为列表的过程   java另一个线性布局,没有出现按钮   eclipse Java映像加载未显示在jar中   java Junit类无法加载基本测试类ApplicationContext   java如何在main中使用my getvalues()方法打印列表   java Sonar,S128:切换案例应该以无条件的“中断”语句结束,而不是继续   java从socket读取字符串错误连接重置错误   java使用新数据刷新任意图表饼图   java通过异步运行lambda访问方法参数   java错误的结果一旦我处理try and catch