All Projects → mediacms-io → Mediacms

mediacms-io / Mediacms

Licence: agpl-3.0
MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Mediacms

Web Publisher
Superdesk Publisher - the next generation publishing platform for journalists and newsrooms.
Stars: ✭ 82 (-73.8%)
Mutual labels:  cms, open-source, media
Oblecto
Oblecto is a media server, which streams media you already own, and is designed to be at the heart of your entertainment experience. It runs on your home server to index and analyze your media such as Movies and TV Shows and presents them in an interface tailored for your media consupmtion needs.
Stars: ✭ 67 (-78.59%)
Mutual labels:  rest-api, self-hosted, media
Mezzanine Api
RESTful web API for Mezzanine CMS
Stars: ✭ 84 (-73.16%)
Mutual labels:  rest-api, cms, django
zusam
Private groups to share messages, photos, videos, links with friends and family.
Stars: ✭ 79 (-74.76%)
Mutual labels:  sharing, self-hosted
Django Rest Registration
User-related REST API based on the awesome Django REST Framework
Stars: ✭ 240 (-23.32%)
Mutual labels:  rest-api, django
Tweetme 2
Build a twitter-like app in Django, Bootstrap, Javascript, & React.js. Step-by-Step.
Stars: ✭ 247 (-21.09%)
Mutual labels:  rest-api, django
Django Rest Marshmallow
Marshmallow schemas for Django REST framework
Stars: ✭ 198 (-36.74%)
Mutual labels:  rest-api, django
Gitlit
Platform to connect contributors and projects based on skill level and shared interests.
Stars: ✭ 265 (-15.34%)
Mutual labels:  rest-api, django
SheetAble
Self-hosted music sheet organizing software
Stars: ✭ 107 (-65.81%)
Mutual labels:  media, self-hosted
Kmedia
An application level media framework for Android. (RTFSC)
Stars: ✭ 274 (-12.46%)
Mutual labels:  audio, media
Djangocms Admin Style
django CMS Admin Style is a Django Theme tailored to the needs of django CMS.
Stars: ✭ 282 (-9.9%)
Mutual labels:  cms, django
Rest Api
Learn how to build your own REST API with Python, Django, and the Django Rest Framework.
Stars: ✭ 232 (-25.88%)
Mutual labels:  rest-api, django
Quran Api
Simple Quran API with Indonesia Tafsir and media audio (murrotal) Syekh. Mishary Rashid Alafasy
Stars: ✭ 218 (-30.35%)
Mutual labels:  rest-api, audio
Strapi Sdk Javascript
🔌 Official JavaScript SDK for APIs built with Strapi.
Stars: ✭ 247 (-21.09%)
Mutual labels:  rest-api, cms
Blogbackendproject
Backend code for my blogs, develop with Django Rest framework.
Stars: ✭ 204 (-34.82%)
Mutual labels:  rest-api, django
Cms
Club Management System of amFOSS, powered by CMS
Stars: ✭ 263 (-15.97%)
Mutual labels:  cms, django
Django Page Cms
Official Django page CMS git repository
Stars: ✭ 277 (-11.5%)
Mutual labels:  cms, django
Lms
Lightweight Music Server. Access your self-hosted music using a web interface.
Stars: ✭ 315 (+0.64%)
Mutual labels:  self-hosted, audio
Deploy Your Own Saas
List of "only yours" cloud services for everyday needs 🏴
Stars: ✭ 3,561 (+1037.7%)
Mutual labels:  self-hosted, open-source
Drf Yasg
Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.
Stars: ✭ 2,523 (+706.07%)
Mutual labels:  rest-api, django

MediaCMS

MediaCMS is a modern, fully featured open source video and media CMS. It is developed to meet the needs of modern web platforms for viewing and sharing media. It can be used to build a small to medium video and media portal within minutes.

It is built mostly using the modern stack Django + React and includes a REST API.

A demo is available at https://demo.mediacms.io

Screenshots

Features

  • Complete control over your data: host it yourself!
  • Support for multiple publishing workflows: public, private, unlisted and custom
  • Modern technologies: Django/Python/Celery, React.
  • Multiple media types support: video, audio, image, pdf
  • Multiple media classification options: categories, tags and custom
  • Multiple media sharing options: social media share, videos embed code generation
  • Easy media searching: enriched with live search functionality
  • Playlists for audio and video content: create playlists, add and reorder content
  • Responsive design: including light and dark themes
  • Advanced users management: allow self registration, invite only, closed.
  • Configurable actions: allow download, add comments, add likes, dislikes, report media
  • Configuration options: change logos, fonts, styling, add more pages
  • Enhanced video player: customized video.js player with multiple resolution and playback speed options
  • Multiple transcoding profiles: sane defaults for multiple dimensions (240p, 360p, 480p, 720p, 1080p) and multiple profiles (h264, h265, vp9)
  • Adaptive video streaming: possible through HLS protocol
  • Subtitles/CC: support for multilingual subtitle files
  • Scalable transcoding: transcoding through priorities. Experimental support for remote workers
  • Chunked file uploads: for pausable/resumable upload of content

