跳转到主要内容

使用collective.transcode.daemon为Plone视频文件提供转码支持

项目描述

collective.transcode.* 或简称为 transcode.star,是一组模块,为Plone站点提供转码服务。

命名方案和基本设计原则都受到了 collective.blog.star 的启发。具体来说

  • 模块化。不是每个人都想要软件提供的所有功能。

  • 灵活。不要假设人们想要以某种方式使用您的软件。

  • 简单。如果有简单的方法来做某事,那就这样做。

  • 符合Plone风格。Plone已经内置了我们需要的90%。使用它。

它可以直接与标准Plone文件一起工作,提供转码服务,将视频内容上传为网络友好格式(mp4, ogv)。此外,还会从视频的第5秒提取jpeg缩略图,并在转码完成后,在IAboveContentBody视图管理器内显示指向生成的mp4文件的flowplayer小部件。

Transcode.star可以通过Plone控制面板轻松配置,以与任何自定义AT内容类型一起工作,只要模式中有文件字段。在Transcode设置面板中,您可以在支持门户网站类型中输入新行,格式为customPortalType:fileFieldName,其中customPortalType是您的portal_type名称,fileFieldName是需要转码的文件字段名称。

计划在即将发布的版本中支持Dexterity内容类型。

为了使转码工作,您需要启动buildout提供的transcodedaemon实例。

如果您的转码需求很高,您可以在负载均衡的设置中配置多个转码守护进程。Transcode.star将选择具有最小转码队列长度的守护进程。

transcode.star和transcode.daemon之间的所有通信都使用pycrypto模块的对称加密加密,以确保转码服务器(s)只转码Plone站点发送的视频,防止第三方滥用。此外,还特别关注通过使用相同的加密通道在私有状态(Plone站点中用户的典型场景,当用户上传文件)转码视频。

要求

除了buildout组装的内容之外,转码脚本要正常工作,还必须手动安装以下依赖项

  • 具有x264支持的ffmpeg

  • ffmpeg2theora

在Ubuntu 10.04上,您可以使用以下命令安装上述内容

sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list \
http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list
sudo apt-get --quiet update && sudo apt-get --yes --quiet \
--allow-unauthenticated install medibuntu-keyring
sudo apt-get --quiet update
sudo aptitude install build-essential libavcodec-unstripped-52 ffmpeg \
ffmpeg2theora

安装

Plone 4.x

python2.6 bootstrap.py
./bin/buildout

使用方法

启动zeo

./bin/zeoserver start

启动转码守护进程

./bin/transcodedaemon start # or fg to start it in the foreground

启动工作实例

./bin/worker start

启动Zope

./bin/instance start

添加新的Plone站点,转到安装产品表单并安装transcode.star。将出现一个名为“Transcode设置”的新控制面板屏幕。您可以使用它来配置支持的配置文件,支持的mime_types以及需要转码的portal_types及其相应字段。如果您已更改buildout中的密钥,请确保在此处也输入新密钥。

然后只需添加一个新对象(默认为文件)并上传一个具有支持mime_types中mime类型的文件。如果您在后台运行transcodedaemon和zope,您将能够看到正在进行的转码过程。当转码完成后,刷新您的内容类型视图页面,您应该会看到在您的视频上方加载了mp4版本的flowplayer实例。

对于生产部署,请确保更改buildout.cfg和Transcode设置面板中的密钥。

此外,在生产中使用时,请确保由Apache直接提供转码文件,而不是Twisted。

鸣谢

贡献者

  • Dimitris Moraitis,unweb.me

  • Christos Psaltis,unweb.me

  • Markos Gogoulos,unweb.me

  • Mike Muzurakis,unweb.me

  • Anna Helme,sagaponic.net

  • Giacomo Spettoli,redomino.com

  • Rok Garbas,garbas.si

变更日志

0.21 (2013-01-30)

  • 修复站点管理员的权限问题 [mgogoulos]

  • 隐藏嵌入视图中的管理页脚 [mgogoulos]

  • 从嵌入视频中删除统计信息 [clopy]

