Package: cohen3
OverviewDlna/UPnP frameworkFor the Digital LivingCohen3 Framework is a DLNA/UPnP Media Server forPython 3, based on thePython 2version namedCohen.
Provides several UPnP MediaServers and MediaRenderers to make simple publishing
and streaming different types of media content to your network.Cohen3 is the Python 3’s version of theCoherence Frameworkproject, originally created byFrank Scholz. If you ever used the
original Coherence project you could use Cohen3 like you do in the original
Coherence project.Documentation:https://opacam.github.io/Cohen3/GitHub:https://github.com/opacam/Cohen3Issue tracker:https://github.com/opacam/Cohen3/issuesPyPI:https://pypi.python.org/pypi/cohen3Free software: MIT licenceFeaturesThe originalCoherence Frameworkwere know to work with different kind of
dlna/UPnP clients and Cohen3 should also work for them:Sony Playstation 3/4XBox360/OneDenon AV ReceiversWD HD Live MediaPlayersSamsung TVsSony Bravia TVsAnd provides a lot of backends to fulfil your media streaming needs:Local file storageApple TrailersLol CatsShoutCast Radioand much more…Project StatusRight now Cohen is in development mode. All the code has been refactored in
order to work for Python 3, moreover, some additions has been made to make
easier to create a custom Backend (check thecoherence.backends.modelspackage documentation for
more information). The original Coherence project was unmaintained for a while
and some of the backends has become obsolete. You can see the backends status
in the below table.StatusBackend NameDescription/NotesAmpacheStoreAppleTrailersStoreAudioCDStoreAxisCamStoreBansheeStoreBuzztardStoreDVBDStoreElisaPlayerElisaMediaStoreFeedStoreFlickrStoreFSStoreGallery2StoreGStreamerPlayerIRadioStore (ShoutCast)ITVStoreLastFMStoreservice moved to new api…needs updateLolcatsStoreMediaStoreMiroGuideStoreThe miroguide’s api is not working anymore :(PicasaStorePartially tested, may work until starting year 2019, where google will
begin to shutdown this service, the source code should be rewrite using
the api for the new service `Google Photos`PlayListStoreRadiotimeStoreSWR3StoreTEDStoreTestStoreTrackerStoreTestStoreTwitchStorePartially working, video play is not workingYamjStoreYouTubeStoreGoogle moved to new api…backend should be rewrite with new api in
mindNotes:Some of the listed backends it may be removed in a future releases…
depending on if the target service is still available, dependencies of
the backend, maintainability…keep in mind that the main goal of this
project is to have a working media server/client capable of serve local
files into a dlna/upnp network, all the backends are extra features which
may be handy for some end-users and also may be useful as a reference of
how to make your own backend using the Cohen3’s modules.Installation with pipIf you want to install with pip, first make sure that thepipcommand
triggers the python3 version of python or usepip3instead. You can install
theCohen3python package frompypior githubTo install from pypi:$ pip3 install –user Cohen3To install from git:$ pip3 install –userhttps://github.com/opacam/Cohen3/archive/master.zipNoteAn user install is recommended or use an virtualenvTipIf you encounter problems while installing, caused by some dependency,
you may try to bypass this error by installing the conflicting dependency
beforeCohen3, so if you face an error like this forTwisted:ERROR: Could not find a version that satisfies the requirement
Twisted>=19.2.1 (from Cohen3) (from versions: none)You should be able to fix it installing Twisted before the install ofCohen3:pip3 install –upgrade –user TwistedInstall from source withpoetryAfter downloading and extracting the archive or having done a git
clone, move into the freshly created ‘Cohen3’ folder and install
all dependencies (dev included) withpoetry, but first upgradepip:$ pip3 install pip --upgrade
$ pip3 install poetry
$ poetry installPersonalized install from source withpipAlso, you can perform a personalized install usingpip. This will allow you
to install only certain dependencies, if you want the basic dependencies to run
the project:$ pip install .If you want to install Cohen3 with development dependencies:$ pip install .[dev]Note: Here you have all supported install modes:dev: all the dependencies will be installed except docstest: used by travis builds (omits dbus and docs)docs: install build dependencies to generate docsdbus: install dependencies needed by tube service or dvbd storagegstreamer: needed if you use GStreamerPlayerpicasa: needed by the picasa storageyoutube: needed by the youtube backendQuickstartTo just export some files on your hard-disk fire up Cohen with
an UPnP MediaServer with a file-system backend enabled:$ cohen3 --plugin=backend:FSStore,content:/path/to/your/media/filesYou can also configure cohen via a config file. Feel free to check our examplemisc/cohen.conf.example. The config file can be placed anywhere, cohen
looks by default for$HOME/.cohen, but you can pass the path via the
command line option ‘-c’ to it too:$ cohen3 -c /path/to/config/fileFor developersStarting from version 0.9.0 the event system has changed from louie/dispatcher
to EventDispatcher (external dependency). Here are the most important changes:The new event system is not a global dispatcher anymoreAll the signal/receivers are connected between them only if it is
necessary.We don’t connect/disconnect anymore, instead we will bind/unbind.The events has been renamed (this is necessary because the old event
names contains dots in his names, and this could cause troubles with the
new event system)Please, check the documentation for further details at“The events system”section.ContributingReport bugs athttps://github.com/opacam/Cohen3/issuesFeel free to fetch the repo and send yourpull requests!