Video durumu bilgilerinin aktarımı

Video durumu hakkında bilgiler Yandex.Video aramasında oynatma kalitesini artırmak için kullanılır. Örneğin, videonun başlangıç ve bitiş saati, ileri sarma süresi gibi bilgilerin yanı sıra video oynatılırken oluşan hatalar da gereklidir.

  1. Video durumunu bildiren işlemler
  2. Hata bilgileri
  3. Oynatıcının URL'sinde parametrelerin desteklenmesi
  4. Smart TV'lerde oynatıcı yönetimi

Video durumunu bildiren işlemler

Video durumu bilgilerinin aktarımı için postMessage aracını kullanın: Videonun başlatılması gibi, oynatıcıyı ilgilendiren her işlem için JavaScript kodunda birer window.parent.postMessage işlevi etkinleştirin. Bu işlevin parametreleri olarak ilgili işlem adının ve ilerleme çubuğu durumu gibi bazı ek parametrelerin kullanılması önerilir.

Not. postMessage işlevi bir üst nesne olan window.parent için etkinleştirilmelidir. Bunun nedeni, Yandex.Video'da videonun servisin ana sayfasında değil ayrı bir çerçevede (iframe öğesinde) görüntülenmesidir.
 window.parent.postMessage
({    event: <İşlem adı>,
     // işlemin ek parametreleri
}, '*');

TV için Yandex.Video uygulamasında ve mobil video aramasında oynatıcının gösterilmesi için zorunlu işlemler ve bunların parametreleri aktarılmalıdır. Ek işlemlerin aktarılması sayesinde kullanıcılar ile oynatıcı arasındaki etkileşim daha kullanışlı olacaktır.

İşlemAçıklamaİşlem parametreleri
Zorunlu
inited

Oynatıcının başlatılması

started

Videonun başlatılması veya durdurulduktan sonra oynatmaya devam edilmesi

  • time: ilerleme çubuğunun mevcut durumu (sn.).

    time parametresi belirtilmediği durumlarda değeri varsayılan olarak 0 olur.

  • duration: videonun toplam süresi (sn.). Saniyeler yuvarlanmayabilir.
timeupdateVideonun oynatılması (tekrarlanarak)
  • time: ilerleme çubuğunun mevcut durumu (sn.).
  • duration: videonun toplam süresi (sn.). Saniyeler yuvarlanmayabilir.

video öğesinin timeupdate yerli işlemi ile aynıdır.

paused

Videonun durdurulması

  • time: ilerleme çubuğunun mevcut durumu (sn.).
ended

Videonun sona ermesi (sonuna kadar oynatılması)

  • time: ilerleme çubuğunun mevcut durumu (sn.).
error

Video oynatma hatası

  • time: ilerleme çubuğunun mevcut durumu (sn.).

  • code: hata kodu.

Ek
resumed

Oynatmanın yeniden başlatılması

  • time: ilerleme çubuğunun mevcut durumu (sn.).
  • duration: videonun toplam süresi (sn.). Saniyeler yuvarlanmayabilir.
Not. resumed işlemi zorunlu started işlemi ile değiştirilebilir.
rewound

Videonun sarılması

  • time: ilerleme çubuğunun mevcut durumu (sn.).
  • previousTime: ilerleme çubuğunun önceki durumu (sn.).
volumeChangeSesin açılması, kapatılması veya seviyesinin değiştirilmesi
  • volumesesin mevcut değeri (0...1).
  • muted — işaret kutusunun mevcut durumu muted (true, false).

video öğesinin volumechange yerli işlemi ile aynıdır.

adShown

Reklam gösteriminin başlatılması

  • time: ilerleme çubuğunun mevcut durumu (sn.).
  • duration — saniye olarak reklamın toplam süresi. Saniyeler yuvarlanmayabilir.

Bir video başlatıldığında bilgilerin nasıl aktarıldığı aşağıda örneklenmiştir. Kullanıcı oynatıcının Play butonuna tıkladığında oynatıcı window.parent.postMessage işlevini etkinleştirir.

// Video başlatıldığında ileti gönderimi
window.parent.postMessage({
  event: 'started',
  duration: 30,
  time: 5 // Videonun 5. saniyeden sonra yeniden oynatılması halinde
}, '*');

Hata bilgileri

Videolarla çalışmalar sırasında ortaya çıkan hatalara dair bilgi alabilmemiz için oynatıcı window.parent.postMessage işlevine aşağıda sıralanan hata kodları iletebilmelidir:

