Stream Site with a auth script for OvenMediaEngine

Overview

OvenMediaEngine Stream Site

Two PHP pages, one for authentication. The other is for displaying the streams.

License

AGPL

Previews

Installation

Required Software:

MySQL (You should install this from your linux distro repository)

OvenMediaEngine

OvenPlayer

normalize.css

awsm.css

jQuery

Installation

OvenMediaEngine

Make a backup of Server.xml & Copy the basic Server.xml to its location.

Default location: /usr/share/ovenmediaengine/conf

NGINX

server  {
        error_log /etc/nginx/logs/localhost_error.log error;
        listen 127.0.0.1:80;
        server_name localhost 127.0.0.1;
        root /var/www/localhost;

        location / { index ome-hook.php; }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi.conf;
        }
}

SQL

Import the SQL file into your database.

Add users.

`username` a display name
`stream_key` rtmp stream key
`private` determines if private_key is required
`private_key` if private=1 this key is required to view the stream

ome-hook and index

Move ome-hook.php to /var/www/localhost (setup in the NGINX section)

Move index.php to any domain that's configured e.g. /var/www/video_example_com

Configuration

Server.xml

Change all instances of:

CHANGEME
video.example.com

Where CHANGEME is a secret key, and video.example.com is your DOMAIN.

ome-hook.php

Adjust ome-hook.php config section to match your database and OME server application name. Make sure to change $omesecret variable to match the Server.xml secret (AccessToken, SecretKey)

$host = "127.0.0.1";
$username = "CHANGEME";
$password = "CHANGEME";
$dbname = "CHANGEME";

$application = "app";
$omesecret = "CHANGEME";

Index.php

Adjust the config section to match your database and OME server application name as well as pointing to the proper JS and CSS files.

$OvenPlayer = "/files/ovenplayer/ovenplayer.js";
$jQuery = "/files/jquery/jquery.min.js";
$normalizeCSS = "/files/css/normalize.css";
$awsmCSS = "/files/css/awsm.css";

$dbhost = "127.0.0.1";
$dbuser = "CHANGEME";
$dbpass = "CHANGEME";
$dbname = "CHANGEME";

$websocket_protocol = ($_SERVER['HTTPS'] ? "wss://" : "ws://");
$websocket_host = "video.example.com";
$websocket_port = ($_SERVER['HTTPS'] ? "3334" : "3333");
$websocket_key = "?key=";
$websocket_app = "app";

$stats_protocol = ($_SERVER['HTTPS'] ? "https://" : "http://");
$stats_host = "video.example.com";
$stats_port = ($_SERVER['HTTPS'] ? "3330" : "3329");
$stats_api_type = "v1";
$stats_vhost_query = "video.example.com";
$stats_app = "app";
$stats_secret = "CHANGEME";

Authorization Test

CHANGEME is "Q0hBTkdFTUU=" when base64_encode

curl --header "Authorization: Basic Q0hBTkdFTUU=" https://video.example.com:3330/v1/stats/current/vhosts/video.example.com/apps/app/streams/USER

Usage

OBS

{vhost} is your servers IP/Domain configured in OME

{app} is the application in OME

{key} is the live stream key from the MySQL Database

OBS Stream Settings

Server: rtmp://**{vhost}**/**{app}**
Stream Key: **{key}**

Notes

Don't check "Use Authenication"

The database should use all lower-case information and keys

You might also like...
Example basic bookmarking site, now in Laravel 4.

Bookymark An example Laravel 4 project. PSR-2 - all models and controllers are autoloaded from app/src. All code passes phpcs for PSR-2. Full PHPUnit

Vote based Question & Answer site built using Laravel 5.4, material design, x-editable and jQuery Upvote with email and database notifications.
Vote based Question & Answer site built using Laravel 5.4, material design, x-editable and jQuery Upvote with email and database notifications.

About Vote based Question & Answer site built using Laravel 5.4, material design, x-editable, jQuery Upvote and email/database notifications. Register

A good, non-specialized Laravel base site for faster app development

Larastrap This is a non-specialized Laravel base site containing generalized components for faster development of nearly any type of site. It includes

Projeto Web Site do Curso Laravel Developer utilizando o Framework PHP Laravel

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

