Перетворення Eloquent моделей в HLS відео

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 16 липня, 2025
Відкрийте для себе пакет Laravel HLS, який спрощує генерацію плейлистів та сегментів для HTTP Live Streaming із шифруванням AES-128. Хочете дізнатися, як швидко інтегрувати HLS у свої моделі Eloquent? Читайте далі!

Laravel HLS — це пакет для створення плейлистів і сегментів для HTTP Live Streaming (HLS) з шифруванням AES-128. HLS — адаптивний протокол потокового відео на основі HTTP, розроблений Apple, який підтримується на більшості пристроїв. Він має перевагу в адаптації якості (та обсягу) відео відповідно до швидкостей мережі.

Цей пакет дозволяє легко додати процес конвертації в HLS до моделі Eloquent. Для цього потрібно додати трейт ConvertToHls до вашої моделі, що містить відео. Трейт реагує на події created та updated моделі, відправляючи конвертацію HLS на обробку в чергу:

namespace App\Models;

use AchyutN\LaravelHLS\Traits\ConvertsToHls;
use Illuminate\Database\Eloquent\Model;

class Video extends Model
{
    use ConvertsToHls;
}

// Створюємо об'єкт відео
$video = Video::create([/* ... */]);

При створенні об'єкта пакет конвертує відеофайл у формат HLS за допомогою FFMpeg.

Щоб отримати плейлист HLS для моделі, ви можете скористатися наступним кодом, описаним у документації, для виклику маршруту hls.playlist:

use App\Models\Video;

// Отримуємо HLS плейлист для відео
$video = Video::findOrFail($id);
$playlistUrl = route('hls.playlist', ['model' => 'video', 'id' => $video->id]);

Цей пакет має зручну організацію і є чудовим прикладом для навчання, якщо ви працюєте з PHP та FFMpeg. Ви можете ознайомитися з laravel-hls на GitHub.

Встановіть його у своєму проекті Laravel >= 10.x за допомогою Composer:

composer require achyutn/laravel-hls
php artisan vendor:publish --provider="AchyutN\LaravelHLS\HLSProvider" --tag="hls-config"

Необхідно налаштувати псевдоніми моделі, які використовуватимуть конвертацію HLS. Для деталей використання ознайомтеся з документацією проекту.

Популярні

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту