vhar/laravel-videos 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

vhar/laravel-videos

Composer 安装命令:

composer require vhar/laravel-videos

包简介

Attach videos from popular hosting platforms to Eloquent models

README 文档

README

# Laravel Videos

Attach videos from popular hosting platforms to Eloquent models.

Laravel Videos provides a simple and consistent API for associating external videos with your Eloquent models. It automatically detects the video provider, extracts metadata, and stores everything in a single `videos` table.

## Features

- Supports Laravel 11 and 12
- Automatic package discovery
- Polymorphic Eloquent relationship
- Video collections
- Automatic provider detection
- Stores video metadata
- Extensible provider architecture

### Built-in providers

- YouTube
- Vimeo
- VK Video
- Rutube
- Dailymotion

## Installation

Install the package via Composer:

```bash
composer require vhar/laravel-videos
```

Run the migrations:

```bash
php artisan migrate
```

## Usage

### Add the trait

```php
use Vhar\LaravelVideos\Traits\HasVideos;

class Post extends Model
{
    use HasVideos;
}
```

### Add a video

```php
$post->videos()->createFromUrl(
    'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
);
```

Or specify a collection:

```php
$post->videos()->createFromUrl(
    'https://vimeo.com/76979871',
    'intro'
);
```

### Retrieve videos

Get all videos:

```php
$post->videos()->get();
```

Get videos from a collection:

```php
$post->videos('intro')->get();
```

Get the first video:

```php
$post->video();
```

Get the first video from a collection:

```php
$post->video('intro');
```

## Video model

Each video stores the following information:

| Field | Description |
|--------|-------------|
| provider | Video provider name |
| url | Original video URL |
| video_id | External video identifier |
| embed_url | Video embed URL |
| title | Video title |
| thumbnail | Thumbnail URL |
| duration | Duration in seconds |
| collection | Optional collection name |

## Supported URLs

### YouTube

```
https://www.youtube.com/watch?v=...
https://youtu.be/...
https://www.youtube.com/shorts/...
```

### Vimeo

```
https://vimeo.com/...
https://player.vimeo.com/video/...
```

### VK Video

```
https://vkvideo.ru/video...
https://vk.com/video...
```

### Rutube

```
https://rutube.ru/video/...
https://rutube.ru/play/embed/...
```

### Dailymotion

```
https://www.dailymotion.com/video/...
https://dai.ly/...
```

## Custom providers

Create a class implementing the `VideoProvider` contract:

```php
use Vhar\LaravelVideos\Contracts\VideoProvider;

class CustomProvider implements VideoProvider
{
    // ...
}
```

Register it in the configuration file:

```php
'providers' => [

    \App\Videos\CustomProvider::class,

],
```

## License

The MIT License (MIT).

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固