This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

collective.transcode.daemon is an XML-RPC daemon servicing requests for transcoding jobs.

It was initially developed during the Plone Video Sprint that took place right after the Plone Conference 2009 in Budapest. It was based on the darksnow.convertdaemon code but has evolved a lot since

It’s currently used for video transcoding in Plumi 3.0 and 3.1 and is a part of the collective.transcode.* suite for Plone 3.x & 4.x.

Requirements

Apart from what is assembled by the buildout, the following dependencies must be installed manually for the transcoding scripts to work:

  • ffmpeg with x264 support
  • ffmpeg2theora

The daemon has been tested with Python2.4 and Python2.6.

Installation

The instructions below are for setting up a standalone transcode daemon.

If you want a complete transcoding solution for the Plone CMS use collective.transcode.star

The best way to install a standalone daemon is to use zc.buildout and the buildout.cfg file provided

python2.6 bootstrap.py
./bin/buildout
...
./bin/transcodedaemon fg
Initializing
Launched http channel
Launched TranscodeDaemon scheduler thread....

Configuration

You can edit the following options in buildout.cfg:

listen_host
    hostname to listen

listen_port
    port to use

videofolder
    relative path of folder where transcoded videos are stored

secret
    a secret shared key used for authentication and encryption

profiles
    a python list of dicts specifying the supported transcoding profiles

Don’t forget to run ./bin/buildout after editing buildout.cfg

You can also customize the transcoding scripts inside the scripts directory.

Contributors

  • Dimitris Moraitis, unweb.me
  • Mike Muzurakis, unweb.me
  • Christos Psaltis, unweb.me
  • Markos Gogoulos, unweb.me
  • Victor Rajewski, engagemedia.org

Change history

0.12 (2012-12-03)

  • download videos from inside the transcoding scripts to prevent daemon unresponsivenes [dimo]
  • get child output after sleep, improves error reporting [dimo]
  • increase socket timeout [mgogoulos]

0.11 (2012-11-17)

  • fix stripping of ‘#’ in file paths [mgogoulos]
  • add timeout for urlretrieve [dimo]
  • add yasm in ffmpeg buildout [dimo]
  • update ffmpeg & transcode scripts [dimo]

0.10 (2012-01-05)

  • fix getDuration [dimo]
  • add video/x-matroska to supported mimetypes [dimo]
  • increase sleep cycle [dimo]

0.9 (2011-12-17)

  • fix negative time bug [mgogoulos]
  • add tests [dimo]
  • track transcode progress [dimo]
  • add ffmpeg to daemon buildout [dimo]
  • update dependencies [dimo, cpsaltis]
  • improve error handling [dimo]
  • nicer buildout formatting [cpsaltis]
  • set video/webm as default content-type in videofolder [dimo]
  • updated default transcode scripts [dimo, cpsaltis]
  • moved to github [garbas]

0.8 (2010-05-10)

  • add timeout to scheduler queue to avoid possible transcoder freeze [dimo, mgogoulos]

0.7 (2010-11-23)

  • use a proper tempfile before transcoding [clopy]

0.6 (2010-10-21)

  • remove version pins in setup.py to prevent version conflict errors [dimo]

0.5 (2010-10-09)

  • delete support [clopy]
  • support for creating DVD iso files when combined with collective.transcode.burnstation [clopy, cpsaltis, dimo, mgogoulos]

0.4 (2010-08-03)

  • cleared up codebase [cpsaltis]
  • removed dependency on twisted.web2 [cpsaltis]
  • removed dependency on minitage.recipe [cpsaltis]
  • simplified buildout.cfg [cpsaltis]

0.3 (2010-07-23)

  • Better normalizing [dimo]
  • Add hashlib to dependencies for python 2.4 compatibility [cpsaltis]

0.2 (2010-07-22)

  • First stable release [dimo]

0.1 (2010-02-18)

  • Initial release [dimo]

Download

Release History

Release History

0.12

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.11

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.10

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.9

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.8

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
collective.transcode.daemon-0.12.zip (34.4 kB) Copy SHA256 Checksum SHA256 Source Dec 3, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting