@extends('admin.layout')
@section('title', 'Upload Video')
@section('content')
โ๏ธ Upload Video (Self-Hosted)
Server Upload: File MP4 diupload ke server via chunked upload, lalu di-encode ke HLS dan dikirim ke cloud storage. Bandwidth efisien โ tidak ada double transfer. Multiple upload didukung.
{{-- Step 1: Config & File Selection --}}
{{-- Storage & Prefix Config --}}
{{-- Options --}}
๐ผ๏ธ Auto-generate thumbnail setelah encoding
๐ Auto-title dari nama file
๐ง Tambah watermark
{{-- Watermark Settings (collapsible) --}}
{{-- Watermark Type Toggle --}}
๐ผ๏ธ Gambar
โ๏ธ Teks
{{-- Image Watermark Notice --}}
@if($watermarkExists)
โ
Watermark gambar tersedia
@else
@endif
{{-- Text Watermark Fields --}}
{{-- Common fields: Position + Opacity + Motion --}}
Posisi
โ Kiri Atas
โ Kanan Atas
โ Kiri Bawah
โ Kanan Bawah
โ Tengah
Mode Gerak
Diam (Static)
Bounce
{{-- Preview --}}
VIDEO PREVIEW
{{-- Image preview --}}
{{-- Text preview --}}
{{ $watermarkConfig['text'] ?? 'Preview Text' }}
{{-- File Selection --}}
{{-- File Queue Table --}}
๐ Antrian Upload (0 file)
๐๏ธ Hapus Semua
+ Tambah File
{{-- Step 2: Batch Upload Progress --}}
โณ Mengupload batch...
{{-- Overall progress --}}
{{-- Current file progress --}}
{{-- Result log --}}
{{-- Pipeline explanation --}}
๐ Pipeline Encoding
Setelah upload, video akan melalui pipeline berikut:
Chunked Upload โ Browser mengirim file MP4 ke server dalam potongan 5MB (bypass upload limit)
Queue โ Job encoding masuk antrian video-encode
Encode โ FFmpeg mengubah MP4 โ HLS Adaptive Bitrate langsung dari file lokal
Thumbnail โ Auto-generate thumbnail dari frame video (jika diaktifkan)
Upload HLS โ Hanya file .m3u8 + .ts dikirim ke {{ strtoupper(config('video_storage.default_driver', 'S3')) }}
Cleanup โ File MP4 lokal dihapus otomatis setelah selesai
Ready โ Video siap ditonton dengan HLS streaming
Resolusi encoding:
@php $profiles = config('video.encoding.profiles', config('video.profiles', [])); @endphp
@foreach($profiles as $name => $p)
{{ $name }} ({{ $p['bitrate'] ?? '?' }})
@endforeach
Catatan: Video tidak akan di-upscale. Jika source 480p, hanya profil โค480p yang dihasilkan.
@endsection