0.20 (2012-12-04)

  • 更新transcodedaemon和脚本 [dimo]

  • 更新unisubs小部件文件 [mgogoulos, dimo]

0.19 (2012-11-17)

  • 添加下载链接和分享按钮 [dimo]

  • 支持嵌入中的可变尺寸 [dimo]

  • 修复嵌入样式 [clopy]

  • 为通用字幕小部件使用本地js文件 [dimo, mgogoulos]

  • 添加对通用字幕的支持 [dimo, clopy, mgogoulos]

  • 修复转码私有视频时的未经授权访问 [clopy]

  • 删除删除视频时删除的转码视频 [mgogoulos]

  • 修复plone.app.async上的实用程序并删除已弃用的补丁 [mgogoulos]

0.18 (2012-07-23)

  • 以iOS友好的方式初始化mediaelementjs播放器 [dimo]

0.17 (2012-07-12)

  • 如果plone.app.async可用,则异步执行转码作业 [dimo, mgogoulos]

  • 更新到Plone 4.2 [dimo]

  • 删除对Plone 3.x的支持 [dimo]

0.16 (2012-04-11)

  • 将嵌入的favicon代码移动到embed.pt [clopy]

  • 在新标签页中打开unisubs共享链接 [clopy]

0.15 (2012-03-28)

  • 修复嵌入视频中的字幕选择问题 [clopy]

  • 为嵌入视频添加“查看原始网站标志” [mgogoulos]

0.14 (2012-01-05)

  • 将video/x-matroska添加到支持的MIME类型 [dimo]

  • 改进嵌入视图显示并修复嵌入尺寸 [dimo]

  • 当由于不支持的MIME类型而跳过转码时发出警告 [dimo]

  • 嵌入视图应使用父iframe的尺寸 [dimo]

  • 首先在内容类型中查找缩略图 [dimo]

0.13 (2011-12-21)

  • 预加载视频元数据,修复通用字幕小部件显示问题 [dimo]

0.12 (2011-12-18)

  • 改进嵌入视图样式 [dimo]

0.11 (2011-12-17)

  • 修复controlpanel界面的bug [giacomos]

  • 将仓库移动到github [garbas]

  • 使用html5/mediaelementjs进行视频播放,删除flowplayer [dimo, clopy, cpsaltis]

  • 更新buildout、转码脚本,添加ffmpeg [cpsaltis, dimo]

  • 启用切换到高/低质量 [dimo, clopy]

  • 提供嵌入代码 [dimo, clopy]

  • 跟踪转码进度 [dimo]

  • 支持opensubtitles [dimo, clopy]

0.10 (2011-05-10)

  • 更新bootstrap.py [dimo]

0.9 (2011-03-29)

  • 在Plone 3 buildout中将plone.app.registry固定到1.0b2 - 感谢Daniel Marks的报告 [dimo]

0.8 (2011-03-10)

  • 添加在添加作业到转码工具时指定转码配置文件选项

  • 删除未使用的html5选项

0.7 (2010-11-25)

  • 从setup.py中删除PasteScript依赖关系,这导致依赖包中出现问题 [dimo]

  • 使用transcode daemon 0.7

0.6 (2010-10-21)

  • 使用transcode daemon 0.6,防止可能的pycrypto版本冲突 [dimo]

0.5 (2010-10-09)

  • 当从门户中删除相应的内容对象时,删除转码的视频文件 [clopy, dimo]

  • 防止在Plone 3.x中重新安装时删除TranscodeTool [clopy]

  • collective.transcode.burnstation支持 [clopy, dimo, cpsaltis, provetza]

0.4 (2010-08-04)

  • 使用transcode.daemon 0.4并简化buildout [dimo]

0.3 (2010-07-31)

  • 解决plone.app.blob与Unicode文件名的问题的工作方案 [dimo]

  • 修复强制重新转码挂起的请求 [dimo]

0.2 (2010-07-23)

  • 首次公开发布 [dimo]

下载

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

collective.transcode.star-0.21.zip (125.1 kB 查看散列值)

上传

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面