Skip to content

mTube : Simple Video Sharing Platform

Notifications You must be signed in to change notification settings

PHPJunior/mtube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a086b0f · Mar 21, 2023

History

60 Commits
Aug 19, 2022
Sep 16, 2021
Jul 21, 2021
Jul 21, 2021
Aug 19, 2021
Aug 6, 2021
Jul 21, 2021
Sep 16, 2021
Aug 6, 2021
Aug 6, 2021
Jul 21, 2021
Jul 21, 2021
Aug 6, 2021
Jul 21, 2021
Aug 6, 2021
Jul 21, 2021
Jul 21, 2021
Jul 21, 2021
Mar 20, 2023
Jul 21, 2021
Aug 13, 2021
Mar 21, 2023
Jul 26, 2021
Aug 6, 2021
Sep 16, 2021
Jul 21, 2021
Mar 20, 2023
Aug 17, 2021
Jul 21, 2021
Jul 21, 2021
Jul 21, 2021

Repository files navigation

About mTube

mTube is a simple video sharing platform built with Laravel. Create personal channel share videos online with friends and family.

Packages

Requirements

  • FFMpeg
  • PHP 7.3/8

Installations

composer install
npm install

Edit .env file and config/site.php

Assuming your app is served from http://mtube.test virtual host, then:

APP_URL=mtube.test

PUSHER_APP_ID=any
PUSHER_APP_KEY=any
PUSHER_APP_SECRET=any
PUSHER_APP_CLUSTER=any

BROADCAST_DRIVER=pusher

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT=
LARAVEL_WEBSOCKETS_SSL_LOCAL_PK=
LARAVEL_WEBSOCKETS_SSL_PASSPHRASE=

FFMPEG_BINARIES=
FFPROBE_BINARIES=

RTMP_HOST=http://mtube.test:3000
UPPY_COMPANION_URL=http://mtube.test:3020/companion
RTMP_SERVER_URL=rtmp://mtube.test/live

You also have to set the host value in uppy/server.js

server: {
        host: 'mtube.test:3020',
        protocol: 'https',
        path: '/companion',
    },
[
    'converted_file_driver' => 'public',
    'hls_segment_size' => 10,
    'frame_from_seconds' => 3
]

Start Laravel Websockets Server, RTMP Server, Uppy Companion Server

php artisan key:generate
php artisan storage:link

php artisan websockets:serve
php artisan queue:work

npm run rtmp-server
npm run companion-server

Or you can use Porter to start all servers at once. Before you start Porter, make sure you have installed Porter. ( Porter )

porter start	 

Create Admin User

php artisan create:admin

Todo

  • Tus Server/Client
  • Channel Management
  • Channel Branding
  • Un/Subscribe Channel
  • Realtime Un/Subscribe View
  • Video Management
  • Transcode Video
  • Dis/Like Video
  • Video View Count
  • Video Comments
  • Video Thumbnails
  • Video Settings
  • Video Playlists
  • Video Player - Google IMA Pre Roll Plugin
  • Realtime Notifications ( Dis/Like, Un/Subscribe Channel, Comments )
  • Admin Panel
  • Companion - Uppy Standalone Server

Credits

  • All Contributors

License

The MIT License MIT license. Please see License File for more information.

Screenshots

screenshot 1 screenshot 2 screenshot 3 screenshot 4 screenshot 5 screenshot 6 screenshot 7 screenshot 8