FULL STACK LARAVEL BLOG SITE

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

The objective of this project is to manage The Website Manga, this site permits to Client to show, read and download Manga with the possibility to react, vote, and save his data.
The objective of this project is to manage The Website Manga, this site permits to Client to show, read and download Manga with the possibility to react, vote, and save his data.

The objective of this project is to manage The Website Manga, this site permits to Client to show, read and download Manga with the possibility to react, vote, and save his data.

A dumb sharing site for photos and videos, made by me, using a bit of borrowed code.
A dumb sharing site for photos and videos, made by me, using a bit of borrowed code.

ShitShare A dumb sharing site for photos and videos, made by me, using a bit of borrowed code. Information This was made on Windows, so when video upl

Site da Comunida de Educacao Especial

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Feature plugin to count CSS and JS assets loaded by the theme on front-end and display recommandations in Site Health

=== Site Health - Audit Enqueued Assets === Contributors: audrasjb, whodunitagency Tags: site health, performance audit, performance test, assets, scr

Owner
Katie
Katie
ToDoList With JetStearm. WireUI, LivewireUIModal, SweetAlert2 and Google Socialite Auth.

✔️ DoList DoList - Easy way to manage To Do List. ??️ Demo Demo: DoList.ir ScreenShots: ScreenShots ?? Requirements PHP version: >= 7.4 Composer Node.

Ali Ghasemzadeh 7 Sep 27, 2021
A simple helpdesk tickets system for Laravel 5.1+ which integrates smoothly with Laravel default users and auth system

A simple helpdesk tickets system for Laravel 5.1+ which integrates smoothly with Laravel default users and auth system, demo is available at: http://ticketit.kordy.info/tickets

Ahmed Kordy 857 Dec 30, 2022
phpSysInfo: a customizable PHP script that displays information about your system nicely

phpSysInfo Copyright (c), 1999-2008, Uriah Welcome (sf.net/users/precision) Copyright (c), 1999-2009, Michael Cramer (sf.net/users/bigmichi1) Copyrigh

phpSysInfo 1.3k Jan 1, 2023
Quick-and-dirty script for calculating cryptocurrency capital gains for tax purposes.

Software for calculating cryptocurrency capital gains for tax purposes. Calculation with LIFO method, developed with Italy in mind.

Cristian Livella 10 Oct 6, 2022
ULEARN - Open Source(FREE) LMS script in Laravel 5.8 and ReactJS 16.9

About ULEARN Key Features Demo & Credentials Access ReactJS Page Installation Support License About ULEARN ULEARN is an impressive LMS script which co

null 535 Jan 2, 2023
Quick and dirty PHP script to turn a Twitter feed into an RSS feed using Twitter's v2 API

Twitter to RSS Quick and dirty PHP script that turns a given Twitter feed into a RSS feed using Twitter's API v2 (the free version!) Does some basic l

Jon W 0 Aug 11, 2022
This is a project that was created for the main purpose of practising front end technology(HTML, CSS and Java-Script) with a litle addition of back-end technology.

This is a project that was created for the main purpose of practising front end technology(HTML, CSS and Java-Script) with a litle addition of back-end technology. This is a restaurant website which is to offer services such as ordering goods through sending of emails, viewing of any order, signing-in/up for customer's who want to order food, and much more, with also some live features like dates of the day alongside opening and closing working ours. So let's jump right into it.

null 1 Nov 26, 2021
A little PHP script created for uploading custom sharex files to your own webserver

ShareX-Custom-Upload A little PHP script created for uploading text, files, and images to your own webserver. It supports uploading via ShareX, but al

Joe Gandy 161 Dec 13, 2022
Vote based Question & Answer site built using Laravel 5.4, material design, x-editable and jQuery Upvote with email and database notifications.

About Vote based Question & Answer site built using Laravel 5.4, material design, x-editable, jQuery Upvote and email/database notifications. Register

Jorge A. Gonzalez 116 Nov 2, 2022
Download Porn Adult XXX Videos Online Ready Site No Installation No Database Required

Download Porn Adult XXX Videos Online Ready Site No Installation No Database Required PHP / HTML How to USE Search Videos from any of the Supported Si

null 16 Apr 17, 2022