Admin panelden sisteme yeni şarkı yükleyin ve yayınlayın
Tek bir form ile ses dosyası yükleme, otomatik HLS dönüşümü, meta bilgi çıkarma ve kapak resmi oluşturma işlemlerini sizin için otomatikleştirdik. Yüklediğiniz anda şarkı dinlenmeye hazır hale geliyor.
Admin panelden şarkı eklemek için izlemeniz gereken adımlar.
Admin panel sol menüden Müzik → Şarkılar → Yeni Ekle yolunu takip edin.
MP3 veya WAV formatında ses dosyanızı sürükleyip bırakın. Maksimum dosya boyutu 50MB.
Şarkı adı, sanatçı, albüm, tür ve diğer meta bilgileri girin. Bazı alanlar dosyadan otomatik okunur.
Şarkı için bir kapak resmi yükleyin veya albümden otomatik alınsın. Önerilen boyut: 500x500 piksel.
Kaydet butonuna tıklayın. Sistem otomatik olarak HLS formatına dönüştürür ve şarkı dinlenmeye hazır hale gelir.
Şarkı yükleme ve işleme pipeline'ının teknik altyapısı
"Kaydet" butonuna bastığınızda, sistem arka planda profesyonel bir ses işleme hattı çalıştırır. Dosya yüklemeden HLS streaming'e kadar tüm süreç otomatik ve optimize edilmiştir.
Livewire\WithFileUploads trait'i kullanılır. 50MB'lık dosyalar 5MB'lık parçalara bölünerek yüklenir. storage/app/livewire-tmp/ dizinine geçici kaydedilir, sonra kalıcı konuma taşınır.
james-heinrich/getid3 kütüphanesi MP3/FLAC dosyalarından ID3v2 tag'lerini okur. Şarkı adı, sanatçı, albüm, süre ve gömülü kapak resmi otomatik çıkarılır ve form alanlarına doldurulur.
Queue job olarak ConvertToHlsJob tetiklenir. FFmpeg ile ses dosyası 10 saniyelik .ts segmentlerine bölünür. playlist.m3u8 manifest dosyası oluşturulur. Adaptive bitrate için 128k, 256k, 320k kalite seviyeleri üretilir.
Her şarkı için benzersiz encryption.key üretilir. HLS segmentleri AES-128-CBC ile şifrelenir. Key dosyası signed URL ile korunur, sadece yetkili kullanıcılar erişebilir. #EXT-X-KEY direktifi m3u8'e eklenir.
Song::create() ile veritabanına kayıt oluşturulur. belongsToMany ile artist, album, genre ilişkileri pivot tablolara yazılır. Spatie Media Library ile kapak resmi eklenir ve thumbnail'ler üretilir.
SongCreated event'i ile ilgili cache'ler temizlenir. Laravel Scout ile Meilisearch/Algolia index'ine eklenir. Searchable trait arama için optimize edilmiş veri yapısı sağlar.
Model: Modules/Song/App/Models/Song.php | HLS Job: App\Jobs\ConvertToHlsJob | Storage: storage/app/public/songs/{id}/ | Queue: horizon/redis
Şarkı listeye eklenir, kullanıcılar hemen dinleyebilir. Bildirim: "Şarkı başarıyla eklendi"
Desteklenmeyen format veya boyut aşımı durumunda hata mesajı gösterilir ve işlem iptal edilir.
Sistem şu ses formatlarını kabul eder ve otomatik dönüştürür.
Her şarkı için maksimum 50 MB dosya boyutu kabul edilir. Daha büyük dosyalar için önce sıkıştırma yapmanız önerilir.
(HTTP Live Streaming)
Şarkıyı küçük parçalara bölerek internetten akan su gibi dinletme teknolojisi.
YouTube gibi: İndirmeden anında çalmaya başlar
(Ses Dosyası Meta Bilgisi)
MP3 dosyasının içine gömülü şarkı adı, sanatçı, albüm gibi bilgiler.
Dosyayı açtığınızda otomatik okunur