micilini / video-stream
Video Stream with PHP
1.0.0
2022-11-16 16:00 UTC
This package is auto-updated.
Last update: 2024-11-17 02:15:49 UTC
README
This Library is a Video Stream made with PHP to work with Laravel. It has some features which are:
- Stream Local videos;
- Stream External videos;
How to install this package?
First make sure you have a Laravel project preconfigured on your machine.
Next you need to download this package using the code:
composer require micilini/video-stream
How to use this package?
Using this package is very simple, first you need to call the VideoStream
class and then use its methods passing some additional parameters:
use Micilini\VideoStream\VideoStream;
$videoPath = 'FULL_LOCAL_VIDEO_PATH OR FULL_URL_PATH';
$options = array(
'is_localPath' => true,
'is_https' => false,
'video_size' => null,
'video_buffer' => 512,
'content_type' => 'video/mp4',
'cache_control' => 'max-age=2592000, public',
'expires' => gmdate('D, d M Y H:i:s', time()+2592000).' GMT',
'last_modified' => gmdate('D, d M Y H:i:s', @filemtime($videoPath)).' GMT'
);
$videoStream = new VideoStream();
$videoStream->streamVideo($videoPath, $options);
How to work with $options
As you can see, there are some options you can send to the VideoStream
class, they are:
Pratical Usage of this package
Here is a simple and practical use of this class for streaming video:
/* THIS EXAMPLE CODE EXISTS INSIDE WEB.PHP IN ROUTES FOLDER */
Route::get('/', function(Micilini\VideoStream\VideoStream $videoStream) {
$html = '<video width="320" height="240" controls><source src="http://127.0.0.1:8000/loadVideoLocal" type="video/mp4">Your browser does not support the video tag.</video>';
$html .= '<video width="320" height="240" controls><source src="http://127.0.0.1:8000/loadVideoExternal" type="video/mp4">Your browser does not support the video tag.</video>';
return $html;
});
Route::get('/loadVideoLocal', function(Micilini\VideoStream\VideoStream $videoStream) {
$videoPath = 'C:\Users\MyUSER\Desktop\videoStream\public\assets\mov_bbb.mp4';//This is the full path of my local video.
$options = array(
'is_localPath' => true,
'is_https' => false,
'video_size' => null,
'video_buffer' => 512,
'content_type' => 'video/mp4',
'cache_control' => 'max-age=2592000, public',
'expires' => gmdate('D, d M Y H:i:s', time()+2592000).' GMT',
'last_modified' => gmdate('D, d M Y H:i:s', @filemtime($videoPath)).' GMT'
);
return $videoStream->streamVideo($videoPath, $options);
});
Route::get('/loadVideoExternal', function(Micilini\VideoStream\VideoStream $videoStream) {
$videoPath = 'https://mysite.com/assets/videos/mov_bbb.mp4';//this is the full path of my external video.
$options = array(
'is_localPath' => false,
'is_https' => true,
'video_size' => null,
'video_buffer' => 512,
'content_type' => 'video/mp4',
'cache_control' => 'max-age=2592000, public',
'expires' => gmdate('D, d M Y H:i:s', time()+2592000).' GMT',
'last_modified' => gmdate('D, d M Y H:i:s', @filemtime($videoPath)).' GMT'
);
return $videoStream->streamVideo($videoPath, $options);
});
License
Licensed under the MIT.*