Hata koduAçıklama
Videoya erişilemiyor
101Video kaldırıldı
102Video veya kullanıcı hesabı engellendi
103Video mevcut değil veya URL desteklenmiyor
100Videoya erişilemeyen diğer durumlar
Videoya erişim sınırlı
151Videoyu izlemek için yetkiniz yok
152Videonun başka sitelerde oynatılması yasak
153Videonun bu bölgede oynatılması yasak
154Yaş kısıtlaması gibi kullanıcının onayını gerektiren erişim kısıtlaması
150Videonun izlenmesini engelleyen diğer kısıtlamalar
Diğer
5Oynatıcı hatası (ör., HTML oynatıcısının çalışmasında ortaya çıkan hatalar)
0Diğer hatalar
// Hata bildiriminin gönderilmesi
window.parent.postMessage({
  event: 'error',
  time: 62,
  code: '101'
}, '*');

Oynatıcının URL'sinde parametrelerin desteklenmesi

Smart TV ve mobil cihazlarda kullanıcıların videoyu daha iyi oynatabilmesi için oynatıcının URL'sinde aşağıdaki parametreler desteklenmelidir:

ParametreAçıklamaGeçerli değerler
Zorunlu
autoplay

Videonun otomatik oynatılması

  • 1: videoyu otomatik oynat
  • 0 (veya parametre yoksa): videoyu otomatik oynatma
<iframe 
  src="//www.videohosting.com/video?autoplay=1">
</iframe>
tvSmart TV'lerde etkileşimli oynatıcı öğelerinin yönetimi
  • 1: video oynatılırken etkileşimli öğeleri otomatik olarak gizle
  • 0 (veya parametre yoksa): video oynatılırken etkileşimli öğeleri otomatik olarak gizleme
<iframe
  src="//www.videohosting.com/video?tv=1">
</iframe>

Parametre, sadece fare imleciyle tıklanabilen tüm öğelerin görüntülenmesini yönetir. Bu öğeler arasında ilerleme çubuğu, açılan sezon ve bölüm seçenekleri, oynatma kalitesi butonları, video oynatma menüsü gibi öğeler bulunur.

Bu öğeler otomatik gizlenerek video daha rahat izlenebilir.

Ek
maxQualityOynatma kalitesi seçenekleri
small

Oynatıcı boyu: 240 piksel

4:3 formatı için minimum oynatıcı boyutları: 320 х 240 piksel

medium

Oynatıcı boyu: 360 piksel

Minimum oynatıcı boyutları:

  • 16:9 formatı için 640 х 360 piksel
  • 4:3 formatı için 480 х 360 piksel
large

Oynatıcı boyu: 480 piksel

Minimum oynatıcı boyutları:

  • 16:9 formatı için 853 х 480 piksel
  • 4:3 formatı için 640 х 480 piksel
hd720

Oynatıcı boyu: 720 piksel

Minimum oynatıcı boyutları:

  • 16:9 formatı için 1280 х 720 piksel
  • 4:3 formatı için 960 х 720 piksel
hd1080

Oynatıcı boyu: 1080 piksel

Minimum oynatıcı boyutları:

  • 16:9 formatı için 1920 х 1080 piksel
  • 4:3 formatı için 1440 х 1080 piksel
highres

Oynatıcı boyu: 1080+ piksel

En boy oranı 1920 x 1080 pikselden fazla

default

Bu parametre kullanıcı ayarlarına, video dosyasına ve diğer şartlara bağlı olarak tercih edilen oynatma kalitesini seçer.

<iframe
  src="//www.videohosting.com/video?maxQuality=hd720">
</iframe>

Smart TV'lerde oynatıcı yönetimi

Oynatıcı yönetim komutları iframe'e dış pencereden postMessage aracılığıyla iletilir. iframe içindeki iletileri almak için mesaja abone olun. Komut formatı zorunlu method satırını içeren JSON objesidir.

KomutAçıklama
play

Videonun başlatılması veya devam ettirilmesi

{
    method: 'play'
}
pause

Videonun durdurulması

{
    method: 'pause'
}
seek

Videonun mutlak zaman olarak sarılması

{
    method: 'seek',
    time: 10, // saniye olarak zaman
}
setVolume

Sesin ayarlanması

{
    method: 'setVolume',
    volume: 0.5 // ses seviyesi 0..1
}
mute

Sesin kapatılması

{
    method: 'mute'
}
unmute

Sesin açılması

{
    method: 'unmute'
}
setQuality

Oynatma kalitesi ayarları

{
    method: 'setQuality',
    quality: 'hd720' // small, medium, large, hd720, hd1080, highres или default
}

Komuta göre video oynatma örneği

window.addEventListener('message', function (event) {
     if (event.data.method === 'play') {
         document.getElementById('video').play();
     }
});

Cevap formatı

Komutların uygulanıp uygulanmadığını bildirmek için video durumu işlemlerini kullanın.