Karaoke, popüler bir şarkının kaydedilmiş eşliğini çalan bir müzik sistemidir. Bir performansçı şarkıyı canlı söyler, genellikle sözleri bir video ekranından takip ederek. Kelime aynı zamanda bu performansın kendisi için de kullanılır.
Japonca kelime, boş anlamına gelen kara ile orkestrayı ifade eden kelimenin kısaltmasını birleştirir. Bu nedenle karaoke kelimesi kelimenin tam anlamıyla boş orkestra demektir.
Bir metadata raporunda Karaoke, daha dar bir anlama sahip bir alandır. Adı, FFmpeg projesinin dosya okuyucusu olan ffprobe'dan gelir.
FFmpeg, bir dosyanın her bir bölümünü ayrı bir stream olarak listeler. Her stream, Karaoke ve Attached Pic gibi yapılan (disposition) adı verilen bir dizi bayrak alır. FFmpeg belgeleri bu bayrağı kısaca şöyle tanımlar: stream karaoke sesi içerir.
Değerlerin görünümü
ffprobe okuyucusunun -show_streams seçeneği, müzik olmayan dosyalarda bile her stream için bayrağı yazar. Bu çıktıda bayrağın 2 değeri vardır:
0: bayrak kapalı1: bayrak açık, yani stream karaoke sesi olarak işaretlenmiş
Tam biçim rapora bağlıdır. Bir JSON raporu "karaoke": 0 gösterir, düz metin bir raporsa DISPOSITION:karaoke=0 gösterir.
Bunu hangi dosyalar içeriyor
FFmpeg bu bayrağı bazı formatlarda okur ve yazar, diğerlerinde ise yazmaz; aşağıdaki örnekler bunu gösterir:
- NUT: bir stream,
Dispositionadlı etikettekaraokekelimesini saklayabilir - MKV: Matroska spesifikasyonunda varsayılan (default), zorunlu (forced) ve yorum (commentary) gibi bayraklar vardır, ancak karaoke bayrağı yoktur
- MP4: FFmpeg'in MP4 parça rolleri listesinde karaoke girişi yoktur
- AC-3 ve E-AC-3 ses: ses verisinin bir servis türü vardır ve bir değer karaoke anlamına gelir
FFmpeg, ses 2 veya daha fazla kanala sahipse karaoke servis türünü, MKV veya MP4 dosyalarında da bayrağa dönüştürür. Diğer ses formatlarında ise bir MKV veya MP4 dosyasındaki stream genellikle, şarkı karaoke versiyonu olsa bile, 0 bildirir.
Bazı karaoke şarkıları kendi dosya türlerini kullanır. Kongre Kütüphanesi, karaoke MIDI dosyaları için kar dosya uzantısını listeler.
Şarkının sözlerinin nerede saklandığı
Karaoke bayrağı sözcük değil, yalnızca 0 veya 1 sayısını tutar. FFmpeg, şarkı sözleri içeren bir stream için ayrı bir Lyrics bayrağına sahiptir. Metnin kendisi, her formatta farklı bir yerde durur:
- MP3: ID3v2 çerçevesi USLT, zamanlama olmadan şarkı sözlerini tutar ve SYLT çerçevesi her hece veya metin birimiyle birlikte bir zaman damgası saklar
- MKV:
LYRICSetiketi, zamanlama bilinmediğinde ya da bir altyazı parçasının kopyası olarak sözleri tutar
Değerin kaynağı
FFmpeg, bayrakları her stream'i oluştururken ya da daha sonra stream'i incelerken ayarlar. Bir NUT dosyası için FFmpeg bayrakları Disposition etiketinden okur. AC-3 ses için FFmpeg servis türünü ses verisinden okur.
FFmpeg'in -disposition seçeneği ile bayrağı kendiniz ayarlayabilirsiniz. Varsayılan olarak FFmpeg, bayrakları giriş stream'inden çıkış stream'ine kopyalar.
Yalnızca kapsayıcının tuttuğu bir bayrak, yeni formata yazılabiliyorsa yeni dosyaya geçer. MKV için FFmpeg yazıcısında bu bayrak için bir kod yoktur.
Neden önemli olduğu
Bir dosya birden fazla ses stream'i içerebilir ve bu bayrak, bunlardan birini karaoke sesi olarak işaretleyebilir. FFmpeg komutlarında disp:karaoke stream seçicisi, bu bayrağa sahip stream'leri seçer.
Bayrak yalnızca bir etikettir; bu nedenle duyduğunuzu kanıtlamaz. 0 değeri, şarkının bir karaoke versiyonu olmadığını veya söz içermediğini kanıtlamaz.