{"id":13557402,"url":"https://github.com/nebulabroadcast/nebula","last_synced_at":"2025-04-03T11:32:00.918Z","repository":{"id":43002260,"uuid":"146662901","full_name":"nebulabroadcast/nebula","owner":"nebulabroadcast","description":"Media asset management and broadcast automation system","archived":false,"fork":false,"pushed_at":"2024-10-20T11:12:33.000Z","size":5835,"stargazers_count":216,"open_issues_count":12,"forks_count":26,"subscribers_count":16,"default_branch":"develop","last_synced_at":"2024-10-21T02:30:31.807Z","etag":null,"topics":["asset-management","automation","broadcast","casparcg","cms","ffmpeg","graphics","livestream","multimedia","playlist","python3","scheduling","television","transcoding","video-processing","vod"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nebulabroadcast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-29T21:51:49.000Z","updated_at":"2024-10-20T11:12:41.000Z","dependencies_parsed_at":"2023-11-11T10:26:47.411Z","dependency_job_id":"3be32190-3795-4ef0-8328-2cc271a7b004","html_url":"https://github.com/nebulabroadcast/nebula","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebulabroadcast%2Fnebula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebulabroadcast%2Fnebula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebulabroadcast%2Fnebula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebulabroadcast%2Fnebula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nebulabroadcast","download_url":"https://codeload.github.com/nebulabroadcast/nebula/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246993124,"owners_count":20865941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asset-management","automation","broadcast","casparcg","cms","ffmpeg","graphics","livestream","multimedia","playlist","python3","scheduling","television","transcoding","video-processing","vod"],"created_at":"2024-08-01T12:04:19.907Z","updated_at":"2025-04-03T11:31:55.881Z","avatar_url":"https://github.com/nebulabroadcast.png","language":"Python","funding_links":[],"categories":["Python","HarmonyOS","automation"],"sub_categories":["Windows Manager"],"readme":"NEBULA\n======\n\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/nebulabroadcast/nebula?style=for-the-badge)\n![Maintenance](https://img.shields.io/maintenance/yes/2024?style=for-the-badge)\n![Last commit](https://img.shields.io/github/last-commit/nebulabroadcast/nebula?style=for-the-badge)\n![Python version](https://img.shields.io/badge/python-3.11-blue?style=for-the-badge)\n\nNebula is an open source broadcast automation and media asset management system for television, radio and VOD platforms.\nSince 2012 Nebula has proven stable and reliable software in 24/7 broadcast environment \nand it is now used by TV and production companies worldwide.\n\nThis repository contains the source code of Nebula server - the core of the system.\nNebula server consists of a Python backend and a React frontend. The repository\nalso contains a Dockerfile for building a Docker image of the server.\n\nApart from this server repository, Nebula consists of the following other repositories:\n\n - [nebula-tutorial](https://github.com/nebulabroadcast/nebula-tutorial) - Example docker-compose.yml, default settings, plugins and other files for getting started with Nebula.\n - [nebula-worker](https://github.com/nebulabroadcast/nebula-worker) - Nebula worker is a Python application that runs on a worker machine and handles the actual media processing.\n - [firefly](https://github.com/nebulabroadcast/firefly) - Firefly is a desktop client needed for linear broadcast planning, scheduling and playout.\n\n\nKey features\n------------\n\n### Media Asset Management\n\nSimple and fast media catalog based on [EBU\u0026nbsp;Core](https://tech.ebu.ch/MetadataEbuCore) includes a description of asset\ngenre, editorial format, atmosphere, rights, relations, and technical metadata,\nwhile its very fast search engine makes navigation among media files very easy.\n\nThe low-resolution preview allows for editorial review, trimming, and the creation of sub-clips.\n\n![Metadata editor](https://nebulabroadcast.com/static/img/nebula-metadata-editor.webp)\n\n### Video and audio cross-conversion and normalization\n\nA preliminary media analysis and normalization guarantee its standards compliance.\nThis process includes metadata extraction, aspect ratio fixing, crop and rotation detection,\nsmart frame rate and size normalization and [EBU R128](https://tech.ebu.ch/docs/r/r128.pdf) loudness correction.\n\nAutomatic cross-conversion servers transcode files for playout, web, low-res proxies, customer previews, etc.\nFor **h.264** and **HEVC**, Nebula can take advantage of NVIDIA nvenc and leverage the speed of transcoding using GPUs.\n\nIt is possible to start conversions automatically (rule-based) or trigger them from the user interface.\n\n### Linear scheduling\n\nFirefly client provides a simple and user-friendly way to schedule linear broadcasting.\nMacro- and micro-scheduling patterns are finished intuitively using drag\u0026drop, including live events.\n\nNebula has also the ability to schedule for playback assets, which aren't finished yet.\nAs soon as a media file is created the media file and rundown item are paired automatically.\n\nThe optional [Dramatica](https://github.com/immstudios/dramatica) module makes program planning even easier;\ndepending on the particular broadcast scheme, Dramatica selects and automatically completes convenient shows, self-promotions, trailers, and fillings.\n\nIt is the way to create a playlist for a music station where an algorithm automatically creates a playlist based on a predefined scheme.\nEach clip in the rundown is picked by its editorial format, genre, tempo, atmosphere, etc.\n\n![Detail of a scheduler panel in the Firefly application](https://nebulabroadcast.com/static/img/nebula-scheduler.webp)\n\n\n### Playout control\n\nFor linear broadcasting, Nebula can control\n[CasparCG](https://casparcg.com), [VLC](https://videolan.org) or [Conti](https://github.com/immstudios/conti).\nBroadcasting can run autonomously with and option of starting blocks at a specified time.\n\nUsers - master control room operators - can interfere with the rundown using [Firefly client](https://github.com/nebulabroadcast/firefly),\nexecuting graphics or change run order until the last moment.\n\nPlayout control module offers a plug-in interface for secondary events execution such as CG, router or studio control,\nrecorders control and so on. Right at the operator's fingertips.\n\n![Detail of a rundown panel with playout control interface](https://nebulabroadcast.com/static/img/nebula-playout-control.webp)\n\n### Publishing\n\nNebula can be linked to a company website via the API.\nMedia files are automatically uploaded to the web or social networks after the planned program is broadcasted.\n\n### Statistics and reporting\n\nNebula allows generating various statistics and reports for collective rights management societies like OSA, DACS, etc. in an xls file.\n\n### Management and monitoring\n\nA simple web based interface allows various management tasks (services and jobs monitoring, user management...) as well as simplified MAM access for\neditorial work without Firefly installed.\n\nNebula provides extensive system metrics in [Prometheus](https://prometheus.io) format. [Grafana](https://grafana.com)\ndashboard can be used for their visualization and alerting in case of problems.\n\n### Reliability\n\nNebula is under active development and is in production since 2012 with no intenitons of abandoning the project,\nand we have a roadmap for several years. We listen to our customers, and we change our priorities in order to meet\nrequests from the production.\n\nWe do not attempt to include numerous features that no one will ever use.\nInstead, we have spent many years working alongside Nebula operators, learning from each other.\nWe believe that Nebula covers all common tasks in a broadcast environment.\n\nLegal\n-----\n\n*Nebula* is developed and maintained by [imm studios, z.s.](https://imm.cz)\n\n### License\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU General Public License for more details.\n\nNeed help?\n----------\n\n - Join [Open Source Broadcasting](https://discord.gg/WXaaHYGQ) group on Discord\n - Professional support for Nebula is provided by [Nebula Broadcast](https://nebulabroadcast.com)\n - User documentation is available on [our website](https://nebulabroadcast.com/doc/nebula)\n - Found a bug? Please [create an issue](https://github.com/nebulabroadcast/nebula/issues)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnebulabroadcast%2Fnebula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnebulabroadcast%2Fnebula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnebulabroadcast%2Fnebula/lists"}