Karaoke ialah sistem muzik yang memainkan iringan rakaman untuk lagu popular. Penyanyi menyanyikan lagu secara langsung, biasanya dengan mengikut lirik pada skrin video. Perkataan ini juga bermaksud persembahan itu sendiri.
Perkataan Jepun ini menggabungkan kara, yang bermaksud kosong, dengan bentuk pendek bagi perkataan orkestra. Jadi karaoke secara harfiah bermaksud orkestra kosong.
Dalam laporan metadata, Karaoke ialah satu medan dengan makna yang lebih khusus. Nama ini diambil daripada ffprobe, pembaca fail dalam projek FFmpeg.
FFmpeg menyenaraikan setiap bahagian fail sebagai stream berasingan. Setiap stream mendapat satu set bendera yang dipanggil disposition, seperti Karaoke dan Attached Pic. Dokumentasi FFmpeg mentakrifkan bendera ini secara ringkas: stream tersebut mengandungi audio karaoke.
Bagaimana rupa nilai tersebut
Pilihan -show_streams bagi pembaca ffprobe memaparkan bendera untuk setiap stream, walaupun dalam fail tanpa muzik. Dalam output itu, bendera ini mempunyai 2 nilai:
0: bendera dimatikan1: bendera dihidupkan, jadi stream ditanda sebagai audio karaoke
Bentuk tepatnya bergantung pada laporan. Laporan JSON memaparkan "karaoke": 0, dan laporan teks biasa memaparkan DISPOSITION:karaoke=0.
Fail mana yang membawanya
FFmpeg membaca dan menulis bendera ini dalam sesetengah format tetapi tidak dalam yang lain, seperti yang ditunjukkan oleh contoh berikut:
- NUT: satu stream boleh menyimpan perkataan
karaokedalam tag yang dipanggilDisposition - MKV: spesifikasi Matroska mempunyai bendera seperti default, forced, dan commentary, tetapi tiada bendera karaoke
- MP4: senarai peranan trek MP4 dalam FFmpeg tiada entri karaoke
- Audio AC-3 dan E-AC-3: data audio mempunyai jenis perkhidmatan, dan satu nilainya bermaksud karaoke
FFmpeg menukar jenis perkhidmatan karaoke kepada bendera apabila audio mempunyai 2 atau lebih saluran, juga dalam fail MKV atau MP4. Dengan format audio lain, stream dalam fail MKV atau MP4 biasanya melaporkan 0, walaupun lagu tersebut versi karaoke.
Sesetengah lagu karaoke menggunakan jenis fail tersendiri. Library of Congress menyenaraikan sambungan fail kar untuk fail MIDI karaoke.
Tempat perkataan lagu disimpan
Bendera Karaoke tidak menyimpan sebarang perkataan, hanya nombor 0 atau 1. FFmpeg mempunyai bendera Lyrics yang berasingan untuk stream dengan lirik lagu. Teks itu sendiri disimpan di tempat yang berbeza dalam setiap format:
- MP3: rangka ID3v2 USLT menyimpan lirik tanpa pemasaan, dan rangka SYLT menyimpan cap masa bagi setiap suku kata atau unit teks
- MKV: tag
LYRICSmenyimpan lirik apabila pemasaan tidak diketahui, atau sebagai salinan trek sarikata
Dari mana nilai itu datang
FFmpeg menetapkan bendera apabila ia mencipta setiap stream, atau kemudian apabila ia memeriksa stream tersebut. Untuk fail NUT, FFmpeg membaca bendera daripada tag Disposition. Untuk audio AC-3, FFmpeg membaca jenis perkhidmatan daripada data audio.
Dengan pilihan FFmpeg -disposition, anda boleh menetapkan bendera sendiri. Secara lalai, FFmpeg menyalin bendera daripada stream input ke stream output.
Bendera yang hanya dipegang oleh kontena akan sampai ke fail baharu hanya jika format baharu boleh menyimpannya. Penulis FFmpeg untuk MKV tiada kod untuk bendera ini.
Mengapa ia penting
Satu fail boleh mengandungi beberapa stream audio, dan bendera ini boleh menanda salah satunya sebagai audio karaoke. Dalam arahan FFmpeg, pemilih stream disp:karaoke memilih stream yang mempunyai bendera ini.
Bendera ini hanyalah label, jadi ia tidak membuktikan apa yang anda dengar. Nilai 0 tidak membuktikan bahawa lagu tersebut tiada versi karaoke atau tiada lirik.