epipearl的dce客户端

epiclient的Python项目详细描述


目前,对于这一点,尚待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待待>;`
http api和web ui调用。Epiclient创建频道和录音机,并配置它们,以及Epichan Pearl设备的一般配置。Epiphan Pearl还可以配置为
`opencast matterhorn<;http://opencast.org/matterhorn>;``捕获代理,
,这些配置需要DCE的自定义固件,其中包括'mhpearl
<;https://bitbucket.org/hudcede/mhpearl>;`` mhpearl

被视为alpha,因此很可能在不久的将来更改/中断







********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

…代码块::bash










<
******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

要将epiphan pearl设备配置为用作捕获代理,有
常规配置(如NTP服务器、触摸屏、永久日志)和通道
以及需要创建和正确配置的记录器。



*clear channels
*set source deinterlacing
*config ntp server
*config touch屏幕设置
*启用永久日志
*创建和配置DCE标准通道
*创建和配置DCE标准记录器
*配置mhpearl


除CLI之外,Epiclient是一个python模块,它包装"epipearl
<;https://github.com/harvard dce/epipearl>;`
调用以一种定制的方式将其镶嵌在珍珠上。通过检查
>节段测试了解如何使用它。








*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

检查如何在安装后使用Epiclient CLI。代码块::bash

epiclient--help
用法:epiclient[options]device_name


epiclient的控制台脚本

选项:
--步骤
[validate clear_channels_config_de interlacing create_channels_config_layout config_recorder_u channels config_recorder_u settings config_u live config_u general config_mhpearl]
如果不存在,请执行所有步骤
--verbose/--quiet
--帮助显示此消息并退出。



在名为${home}/.epiclient.env.


代码块::bash

对于正在配置的epiphan pearl
epipearl\u user=user
epipearl\u passwd=password

流媒体)
rtmp_user=user
rtpm_passwd=password


还需要aws凭据配置;请检查"aws配置
<;https://boto3.readthedocs.io/en/latest/guide/quickstart.html configuration>;`

cli将设备名作为输入,例如"dev-epiphan006"。每个
设备都有一个json配置,它遵循
``epiclient/json-schema/role-settings-schema.json``中指定的json模式。json
输入的外观示例可以在"tests/json/primary_sample_ca_settings.json"中找到。

这些json配置是从s3中提取的,bucket名称可以在.epiclient.env文件中配置为"ca_settings_bucket"。




steps
============================


