Bu dünyada iki tür insan vardır: TV programlarını altyazılı izleyenler ve tuhaf olanlar.
Şaka bir yana, video için altyazıların önemi küçümsenemez. Altyazılar, sağır ve işitme güçlüğü çeken kişiler için hayati önem taşımasının yanı sıra, sesin mevcut olmadığı veya açıkça duyulamadığı durumlarda da önemlidir. Belki halka açık bir yerde bir video izliyorsunuz ve ses ortam gürültüsü nedeniyle bastırılıyor. Ya da videoda konuşan kişi, en iyi kalitede olmayan bir mikrofon kullanıyor veya izleyicinin alışık olmadığı bir aksan veya lehçeyle konuşuyor olabilir. Altyazılar her zaman iyi bir şeydir. Maalesef canlı yayında sese altyazı eklemek zordur.
Canlı yayınlara altyazı ekleme sorununa girmeden önce biraz anlambilimden bahsedelim. Altyazı ve altyazı terimleri arasında bir fark olduğunu biliyor muydunuz?
Diyalogun transkripsiyonu veya çevirisi, sesin mevcut olduğu ancak anlaşılmadığı durumlar için uygundur (örneğin, kullanıcı medya kaynağının ses parçasının dilini anlamadığı için). Videonun üzerine yerleştirilmiş.
Spesifikasyon, altyazıları şu şekilde tanımlar:
Diyalogun, ses efektlerinin, ilgili müzik ipuçlarının ve diğer ilgili ses bilgilerinin, sesin mevcut olmadığı veya açıkça duyulamadığı durumlar için uygun olan transkripsiyon veya tercümesi (örneğin, sessiz olması, ortam gürültüsü nedeniyle bastırılması veya kullanıcının sağır olması nedeniyle) ). Videonun üzerine yerleştirilmiş; işitme güçlüğü çekenler için uygun olarak etiketlenmiştir.
Bu, canlı videolar için "kapalı altyazılardan" bahsettiğimizde, altyazılar genellikle açıklayıcı bilgiler içerdiğinden genellikle altyazılardan bahsettiğimiz anlamına gelir. Bir TV dizisindeki bir aktörün evden çıkmak üzere arabaya binip eşiyle vedalaştığı bir sahneyi düşünün. Bu sahnenin başlığında "Güle güle canım. [arabanın motoru çalışıyor]" yazabilir.
Yapay zeka sistemlerinin bizim için bunun gibi bağlamsal bilgileri tanımlamasına yakın değiliz, bu nedenle canlı yayınımıza saf "konuşmayı metne" altyazı altyazıları eklemekle sınırlıyız; bunu aşağıdaki yöntemi kullanarak yapabiliriz.
Not: Burada aslında bahsettiğimiz şey yukarıdaki tanımlara dayalı altyazılar olmasına rağmen, bu blog yazısının başlığında ve metninde 'altyazı' veya 'altyazı' terimlerinin kullanıldığını fark edeceksiniz. Ne yazık ki, "açıklamalı altyazı" terimi çok yaygın olarak yanlış kullanıldığından, geliştiricilerin bu blog gönderisini bulmasına ve bu özelliği canlı yayınlarına nasıl ekleyeceklerini öğrenmesine yardımcı olmak için bu terimi uygunsuz bir şekilde kullanmak en mantıklısı olacaktır. Burada asıl bahsettiğimiz şeyin altyazılar olduğunu bilmelisiniz!
Bu yazıda incelediğimiz çözüm, Amazon Interactive Video Service (Amazon IVS) canlı yayınına yayın yapmaya odaklanıyor.
Bu demo için ratwithacompiler'ın OBS-captions-plugin
kullanmayı seçtim (
Daha sonra, ayarları değiştirmek için Altyazılar menüsündeki 'dişli' simgesini seçin.
Altyazı Kaynağının seçildiğinden emin olun ve eklenti yapılandırmasını ihtiyaçlarınıza uyacak şekilde değiştirin. Örneğin, benim için varsayılan Altyazı Zaman Aşımı 15.0
saniyeye ayarlandı, ancak 5.0
saniyenin daha iyi bir değer olduğunu buldum.
Yapılandırmanızı kaydedip yeni bir canlı yayın başlattıktan sonra eklenti, konuşmanızı metne dönüştürme işlemini gerçekleştirir ve canlı yayın için gerekli altyazı bilgilerini üretir.
Altyazı verilerini Amazon IVS oynatıcısıyla oynatmak için TextCue
olayını dinleyecek bir olay dinleyicisi ekleyebiliriz (
ivsPlayer.addEventListener(IVSPlayer.PlayerEventType.TEXT_CUE, (evt) => { console.log(evt); }
Yukarıda yapılandırılan işleyici, gelen tüm TextCue
olaylarını konsola kaydeder.
TextCue
olayının text
özelliği, resim yazısı verilerini içerir.
Bazı HTML ve CSS'lerle, altyazı verilerini <video>
öğesi üzerinde bir katman olarak oluşturabiliriz. Bu uygulama büyük ölçüde ihtiyaçlarınıza bağlıdır, ancak altyazı verisi olmadan belirli bir süre geçtikten sonra kaplamanın otomatik olarak gizlenmesini dikkate almalısınız.
Bu yazıda, konuşmayı metne dönüştürmek ve bu metni Amazon IVS canlı akışında altyazı verileri olarak yayınlamak için bir OBS eklentisinin nasıl kullanılacağına baktık.