Cohen3 - DLNA/UPnP Media Server
Project description
Overview
Dlna/UPnP framework
For the Digital Living
Cohen3 Framework is a DLNA/UPnP Media Server for Python 3, based on the Python 2 version named Cohen. 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 the Coherence Framework project, originally created by Frank 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/Cohen3
Issue tracker: https://github.com/opacam/Cohen3/issues
Free software: MIT licence
Features
The original Coherence Framework were know to work with different kind of dlna/UPnP clients and Cohen3 should also work for them:
Sony Playstation 3/4
XBox360/One
Denon AV Receivers
WD HD Live MediaPlayers
Samsung TVs
Sony Bravia TVs
And provides a lot of backends to fulfil your media streaming needs:
Local file storage
Apple Trailers
Lol Cats
ShoutCast Radio
and much more…
Project Status
Right 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 the coherence.backends.models package 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.
Status |
Backend Name |
Description/Notes |
---|---|---|
AmpacheStore |
||
AppleTrailersStore |
||
AudioCDStore |
||
AxisCamStore |
||
BansheeStore |
||
BuzztardStore |
||
DVBDStore |
||
ElisaPlayer |
||
ElisaMediaStore |
||
FeedStore |
||
FlickrStore |
||
FSStore |
||
Gallery2Store |
||
GStreamerPlayer |
||
IRadioStore (ShoutCast) |
||
ITVStore |
||
LastFMStore |
service moved to new api…needs update |
|
LolcatsStore |
||
MediaStore |
||
MiroGuideStore |
The miroguide’s api is not working anymore :( |
|
PicasaStore |
Partially 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` |
|
PlayListStore |
||
RadiotimeStore |
||
SWR3Store |
||
TEDStore |
||
TestStore |
||
TrackerStore |
||
TestStore |
||
TwitchStore |
Partially working, video play is not working |
|
YamjStore |
||
YouTubeStore |
Google moved to new api…backend should be rewrite with new api in mind |
Notes:
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 pip
If you want to install with pip, first make sure that the pip command triggers the python3 version of python or use pip3 instead. You can install the Cohen3 python package from pypi or github
To install from pypi:
$ pip3 install –user Cohen3
To install from git:
$ pip3 install –user https://github.com/opacam/Cohen3/archive/master.zip
Install from source with poetry
After downloading and extracting the archive or having done a git clone, move into the freshly created ‘Cohen3’ folder and install all dependencies (dev included) with poetry, but first upgrade pip:
$ pip3 install pip --upgrade $ pip3 install poetry $ poetry install
Personalized install from source with pip
Also, you can perform a personalized install using pip. 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 docs
test: used by travis builds (omits dbus and docs)
docs: install build dependencies to generate docs
dbus: install dependencies needed by tube service or dvbd storage
gstreamer: needed if you use GStreamerPlayer
picasa: needed by the picasa storage
youtube: needed by the youtube backend
Quickstart
To 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/files
You can also configure cohen via a config file. Feel free to check our example misc/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/file
For developers
Starting 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 anymore
All 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.
Contributing
Report bugs at https://github.com/opacam/Cohen3/issues
Feel free to fetch the repo and send your pull requests!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Cohen3-0.9.3.tar.gz
.
File metadata
- Download URL: Cohen3-0.9.3.tar.gz
- Upload date:
- Size: 413.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c630af97d9bfac29e42df0e7a2209e412b8e5e5fcde3abd544d0a39b86013b1a |
|
MD5 | 084154ad318e48813c24fe9d3110ab46 |
|
BLAKE2b-256 | 038e6e8e5c63fe871d7a2e3e22df22679ca2451a54668ee78edd06d9d2de2c2c |
File details
Details for the file Cohen3-0.9.3-py3-none-any.whl
.
File metadata
- Download URL: Cohen3-0.9.3-py3-none-any.whl
- Upload date:
- Size: 383.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59bbd7fde92912fe6a8c3ca9a54793144257005cbc97d4da4aa249b6a5c86540 |
|
MD5 | c0f549a318bb2d334358656a6cf78b0a |
|
BLAKE2b-256 | 888eb582ae3080c15d1d066ece37051daa60a56dbc386658f66223e8395a2f27 |