有些步骤是按特定顺序要求的(例如:``create`u channels```之后的``config`u recorder`u channels`
),但一般来说,这些步骤是独立的。

注意,如果您``create`u channels``,则通道id会更改,json
输入是upda在s3中的ted。

此外,当您"创建频道"时,它不会检查是否已经存在同名的
频道。这就是为什么有一个"clear_channels"命令:
确保以前没有DCE频道,并防止创建多个同名的
频道。这是为了保证默认值按预期设置或取消设置


validate
-----------------------------


此步骤始终运行,以检查JSON输入是否符合"epihan/json-schema/role-settings\u schema.json"中的JSON模式



clear_channels
---------------------------


如上所述,要确保不会出现具有相同名称的频道或录制器,请先清除所有频道。此操作删除以dce
(*dce_pr*,*dce_pn*,*dce_prpn*,*dce_live*,*dce_live_lowbr*)命名的通道。


只有"创建通道"步骤在运行此操作后才起作用,因为所有
后续步骤都假定创建了通道------------------------------


通常将源信号设置为取消交错。


此步骤是独立的。




create_channels
-----------------------------


创建DCE通道和记录器,并命名它们如前所述,此步骤更新S3 JSON配置。








请注意,直播频道
合并了演示者和演示文稿,因此与仅演示者或仅演示文稿的帧大小不同。


此步骤取决于"创建频道"。



r/>每个频道中编码的基本设置。

此步骤取决于"创建频道"。



放入"opencast matterhorn<;http://opencast.org/matterhorn>;` `.
此步骤配置要组合哪些通道并保存到文件中
(*dce_pr*和*dce_pn*)。


此步骤取决于"创建通道"。



-----------------------------

配置录制媒体文件的最大大小:每持续时间或文件大小。


此步骤取决于"创建频道"。



config\u live通道。

此步骤取决于"创建通道"。



nfig_mhparl
--------------------------------

此操作配置
`mhparl<;https://bitbucket.org/hudcede/mhparl>;` ` `.





如果缺少"--step"选项,则会运行所有步骤,并且您应该在进程结束时配置一个
捕获代理。当cli日志步骤
完成时,您可以了解正在进行的操作。




=epiclient json input
=如前所述,
这些配置存储在s3存储桶中。代码块::json

{
标识它的捕获代理的名称;仅允许alpha num和
下划线
"ca_name_id":"my_dev_epihan",

"web ui的捕获代理url;首选主机名而不是ip
"ca_url":"http://epiphan.pearl.url",

ce如果不存在
"ca_序列号":"ed123456",

\r有效值"primary"或"secondary"
\r当前,"实验"设备无法自动配置
"role":"primary",

指向
"cluster\u name\u id":"cluster name",

#固件版本,现在它不是强制的
"固件版本":"epiphan_固件版本"、

mhparl版本,现在它不是强制的
"mhparl_版本":"某些版本"、

mhparl设置文件搜索范围(秒)
"mhpearl_文件搜索范围":58,

mhpearl设置更新频率(秒)
"mhpearl_更新频率":123,


mhpearl设置,其中ca廑u名称拉取
"mh廑u名称":"My dev epiphan",

"教室ID;仅alpha廑u num和下划线允许
"location_name_id":"lab"、

\presenter connector在教室中可用此设备已安装
"pr vconnector":"sdi"、
"pr vinput":"a"、


sroom此设备已安装
"pn-vconnector":"hdmi"、
"pn-vinput":"b"、


;所有epiphan珍珠的默认设置是在
"source-deinterlacing":"on"、

"date-and-time":{
"NTP服务器,A"sk sysops的正确值
"ntp撸server":"0.nz.pool.ntp.org",


n_timeout":579
},
"maintenance":{
"默认为在
"permanent戋logs":"on"
},
"这些是所有通道的通用编码设置
"通道编码":{
"autoframesiz"e",",
"编解码器":"H.264",
"vprofile":"100",
"vencpreset":"5",
"vKeyframeInterval":1,
"fpsLimit":30,
"Audio":"on",
"AudioChannels":"1",
"audiopreset":"libfaac;44100"
},
"channels":{
"dce-pr":{
"此值,``channel-id``在创建新的
"channel"时发生更改;epiclient将更新此值并将其保存在
"新的json文件bac"中使用时间戳
"channel-id":"1",
"encodings":{
"framesize":"1280x720",
"vbitrate":9000,
"audiobitrate":160
}
},
"dce-pn":{
"频道id":"2",
"编码":{
"帧大小":"1920x1080",
"vbitrate":9000,
"音频比特率":160
}
},
"dce-live":{
"频道id":"3",
"编码":{
"帧大小":"1920x1080",
"vbitrate":4000,
"音频比特率":96
},

#请注意,这对于主CA和辅助CA是不同的
"rtmp_url":"rtmp://p.blobblob.i.streamingservice.org/entrypoint",
"stream_name":"my dev epiphan"
},
"dce_live_lowbr":{
"channel_id":"4",
"编码":{
"帧大小":"960x270",
"vbitrate":250,
"音频比特率":64
},

二级和二级ca
此值与**dce_live**
"rtmp_url":"rtmp://p.blobblob.i.streamingservice.org/entrypoint",
"stream_name":"my dev epiphan"
}
},
"recorders":{
DCE_prpn:{

此值``recorder_id``在创建新的
记录器时发生更改;Epiclient将更新此值并将其保存在一个
新的JSON文件中,用时间戳
"recorder_id"备份以前的JSON:1",
"timelimit":360,
"sizelimit":64000000,
"output_format":"avi"
}
}
}
}








********************
*******************************************************

在开发过程中,使用
`pytest<;http://pytest.org/latest/>;`

从本地克隆运行测试:

代码块::bash

pip install-r requirements\u dev.txt
py.tests

在给定的"epi_url"与实际设备连接,然后
更改其设置!你可能需要调整
``tests/json/primary/primary/u-sample-ca-u-ca-ca-settings.json```才能正常工作。




**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************


epiclient是根据"apache许可证,版本2.0
<;http://www.apache.org/licenses/licenses/license-2.0>;` `



***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************


2016~2017年哈佛大学校长和研究员





……_ epipearl:https://github.com/harvard dce/epipearl
。_` opencast matterhorn`:http://opencast.org/matterhorn
。明珠:https://bitbucket.org/hudcede/mhpearl
_ pytest:http://pytest.org/latest/
。_` apache许可证,版本2.0`:http://www.apache.org/licenses/license-2.0



=
=
history
==





<0.1.3(2016-08-03)
----


*清理通道返回到按名称删除通道(而不是按ID)



<0.1.2(2016-08-02)
-----———————————————————————————————————————————————————

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

推荐PyPI第三方库


热门话题
将数据从Storm上载到ElasticSearch时发生java错误   java组织。冬眠HibernateeException:无法访问lob流   调用Glassfish上的Jersey 2 REST端点时使用java 404   内置类中的java反射   SwingJava:创建程序的映像   使用堆栈的java加法?   Java代码在NetBeans中正常工作,但在安卓 6.0中不工作   java解析com。Windows上的apple导入错误   之后,json无法向Java JsonNode添加更多字段。set(“字段名”,JsonNode)   GWT中的java本地化替代方案   java如何配置持久性。指向MongoDB的xml   Evernote初始同步中的java大USN值   我怎样才能知道这个JavaAPI更改是什么时候发生的?