micilini/video-stream

使用PHP的视频流

1.0.0 2022-11-16 16:00 UTC

This package is auto-updated.

Last update: 2024-09-17 02:00:32 UTC


README

这个库是一个使用PHP编写的视频流库,用于与Laravel一起工作。它具有一些功能,包括

  • 流本地视频;
  • 流外部视频;

如何安装这个包?

首先确保您已在您的机器上预先配置了Laravel项目。

接下来,您需要使用以下代码下载此包

composer require micilini/video-stream

如何使用这个包?

使用这个包非常简单,首先您需要调用VideoStream类,然后使用其方法并传递一些额外的参数

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);

如何使用$options

如您所见,您可以向VideoStream类发送一些选项,它们是

本包的实际用法

以下是一个简单的实际用法,用于使用此类进行视频流

/* 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);

});

许可证

MIT许可证下发布.*