PHPackages                             centric/centric-livestreaming - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. centric/centric-livestreaming

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

centric/centric-livestreaming
=============================

Bundle for live-streaming to various online networks

01PHP

Since Mar 21Pushed 3y agoCompare

[ Source](https://github.com/CENTRIC-LIMITED/live-broadcast-bundle)[ Packagist](https://packagist.org/packages/centric/centric-livestreaming)[ RSS](/packages/centric-centric-livestreaming/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Live Broadcast Bundle
=====================

[](#live-broadcast-bundle)

[![Build status](https://github.com/martin1982/live-broadcast-bundle/workflows/Static%20analysis%20of%20live-broadcast-bundle/badge.svg)](https://github.com/martin1982/live-broadcast-bundle/workflows/Static%20analysis%20of%20live-broadcast-bundle/badge.svg)[![Latest stable version](https://camo.githubusercontent.com/8d8bb562bcc6a575cc6d6e5717305b97aa36a66e0ea617aa96408a2a0e2c767c/68747470733a2f2f706f7365722e707567782e6f72672f6d617274696e313938322f6c6976652d62726f6164636173742d62756e646c652f762f737461626c65)](https://packagist.org/packages/martin1982/live-broadcast-bundle)

[![License](https://camo.githubusercontent.com/92de15d4c62dc7bdf824bab43a34ab372fa54fc3e48765d06ffb895c84f60b08/68747470733a2f2f706f7365722e707567782e6f72672f6d617274696e313938322f6c6976652d62726f6164636173742d62756e646c652f6c6963656e7365)](https://packagist.org/packages/martin1982/live-broadcast-bundle)[![Total downloads](https://camo.githubusercontent.com/521f76ca6b96e88d81fde28582be0b84abdf69f5b86900158ee6d441e329ee72/68747470733a2f2f706f7365722e707567782e6f72672f6d617274696e313938322f6c6976652d62726f6164636173742d62756e646c652f646f776e6c6f616473)](https://packagist.org/packages/martin1982/live-broadcast-bundle)

Table of contents
-----------------

[](#table-of-contents)

- [About](#about)
- [Prerequisites](#prerequisites)
- [Basic installation](#basic-installation)
- [Enabling Facebook Live](#enabling-facebook-live)
- [Enabling YouTube Live](#enabling-youtube-live)
- [Add new output platforms](#add-new-output-platforms)
- [Using an admin GUI](#using-an-admin-gui)

About
-----

[](#about)

The Live Broadcast Bundle will make it possible to plan live video streams to various websites/apps like Twitch, YouTube Live, Facebook Live.

You are able to stream from various inputs. This package supports files, URLs or existing RTMP streams.

For more info you can view the latest recorded presentation below, check the demo project at  or read on;

[![IMAGE ALT TEXT](https://camo.githubusercontent.com/0296f23c3f30650e10288aec90c187973434c1b84bf3b6688e95872017a49670/687474703a2f2f696d672e796f75747562652e636f6d2f76692f6178757458626c4172684d2f302e6a7067)](http://www.youtube.com/watch?v=axutXblArhM "High quality live broadcasting with PHP by @Martin1982 at @PHPamersfoort")

Prerequisites
-------------

[](#prerequisites)

To test these prerequisites the Symfony command `livebroadcaster:test:shell` can be used after the installation described below. If you like to check this manually the Broadcaster needs a few commands on an operating system;

All OS's:

- `ffmpeg 3.x or higher`

On Linux:

- `ps`
- `kill`

On Mac:

- `ps`
- `grep`
- `kill`

On Windows:

- `tasklist`
- `taskkill`

Basic installation
------------------

[](#basic-installation)

This bundle is available on Packagist. You can then install it using Composer:

```
$ composer require martin1982/live-broadcast-bundle
```

Use Doctrine to update your database schema with the broadcasting entities, when upgrading it is recommended to use migrations.

To start the broadcast scheduler you can run the following command:

```
$ php bin/console livebroadcaster:broadcast
```

To run the scheduler as a long-running process it's recommended to use the messenger middleware to keep the database connection alive as described at

### FFMpeg log directory

[](#ffmpeg-log-directory)

To view the output of FFMpeg you need to configure a log directory in your `config/packages/live_broadcast.yaml`.

```
 live_broadcast:
    ffmpeg:
        log_directory: '%kernel.logs_dir%'

```

### Event loop

[](#event-loop)

You can use this configuration to set the event loop timer:

```
live_broadcast:
    eventloop:
        timer: 5

```

### Thumbnailer setup

[](#thumbnailer-setup)

Set up the following config for thumbnails:

```
live_broadcast:
    thumbnail:
        upload_directory: '%kernel.project_dir%/public/uploads/thumbnails'
        web_path: '/uploads/thumbnails'

```

Enabling Facebook Live
----------------------

[](#enabling-facebook-live)

Create a Facebook app on  with the following permissions:

- user\_videos
- user\_events
- user\_managed\_groups
- manage\_pages
- publish\_actions
- Live-Video API

Edit your `config/packages/live_broadcast.yaml` with the following configuration:

```
live_broadcast:
    facebook:
        application_id: YourFacebookAppId
        application_secret: YourFacebookAppSecret

```

Enabling YouTube Live
---------------------

[](#enabling-youtube-live)

Login to  and enable the 'YouTube Data API v3'.

Add the YouTube API info to your config.yml:

```
live_broadcast:
    youtube:
        client_id: YourGoogleOauthClientId
        client_secret: YourGoogleOauthClientSecret

```

Add these lines to your parameters.yml (used for generating a thumbnail URL)

```
parameters:
    router.request_context.host: broadcast.com
    router.request_context.scheme: https

```

Add new output platforms
------------------------

[](#add-new-output-platforms)

Create a new Channel Entity in Entity/Channel that extends the AbstractChannel (e.g. ChannelNew)

Create a new StreamOutput service in Service/StreamOutput that implements the OutputInterface (e.g. OutputNew)

Configure the service with the output tag in config/services.yml

```
live.broadcast.output.new:
    class: Martin1982\LiveBroadcastBundle\Service\StreamOutput\OutputNew
    tags:
        - { name: live.broadcast.output, platform: 'New' }

```

Using an admin GUI
------------------

[](#using-an-admin-gui)

This bundle comes without a web frontend interface, to make use of an admin package you can pick the one to your liking;

- Sonata Admin:
- Easyadmin:

Sponsors
========

[](#sponsors)

- [Jetbrains](https://jb.gg/OpenSource)

###  Health Score

14

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 Bus Factor1

Top contributor holds 73.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/45710585?v=4)[Wamae Arnold](/maintainers/ArnoldNicole)[@ArnoldNicole](https://github.com/ArnoldNicole)

---

Top Contributors

[![Martin1982](https://avatars.githubusercontent.com/u/408395?v=4)](https://github.com/Martin1982 "Martin1982 (65 commits)")[![PouleR](https://avatars.githubusercontent.com/u/6999565?v=4)](https://github.com/PouleR "PouleR (12 commits)")[![paulradt](https://avatars.githubusercontent.com/u/72257640?v=4)](https://github.com/paulradt "paulradt (6 commits)")[![ArnoldNicole](https://avatars.githubusercontent.com/u/45710585?v=4)](https://github.com/ArnoldNicole "ArnoldNicole (3 commits)")[![jeroenvdgulik](https://avatars.githubusercontent.com/u/242090?v=4)](https://github.com/jeroenvdgulik "jeroenvdgulik (2 commits)")

### Embed Badge

![Health badge](/badges/centric-centric-livestreaming/health.svg)

```
[![Health](https://phpackages.com/badges/centric-centric-livestreaming/health.svg)](https://phpackages.com/packages/centric-centric-livestreaming)
```

###  Alternatives

[intrfce/laravel-frontend-enums

Stop using 'magic' strings/numbers in your frontend Javascript and use your actual application enums instead.

2324.7k](/packages/intrfce-laravel-frontend-enums)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
