@extends('admin.layout') @section('title', 'Watermark Settings') @section('content')

💧 Watermark Settings

← Kembali ke Upload
{{-- Watermark Type Tabs --}}
{{-- ═══════════════════════════════════════════ --}} {{-- LEFT: Upload / Text Config --}} {{-- ═══════════════════════════════════════════ --}}
{{-- IMAGE TAB CONTENT --}}

{{ $exists ? '🔄 Ganti Watermark' : '📤 Upload Watermark' }}

@if($exists && $previewUrl)

Watermark saat ini:

Current Watermark
AKTIF {{ basename($config['path'] ?? '') }}
@endif
@csrf
Gunakan PNG/WebP/GIF dengan transparansi untuk hasil terbaik. Maks 2 MB. Resolusi rekomendasi: 200-500px lebar.
@error('watermark')
{{ $message }}
@enderror
{{-- Preview uploaded file --}}
@if($exists)

âš ī¸ Hapus Watermark

Menghapus watermark tidak mempengaruhi video yang sudah di-encode.

@csrf @method('DELETE')
@endif
{{-- TEXT TAB CONTENT --}}

âœī¸ Konfigurasi Text Watermark

@csrf @method('PUT')
Teks yang akan ditampilkan pada video. Maks 200 karakter.
@error('watermark_text')
{{ $message }}
@enderror
{{ $config['font_size'] ?? 24 }}px
Base size (auto-scaled per resolusi: 240p/360p/480p/720p)
{{ $config['font_color'] ?? '#FFFFFF' }}
{{ $config['opacity'] ?? 0.7 }}
{{ $config['text_outline_width'] ?? 2 }}px
{{ $config['text_outline_opacity'] ?? 0.75 }}
{{ $config['text_shadow_opacity'] ?? 0.55 }}
{{ $config['text_shadow_x'] ?? 2 }}
{{ $config['text_shadow_y'] ?? 2 }}
{{-- Live text preview --}}
VIDEO
{{ $config['text'] ?? 'Preview Text' }}
{{-- ═══════════════════════════════════════════ --}} {{-- RIGHT: Info & Position Guide --}} {{-- ═══════════════════════════════════════════ --}}

📐 Posisi Watermark

Pilih posisi watermark saat upload video. Watermark di-overlay selama encoding FFmpeg.

{{-- Visual position guide --}}
↖ top-left
top-right ↗
↙ bottom-left
bottom-right ↘
⊕ center
@if($exists && $previewUrl) Position preview @endif

Default: bottom-right (paling umum)

📎 Setting per-upload: bisa dipilih saat upload di form upload.

📎 Default bisa diubah via ENV: VIDEO_WATERMARK_POSITION

â„šī¸ Info Teknis

  • Mode aktif: {{ ($config['type'] ?? 'image') === 'text' ? 'âœī¸ Text' : 'đŸ–ŧī¸ Gambar' }}
  • Watermark di-overlay saat encoding (FFmpeg filter_complex / drawtext)
  • Setiap resolusi (240p/360p/480p/720p) mendapat watermark ter-scale proporsional
  • Scale: {{ ($config['scale'] ?? 0.15) * 100 }}% dari lebar video
  • Font size: {{ $config['font_size'] ?? 24 }}px (base, auto-scaled per resolusi)
  • Margin: {{ $config['margin'] ?? 20 }}px dari tepi
  • Watermark tidak bisa dihapus dari video setelah encoding
  • Untuk menghapus watermark, re-encode dari source MP4 tanpa opsi watermark
{{-- Current ENV config --}}

ENV Configuration

VIDEO_WATERMARK_ENABLED={{ $config['enabled'] ?? false ? 'true' : 'false' }}
VIDEO_WATERMARK_TYPE={{ $config['type'] ?? 'image' }}
VIDEO_WATERMARK_PATH={{ $config['path'] ?? storage_path('app/watermark/watermark.png') }}
VIDEO_WATERMARK_POSITION={{ $config['position'] ?? 'bottom-right' }}
VIDEO_WATERMARK_OPACITY={{ $config['opacity'] ?? 0.7 }}
VIDEO_WATERMARK_SCALE={{ $config['scale'] ?? 0.15 }}
VIDEO_WATERMARK_MARGIN={{ $config['margin'] ?? 20 }}
VIDEO_WATERMARK_TEXT={{ $config['text'] ?? '' }}
VIDEO_WATERMARK_FONT_SIZE={{ $config['font_size'] ?? 24 }}
VIDEO_WATERMARK_FONT_COLOR={{ $config['font_color'] ?? '#FFFFFF' }}
VIDEO_WATERMARK_TEXT_OUTLINE_ENABLED={{ ($config['text_outline_enabled'] ?? true) ? 'true' : 'false' }}
VIDEO_WATERMARK_TEXT_OUTLINE_WIDTH={{ $config['text_outline_width'] ?? 2 }}
VIDEO_WATERMARK_TEXT_OUTLINE_OPACITY={{ $config['text_outline_opacity'] ?? 0.75 }}
VIDEO_WATERMARK_TEXT_SHADOW_ENABLED={{ ($config['text_shadow_enabled'] ?? true) ? 'true' : 'false' }}
VIDEO_WATERMARK_TEXT_SHADOW_OPACITY={{ $config['text_shadow_opacity'] ?? 0.55 }}
VIDEO_WATERMARK_TEXT_SHADOW_X={{ $config['text_shadow_x'] ?? 2 }}
VIDEO_WATERMARK_TEXT_SHADOW_Y={{ $config['text_shadow_y'] ?? 2 }}
@endsection