Example cases

  • Schools, education. Administrators and editors keep what content will be published, students are not distracted with advertisements and irrelevant content, plus they have the ability to select either to stream or download content.

  • Organization sensitive content. In cases where content is sensitive and cannot be uploaded to external sites.

  • Build a great community. MediaCMS can be customized (URLs, logos, fonts, aesthetics) so that you create a highly customized video portal for your community!

  • Personal portal. Organize, categorize and host your content the way you prefer.

Philosophy

We believe there's a need for quality open source web applications that can be used to build community portals and support collaboration.

We have three goals for MediaCMS: a) deliver all functionality one would expect from a modern system, b) allow for easy installation and maintenance, c) allow easy customization and addition of features.

License

MediaCMS is released under GNU Affero General Public License v3.0 license. Copyright Markos Gogoulos and Yiannis Stergiou

Support and paid services

We provide custom installations, development of extra functionality, migration from existing systems, integrations with legacy systems, training and support. Contact us at [email protected] for more information.

Hardware dependencies

For a small to medium installation, with a few hours of video uploaded daily, and a few hundreds of active daily users viewing content, 4GB Ram / 2-4 CPUs as minimum is ok. For a larger installation with many hours of video uploaded daily, consider adding more CPUs and more Ram.

In terms of disk space, think of what the needs will be. A general rule is to multiply by three the size of the expected uploaded videos (since the system keeps original versions, encoded versions plus HLS), so if you receive 1G of videos daily and maintain all of them, you should consider a 1T disk across a year (1G * 3 * 365).

Installation

There are two ways to run MediaCMS, through Docker Compose and through installing it on a server via an automation script that installs and configures all needed services.

Docker Compose installation

Install a recent version of Docker, and Docker Compose.

Run as root

git clone https://github.com/mediacms-io/mediacms
cd mediacms

The default option to serve MediaCMS is on http://localhost. If you want to set a url and have it served there, set the FRONTEND_HOST variable on file deploy/docker/local_settings.py.

Now run

docker-compose up

This will download all MediaCMS related Docker images and start all containers. Once it finishes, MediaCMS will be installed and available on http://localhost (or the url you've set as FRONTEND_HOST on file deploy/docker/local_settings.py)

For more instructions, checkout the docs on the Docker deployment page. Docker Compose support has been contributed by @swiftugandan.

Single server installation

The core dependencies are Python3, Django3, Celery, PostgreSQL, Redis, ffmpeg. Any system that can have these dependencies installed, can run MediaCMS. But we strongly suggest installing on Linux Ubuntu 18 or 20 versions.

Installation on a Ubuntu 18 or 20 system with git utility installed should be completed in a few minutes with the following steps. Make sure you run it as user root, on a clear system, since the automatic script will install and configure the following services: Celery/PostgreSQL/Redis/Nginx and will override any existing settings.

Automated script - to run on Ubuntu 18 or Ubuntu 20 flavors only!

mkdir /home/mediacms.io && cd /home/mediacms.io/
git clone https://github.com/mediacms-io/mediacms
cd /home/mediacms.io/mediacms/ && bash ./install.sh

The script will ask if you have a URL where you want to deploy MediaCMS, otherwise it will use localhost. If you provide a URL, it will use Let's Encrypt service to install a valid ssl certificate.

Update

If you've used the above way to install MediaCMS, update with the following:

cd /home/mediacms.io/mediacms # enter mediacms directory
source  /home/mediacms.io/bin/activate # use virtualenv
git pull # update code
python manage.py migrate # run Django migrations
sudo systemctl restart mediacms celery_long celery_short # restart services

Configure

Several options are available on cms/settings.py, most of the things that are allowed or should be disallowed are described there. It is advisable to override any of them by adding it to cms/local_settings.py. All configuration options will be documented gradually on the Configuration page.

Authors

MediaCMS is developed by Yiannis Stergiou and Markos Gogoulos. We are Wordgames - https://wordgames.gr.

Technology

This software uses the following list of awesome technologies:

  • Python
  • Django
  • Django Rest Framework
  • Celery
  • PostgreSQL
  • Redis
  • Nginx
  • uWSGI
  • React
  • Fine Uploader
  • video.js
  • FFMPEG
  • Bento4

Who is using it

Thanks To

  • Anna Helme, for such a great partnership all these years!

  • Steve Anderson, for trusting us and helping the Wordgames team make this real.

  • Andrew Lowenthal, King Catoy, Rezwan Islam and the rest of the great team of Engage Media.

  • Ioannis Korovesis, Ioannis Maistros, Diomidis Spinellis and Theodoros Karounos, for their mentorship all these years, their contribution to science and the promotion of open source and free software technologies.

  • Antonis Ikonomou, for hosting us on the excellent Innovathens space.

  • Werner Robitza, for helping us with ffmpeg related stuff.

How to contribute

If you like the project, here's a few things you can do

  • Hire us, for custom installations, training, support, maintenance work
  • Suggest us to others that are interested to hire us
  • Write a blog post/article about MediaCMS
  • Share on social media about the project
  • Open issues, participate on discussions, report bugs, suggest ideas
  • Star the project
  • Add functionality, work on a PR, fix an issue!

Contact

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].