用plone管理、保护和呈现视频/音频内容(flv、mp3等),但将flash流委托给red5

unimr.red5.protectedvod的Python项目详细描述


简介

unimr.red5.protectedvod实现视频点播(vod)或 音频点播解决方案,用于使用Red5 server的安全闪存流。它提供了一种保护媒体文件不被 直接从plone下载或被其他人“榨干” 地点。为此,通过更改 请求的带有签名的URL。当请求视频/音频文件时, 文件的路径由plone为每个请求分别签名 流被委托给red5。red5检查之后 由共享机密接收的有效性请求的签名 (只有Plone和Red5知道!)。如果签名有效,则返回red5 传送流。签名是唯一的、特定于上下文的 有效期有限。因此,plone的安全上下文是 完全用红色保存。没有人可以复制和粘贴该url 他想去哪儿就去哪儿装录像。

安装

产品

正常情况下,将unimr.red5.protectedvod添加到您的构建中。见 http://plone.org/documentation/tutorial/buildout。别忘了 加载configure.zcml文件!

然后通过plone的附加产品控制面板安装产品。

文件系统存储

plone和red5都需要一个具有读/写功能的共享文件系统 进入遵循iw.fss的安装说明并记住 只有站点存储策略site1site2受 Red5大学。受保护的视频点播。red5需要 媒体内容工作。

配置

在portal_properties/red5_protectedvod_properties中,您必须 配置red5服务器url,ttl(生存时间),以秒为单位 签名和用于生成签名的共享密钥。

red5_server_url:
rtmp://<red5_hostname>/protectedVOD
ttl:60
secret:<top_secret>

原型示例

包含的原型red5stream集成了 flowplayer使用plone 3.x。它可以播放视频文件(flv、h.246、mp4) 以及音频文件(MP3)。具有“查看”权限的客户端只能 通过red5的流技术查看内容,但不能 直接下载内容。默认情况下,只有拥有所有者或 管理器角色具有“下载red5stream”权限,可以下载 来自plone的内容。

kupu集成

为了更容易在plone的内容项中呈现red5流, 此产品安装了一个新的kupu段落样式。你可以用它们 像这样:

  1. Insert the image you want to use as a splash image. You should insert this “inline” (rather than left/right floating), preferably in its own paragraph. Alternatively, you can also enter a text as placeholder.
  2. Select on the image (or placeholder text), and make it link to the .flv or .mp3 file you want to play.
  3. Select the red5-stream style from the styles drop-down.

签名和流式处理URL

动态签名的流式处理URL采用以下格式:

rtmp://<red5_hostname>/protectedVOD/<baseUrl>/<signature>/<expires>/<streamName>

此URL的部分如下:

  • baseURL is determined based on the relative path of the video/audio content in the FileSystemStorage.
  • signature is calculated as follows: ^{tt1}$ where shared_secret is specified in Plone’s configuration and should match the value on the red5 server.
  • expires is a timestamp given as a hex string. This is the number of seconds since January 1, 1970, 00:00:00 in hexadecimal notation plus the the ttl configured in Plone portal_properties.
  • streamName is the name of the video file, for example, Extremists.flv, flowplayer.flv, or rocknroll.mp4.

RED5应用程序

此软件包包含相应的red5应用程序 protectedvod作为war存档(也是java源代码的tgz存档; 此产品的red5-wabapp目录中的s.readme.txt 信息)不要忘记在中更改/同步共享机密 PLONE和RED5的配置!

必要条件

  • Support for symbolic links for the used file system
  • FileSystemStorage (iw.fss)
  • Red5 server (v0.8.x)

学分

  • Andreas Gabriel <gabriel _at_ hrz.uni-marburg.de>
  • David Nax <naxd _at_ hrz.uni-marburg.de>

待办事项

  • clustering implementation
  • collective.flowplayer integration

变更日志

0.1(xx xx xx)

  • 初始版本

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

推荐PyPI第三方库


热门话题
java日期格式的月和日的固定长度?   无法将java ArrayList<String>转换为字符串。   java当我使用log4j 1.2.15时,编译时出现错误;当更改为1.2.16时,一切正常   java如何使用ArgumentMatchers将任何队列告知Mockito?   如何解决“java”。Java电子邮件API中的lang.ExceptionInInitializerError   java是实例化对象名并设置其值的通用方法   java在多线程环境中,如果一个线程崩溃,如何关闭JVM?   java WebDriverManager在selenium中获取不正确版本的驱动程序   如果JAVA中后减量的优先级高于前增量,那么为什么下面的代码输出为22.0而不是20.0。?   在hibernate中找不到java属性   当我用java运行调度程序时,什么都没有发生   jackson如何在java中从数据库中检索json对象   java安卓:如何在自定义适配器中设置侦听器并获取imagebutton单击的位置   java MySQLIntegrityConstraintViolationException:列“问题id”不能为空错误   JavaSpring自定义注销过滤器在注销前执行一些操作?   java如何返回常量集合   java使用subselect进行一对多分页   java二进制搜索基础。陷入无限循环