PHP Classes

mtube: Application to share videos between users

Recommend this page to a friend!
  Info   View files View files (358)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog (1)    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 80 All time: 9,974 This week: 161Up
Version License PHP version Categories
mtube 1.0The PHP License7Content management, Video, PHP 7
Description 

Author

This package implements an application to share videos between users.

It provides classes and scripts using an MVC based on Laravel to implement several actions to manage different aspects of a social network site for sharing videos. Currently, it can:

- Display the shared videos
- Manage registered users that access the application site
- Manage channels of users on which the videos are shared
- Display an information dashboard
- Etc...

Innovation Award
PHP Programming Innovation award winner
August 2021
Winner
Video is a modern way to share interesting content of many types, like for instance teaching or entertainment.

This package allows to easily create independent sites to let users share videos, so it can work like a social network for video.

Manuel Lemos
Picture of Nyi Nyi Lwin
  Performance   Level  
Innovation award
Innovation award
Nominee: 6x

Winner: 3x

 

Details

<p align="center"> <img src="https://raw.githubusercontent.com/PHPJunior/mtube/master/public/images/logo.png" width="400"> </p>

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

Edit .env file and config/site.php

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=

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=

[
    'converted_file_driver' => 'public',
    'hls_segment_size' => 10,
    'frame_from_seconds' => 3
]

Start Laravel Websockets Server

php artisan websockets:serve
php artisan queue:work

Create Admin User

php artisan create:admin

Todo

  • [x] ~~Tus Server/Client~~
  • [x] ~~Channel Management~~
  • [x] ~~Channel Branding~~
  • [x] ~~Un/Subscribe Channel~~
  • [x] ~~Realtime Un/Subscribe View~~
  • [x] ~~Video Management~~
  • [x] ~~Transcode Video~~
  • [x] ~~Dis/Like Video~~
  • [x] ~~Video View Count~~
  • [x] ~~Video Comments~~
  • [x] ~~Video Thumbnails~~
  • [x] ~~Video Settings~~
  • [ ] Video Playlists
  • [ ] Video Player - Google IMA Pre Roll Plugin
  • [x] ~~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

  Files folder image Files  
File Role Description
Files folder image.github (1 file)
Files folder imageapp (10 directories)
Files folder imageart (8 files)
Files folder imagebootstrap (1 file)
Files folder imageconfig (23 files)
Files folder imagedatabase (3 directories)
Files folder imagepublic (6 files, 4 directories)
Files folder imageresources (4 directories)
Files folder imageroutes (4 files, 2 directories)
Files folder imagetests (2 files, 2 directories)
Accessible without login Plain text file .editorconfig Data Auxiliary data
Accessible without login Plain text file .env.example Data Auxiliary data
Accessible without login Plain text file .styleci.yml Data Auxiliary data
Plain text file artisan Class Class source
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file helpers.php Aux. Auxiliary script
Accessible without login Plain text file package-lock.json Data Auxiliary data
Accessible without login Plain text file package.json Data Auxiliary data
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file server.php Aux. Auxiliary script
Accessible without login Plain text file tailwind.config.js Data Auxiliary data
Accessible without login Plain text file webpack.mix.js Data Auxiliary data

 Version Control Unique User Downloads Download Rankings  
 100%
Total:80
This week:0
All time:9,974
This week:161Up