Kapsamlı sistem incelemesi ve mevcut durum raporu
Ne incelendi? Muzibu'nun müzik altyapısı - şarkılar, albümler, playlistler ve ses dosyası dönüşüm süreçleri.
Özetle: Sistemde 32,907 aktif şarkı var. Bunların %99.9'u HLS formatına dönüştürülmüş durumda. Sadece en son eklenen 8 şarkı henüz işlenmemiş (kuyrukta bekliyor).
Sorun: Silinmiş şarkıların bazıları hâlâ playlistlerde "hayalet" olarak görünüyor (2,919 kayıt). Bu, eski silmelerden kalan artık veriler.
| Variant | Bitrate | Sample Rate | Kanal |
|---|---|---|---|
| ultralow | 32 kbps | 22050 Hz | Mono |
| low | 64 kbps | 22050 Hz | Mono |
| mid | 128 kbps | 44100 Hz | Stereo |
| high | Orijinal | 48000 Hz | Stereo |
HLS başarısız olursa MP3 fallback devreye girer. İki kalite seviyesi mevcut:
Silinmiş şarkıların playlist ilişkileri tam olarak temizlenmemiş. Bu "hayalet" kayıtlar playlist'lerde görünmeye çalışıp hata verebilir.
cleanupPlaylistPivot() metodu sonradan eklendi. Eski silmeler bu metod olmadan yapıldı.
Son eklenen 8 şarkının HLS dönüşümü henüz tamamlanmamış. Queue tarafından işlenmeyi bekliyor.
Modules/Muzibu/ ├── App/ │ ├── Models/ │ │ ├── Song.php # Primary key: song_id │ │ ├── Album.php # Primary key: album_id │ │ ├── Playlist.php # Primary key: playlist_id │ │ ├── Genre.php # Primary key: genre_id │ │ └── Artist.php # Primary key: artist_id │ ├── Jobs/ │ │ └── ConvertToHLSJob.php # HLS + MP3 dönüşüm │ ├── Observers/ │ │ └── SongObserver.php # Cache + pivot temizlik │ └── Services/ │ └── SongService.php # CRUD operasyonları └── database/migrations/tenant/ ├── create_muzibu_songs_table.php ├── create_muzibu_playlist_song_table.php └── add_hls_fields_to_muzibu_songs_table.php app/Services/Muzibu/ └── HLSService.php # FFmpeg + HLS mantığı
storage/tenant1001/app/public/muzibu/
├── songs/
│ ├── {collection_id}/ # Orijinal MP3'ler
│ ├── mp3_64/{song_id}.mp3 # 64k fallback
│ └── mp3_128/{song_id}.mp3 # 128k fallback
└── hls/
└── {song_id}/
├── master.m3u8 # ABR variant listesi
├── playlist.m3u8 # High kalite
├── segment-*.ts # 4sn parçalar
├── enc.bin # AES-128 key
├── enc.keyinfo # Key URI + IV
├── ultralow/playlist.m3u8 # 32k variant
├── low/playlist.m3u8 # 64k variant
└── mid/playlist.m3u8 # 128k variant
| Tablo | Primary Key | Kayıt |
|---|---|---|
muzibu_songs |
song_id |
33,543 (636 soft deleted) |
muzibu_albums |
album_id |
676 (48 soft deleted) |
muzibu_playlists |
playlist_id |
1,080 (360 soft deleted) |
muzibu_playlist_song |
composite | 118,914 |
muzibu_genres |
genre_id |
42 |
muzibu_artists |
artist_id |
47 |
ConvertToHLSJob dispatch edilir (hls queue)hls_path güncellenirSilinmiş şarkıların playlist ilişkilerini kaldır. Bu, 101 playlist'i etkileyecek.
DELETE FROM muzibu_playlist_song WHERE song_id IN (SELECT song_id FROM muzibu_songs WHERE deleted_at IS NOT NULL)
Queue worker'ın çalıştığından emin ol. 8 şarkı HLS dönüşümü bekliyor.
php artisan horizon:status
66 boş playlist var. Bunların silinmesi veya içerik eklenmesi gerekebilir.