diff options
Diffstat (limited to 'contrib/flumotion-components')
-rw-r--r-- | contrib/flumotion-components/flv.py | 32 | ||||
-rw-r--r-- | contrib/flumotion-components/mkv.py | 32 | ||||
-rw-r--r-- | contrib/flumotion-components/muxers.xml | 120 |
3 files changed, 184 insertions, 0 deletions
diff --git a/contrib/flumotion-components/flv.py b/contrib/flumotion-components/flv.py new file mode 100644 index 0000000..99db480 --- /dev/null +++ b/contrib/flumotion-components/flv.py @@ -0,0 +1,32 @@ +# -*- Mode: Python -*- +# vi:si:et:sw=4:sts=4:ts=4 + +# Flumotion - a streaming media server +# Copyright (C) 2004,2005,2006,2007,2008,2009 Fluendo, S.L. +# Copyright (C) 2010,2011 Flumotion Services, S.A. +# All rights reserved. +# +# This file may be distributed and/or modified under the terms of +# the GNU Lesser General Public License version 2.1 as published by +# the Free Software Foundation. +# This file is distributed without any warranty; without even the implied +# warranty of merchantability or fitness for a particular purpose. +# See "LICENSE.LGPL" in the source distribution for more information. +# +# Headers in this file shall remain intact. + +from flumotion.common import messages +from flumotion.common.i18n import N_, gettexter +from flumotion.component import feedcomponent +from flumotion.worker.checks import check + +__version__ = "$Rev$" +T_ = gettexter() + + +class FLV(feedcomponent.MuxerComponent): + checkTimestamp = True + + def get_muxer_string(self, properties): + muxer = 'flvmux name=muxer streamable=true' + return muxer diff --git a/contrib/flumotion-components/mkv.py b/contrib/flumotion-components/mkv.py new file mode 100644 index 0000000..7b035c8 --- /dev/null +++ b/contrib/flumotion-components/mkv.py @@ -0,0 +1,32 @@ +# -*- Mode: Python -*- +# vi:si:et:sw=4:sts=4:ts=4 + +# Flumotion - a streaming media server +# Copyright (C) 2004,2005,2006,2007,2008,2009 Fluendo, S.L. +# Copyright (C) 2010,2011 Flumotion Services, S.A. +# All rights reserved. +# +# This file may be distributed and/or modified under the terms of +# the GNU Lesser General Public License version 2.1 as published by +# the Free Software Foundation. +# This file is distributed without any warranty; without even the implied +# warranty of merchantability or fitness for a particular purpose. +# See "LICENSE.LGPL" in the source distribution for more information. +# +# Headers in this file shall remain intact. + +from flumotion.common import messages +from flumotion.common.i18n import N_, gettexter +from flumotion.component import feedcomponent +from flumotion.worker.checks import check + +__version__ = "$Rev$" +T_ = gettexter() + + +class MKV(feedcomponent.MuxerComponent): + checkTimestamp = True + + def get_muxer_string(self, properties): + muxer = 'matroskamux name=muxer streamable=true' + return muxer diff --git a/contrib/flumotion-components/muxers.xml b/contrib/flumotion-components/muxers.xml new file mode 100644 index 0000000..91cf819 --- /dev/null +++ b/contrib/flumotion-components/muxers.xml @@ -0,0 +1,120 @@ +<registry> + <components> + + <component type="ogg-muxer" base="flumotion/component/muxers" + _description="Muxes encode feeds into an Ogg feed."> + <source location="flumotion.component.muxers.ogg"/> + <feeder name="default"/> + <eater name="default" multiple="yes"/> + <entries> + <entry type="component" location="ogg.py" + function="Ogg"/> + <entry type="wizard" location="wizard_gtk.py" + function="OggWizardPlugin"/> + </entries> + + <wizard _description="Ogg" type="muxer" + feeder="default" eater="default"> + <accept-format media-type="dirac" /> + <accept-format media-type="theora" /> + <accept-format media-type="speex" /> + <accept-format media-type="vorbis" /> + <accept-format media-type="vp8" /> + <provide-format media-type="ogg" /> + </wizard> + </component> + + <component type="multipart-muxer" base="flumotion/component/muxers" + _description="Muxes encode feeds into a Multipart feed."> + <source location="flumotion.component.muxers.multipart"/> + <feeder name="default"/> + <eater name="default" multiple="yes"/> + <entries> + <entry type="component" location="multipart.py" + function="Multipart"/> + <entry type="wizard" location="wizard_gtk.py" + function="MultipartWizardPlugin"/> + </entries> + <wizard _description="Multipart" type="muxer" + feeder="default" eater="default"> + <accept-format media-type="jpeg"/> + <accept-format media-type="mulaw"/> + <accept-format media-type="smoke"/> + <provide-format media-type="multipart"/> + </wizard> + </component> + + <component type="webm-muxer" base="flumotion/component/muxers" + _description="Muxes encoded feeds into an WebM feed."> + <source location="flumotion.component.muxers.webm"/> + <feeder name="default"/> + <eater name="default" multiple="yes"/> + <entries> + <entry type="component" location="webm.py" + function="WebM"/> + <entry type="wizard" location="wizard_gtk.py" + function="WebMWizardPlugin"/> + </entries> + <wizard _description="WebM" type="muxer" + feeder="default" eater="default"> + <accept-format media-type="vorbis"/> + <accept-format media-type="vp8"/> + <provide-format media-type="webm" /> + </wizard> + </component> + + <component type="mkv-muxer" base="flumotion/component/muxers" + _description="Muxes encoded feeds into an matroska feed."> + <source location="flumotion.component.muxers.mkv"/> + <feeder name="default"/> + <eater name="default" multiple="yes"/> + <entries> + <entry type="component" location="mkv.py" + function="MKV"/> + </entries> + </component> + + <component type="flv-muxer" base="flumotion/component/muxers" + _description="Muxes encoded feeds into an flv feed."> + <source location="flumotion.component.muxers.flv"/> + <feeder name="default"/> + <eater name="default" multiple="yes"/> + <entries> + <entry type="component" location="flv.py" + function="FLV"/> + </entries> + </component> + + </components> + + <bundles> + <bundle name="muxers-base"> + <directories> + <directory name="flumotion/component/muxers"> + <filename location="base.py" /> + </directory> + </directories> + </bundle> + + <bundle name="muxers"> + <dependencies> + <dependency name="component" /> + <dependency name="muxers-base" /> + </dependencies> + + <directories> + <directory name="flumotion/component/muxers"> + <filename location="multipart.py" /> + <filename location="ogg.py" /> + <filename location="webm.py" /> + <filename location="mkv.py" /> + <filename location="flv.py" /> + <filename location="checks.py" /> + <filename location="wizard_gtk.py" /> + </directory> + </directories> + </bundle> + + </bundles> + +</registry> |