Files

137 lines
7.5 KiB
Markdown
Raw Permalink Normal View History

2021-06-04 12:26:37 +03:00
# MediaCMS
[![GitHub license](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://raw.githubusercontent.com/mediacms-io/mediacms/main/LICENSE.txt)
2021-07-11 18:18:20 +03:00
[![Releases](https://img.shields.io/github/v/release/mediacms-io/mediacms?color=green)](https://github.com/mediacms-io/mediacms/releases/)
2023-03-14 13:30:26 +02:00
[![DockerHub](https://img.shields.io/docker/pulls/mediacms/mediacms)](https://hub.docker.com/r/mediacms/mediacms)
2021-06-04 12:26:37 +03:00
2020-12-15 23:33:43 +02:00
2023-11-10 14:30:14 +02:00
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.
2020-12-15 23:33:43 +02:00
It is built mostly using the modern stack Django + React and includes a REST API.
2021-02-10 18:38:40 +02:00
A demo is available at https://demo.mediacms.io
2020-12-15 23:33:43 +02:00
## Screenshots
2021-03-08 21:36:41 +02:00
<p align="center">
<img src="https://raw.githubusercontent.com/mediacms-io/mediacms/main/docs/images/index.jpg" width="340">
<img src="https://raw.githubusercontent.com/mediacms-io/mediacms/main/docs/images/video.jpg" width="340">
<img src="https://raw.githubusercontent.com/mediacms-io/mediacms/main/docs/images/embed.jpg" width="340">
</p>
2020-12-15 23:33:43 +02:00
## Features
- **Complete control over your data**: host it yourself!
- **Modern technologies**: Django/Python/Celery, React.
2025-04-05 12:44:21 +03:00
- **Support for multiple publishing workflows**: public, private, unlisted and custom
2025-09-02 11:00:17 +03:00
- **Role-Based Access Control (RBAC)**: create RBAC categories and connect users to groups with view/edit access on their media
- **Automatic transcription**: through integration with Whisper running locally
2020-12-15 23:33:43 +02:00
- **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
2025-06-11 14:48:30 +03:00
- **Video Trimmer**: trim video, replace, save as new or create segments
2025-04-05 12:52:29 +03:00
- **SAML support**: with ability to add mappings to system roles and groups
2020-12-15 23:33:43 +02:00
- **Easy media searching**: enriched with live search functionality
2021-01-21 16:40:06 +02:00
- **Playlists for audio and video content**: create playlists, add and reorder content
2020-12-15 23:33:43 +02:00
- **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
2025-07-07 11:34:02 +03:00
- **Multiple transcoding profiles**: sane defaults for multiple dimensions (144p, 240p, 360p, 480p, 720p, 1080p) and multiple profiles (h264, h265, vp9)
2020-12-15 23:33:43 +02:00
- **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
2021-05-31 22:24:05 +03:00
- **REST API**: Documented through Swagger
2024-10-04 13:17:40 +03:00
- **Translation**: Most of the CMS is translated to a number of languages
2020-12-15 23:33:43 +02:00
## Example cases
2025-09-02 11:00:17 +03:00
- **Universities, 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.
2020-12-15 23:33:43 +02:00
- **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
2023-11-10 14:30:14 +02:00
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.
2020-12-15 23:33:43 +02:00
## License
2023-11-10 14:30:14 +02:00
MediaCMS is released under [GNU Affero General Public License v3.0 license](LICENSE.txt).
Copyright Markos Gogoulos.
2020-12-15 23:33:43 +02:00
## 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 info@mediacms.io for more information.
### Commercial Hostings
**Elestio**
You can deploy MediaCMS on Elestio using one-click deployment. Elestio supports MediaCMS by providing revenue share so go ahead and click below to deploy and use MediaCMS.
2020-12-15 23:33:43 +02:00
[![Deploy on Elestio](https://elest.io/images/logos/deploy-to-elestio-btn.png)](https://elest.io/open-source/mediacms)
2020-12-15 23:33:43 +02:00
2023-11-13 11:13:08 +02:00
## Hardware considerations
2020-12-15 23:33:43 +02:00
2023-11-10 14:30:14 +02:00
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.
2020-12-15 23:33:43 +02:00
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).
2025-09-02 11:00:17 +03:00
In order to support automatic transcriptions through Whisper, consider more CPUs.
2020-12-15 23:33:43 +02:00
## Installation / Maintanance
2021-02-02 22:59:42 +02:00
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. Find the related pages:
2021-02-02 22:59:42 +02:00
2024-10-04 13:17:40 +03:00
- [Single Server](docs/admins_docs.md#2-server-installation) page
- [Docker Compose](docs/admins_docs.md#3-docker-installation) page
2021-02-02 22:59:42 +02:00
2023-06-27 13:02:21 +03:00
A complete guide can be found on the blog post [How to self-host and share your videos in 2021](https://medium.com/@MediaCMS.io/how-to-self-host-and-share-your-videos-in-2021-14067e3b291b).
2021-08-01 19:31:12 +03:00
## Documentation
2023-06-27 17:26:54 +03:00
2021-08-01 19:31:12 +03:00
* [Users documentation](docs/user_docs.md) page
* [Administrators documentation](docs/admins_docs.md) page
* [Developers documentation](docs/developers_docs.md) page
2025-07-07 11:34:02 +03:00
* [Configuration](docs/admins_docs.md#5-configuration) page
* [Transcoding](docs/transcoding.md) page
* [Developer Experience](docs/dev_exp.md) page
2025-08-07 13:21:12 +03:00
* [Media Permissions](docs/media_permissions.md) page
2021-08-01 19:31:12 +03:00
2020-12-15 23:33:43 +02:00
## Technology
2023-06-27 17:26:54 +03:00
2021-06-04 12:26:37 +03:00
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
2020-12-15 23:33:43 +02:00
## Who is using it
2025-09-02 11:00:17 +03:00
- **Multiple Universities** for hosting educational videos
- **Cinemata** non-profit media, technology and culture organization - https://cinemata.org
2020-12-15 23:33:43 +02:00
- **Critical Commons** public media archive and fair use advocacy network - https://criticalcommons.org
2024-10-04 13:17:40 +03:00
- **American Association of Gynecologic Laparoscopists** - https://surgeryu.org/
2020-12-15 23:33:43 +02:00
2021-02-02 22:59:42 +02:00
## 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
2023-11-13 11:13:08 +02:00
- Open issues, participate on [discussions](https://github.com/mediacms-io/mediacms/discussions), report bugs, suggest ideas
- [Show and tell](https://github.com/mediacms-io/mediacms/discussions/categories/show-and-tell) how you are using the project
2021-02-02 22:59:42 +02:00
- Star the project
2023-11-10 14:30:14 +02:00
- Add functionality, work on a PR, fix an issue!
2020-12-15 23:33:43 +02:00
## Contact
2023-06-27 17:26:54 +03:00
2021-08-17 00:01:52 +03:00
info@mediacms.io