watchntalk

Bir videoyu herkes için aynı saniyede tutmak: senkron nasıl çalışır?

Alperen Sağlam · 5 Ekim 2026 · 3 dakikalık okuma

İki kişinin aynı videoyu aynı anda başlatması kolaydır. Zor olan, bir saat boyunca, farklı cihazlarda ve farklı internet bağlantılarında aynı saniyede kalmaktır. Watchntalk'un bunu nasıl yaptığını teknik ayrıntıları sadeleştirerek anlatalım.

Neden zor?

Bir komutun bir cihazdan diğerine ulaşması zaman alır; bu süre bağlantıdan bağlantıya, hatta saniyeden saniyeye değişir. Videolar her cihazda farklı hızda yüklenir; biri tampona takılırken diğeri akıp gider. Cihazların saatleri de birebir aynı değildir: iki telefonun saati arasında birkaç yüz milisaniyelik fark olması olağandır. Üstüne bir de herkesin videoyu kendi oynatıcısında, kendi koşullarında izlediğini eklediğinizde, "aynı saniye" kendiliğinden oluşan bir şey olmaktan çıkar ve sürekli korunması gereken bir şeye dönüşür.

Önce ortak bir saat

Her şey ortak bir saatle başlar. Odaya bağlanan her cihaz sunucunun saatini birkaç kez sorar ve her sorunun ne kadar sürede yanıtlandığını ölçer. Yanıt ne kadar hızlı geldiyse o ölçüm o kadar güvenilirdir, çünkü yolda bekleme payı daha azdır. Cihaz son ölçümler arasından en hızlısını seçer ve kendi saatiyle sunucu saati arasındaki farkı oradan hesaplar. Bu fark zamanla yeniden ölçülür; bilgisayarın saati kendiliğinden düzeltilirse senkron da onu takip eder.

Oda bir konum değil, bir zaman çizelgesi tutar

Basit bir yaklaşım, oynatan kişinin konumunu sürekli herkese göndermek olurdu: "şu an 12:04'teyim". Ama bu konum yola çıktığı anda eskimiş olur ve takılan bir kişinin konumu herkesi geri çekebilir.

Watchntalk bunun yerine odada küçük bir zaman çizelgesi tutar: videonun hangi saniyede olduğu, bu bilginin ortak saatle ne zaman kaydedildiği, oynayıp oynamadığı ve oynatma hızı. Bu dört bilgiyle her cihaz "şu anda video nerede olmalı" sorusunun yanıtını kendisi hesaplayabilir. Biri oynat, duraklat ya da sar dediğinde zaman çizelgesi bir kez güncellenir ve herkes yeni çizelgeyi izlemeye başlar. Sürekli konum göndermeye gerek kalmaz.

Küçük kaymaları sezdirmeden kapatmak

Her cihaz birkaç yüz milisaniyede bir kendi videosunun nerede olduğuna bakar ve olması gereken yerle karşılaştırır. Fark çok küçükse hiçbir şey yapmaz; birkaç milisaniyelik farkı kimse fark etmez ve sürekli düzeltmek görüntüyü titretir.

Fark belirgin ama küçükse video atlatılmaz. Bunun yerine oynatma hızı fark edilmeyecek kadar değiştirilir: geride kalan cihaz videoyu yüzde birkaç daha hızlı, önde olan biraz daha yavaş oynatır. Bu kadar küçük bir hız farkını göz de kulak da algılamaz, ama birkaç saniye içinde aradaki fark kapanır. Fark kapandığında hız normale döner.

Büyük farkta tek bir sarma

Fark büyükse, örneğin biri ileri sardıysa ya da video uzun süre takıldıysa, hızla kapatmak çok uzun sürer. O zaman video doğrudan olması gereken yere sarılır. Burada ince bir nokta var: sarma işlemi de zaman alır. Video yeni konumda yüklenirken saat ilerlemeye devam eder ve sarma bittiğinde video yine geride kalır. Bu yüzden her cihaz sarmanın ne kadar sürdüğünü ölçer ve bir sonraki sarmada hedefi o kadar ileri koyar. Sonuç, çoğu durumda tek bir sarmayla doğru yere varmaktır.

Sarma sonrası video bir süre yerleşmeye bırakılır. Hemen ardından yeni bir düzeltme yapılmaz; yoksa yüklenmekte olan bir video sürekli yeniden sarılır ve görüntü ileri geri sıçrar. Kısa sürede üst üste birkaç sarma gerekirse sistem sarmayı bırakıp yalnızca hız ayarıyla yaklaşır.

Kendi komutunu kendinden ayırmak

Bir oynatıcıyı programla sardığında oynatıcı "sarıldım" olayını yayınlar; kullanıcı zaman çubuğunu sürüklediğinde de aynı olayı yayınlar. Bu ikisi ayırt edilmezse cihaz kendi düzeltmesini kullanıcı komutu sanıp herkese gönderir ve oda bir düzeltme döngüsüne girer. Watchntalk her düzeltmeden sonra beklenen olayları kaydeder ve gelen olayın kendi düzeltmesinin yankısı mı yoksa gerçekten bir kullanıcı hareketi mi olduğuna buna göre karar verir.

Takılan biri herkesi durdurmaz

Bir kişinin internet bağlantısı zayıfladığında videosu tampona takılabilir. Eski yöntemlerde bu kişi "kontrolcü" ise herkes geri çekilirdi. Watchntalk'ta kimse kontrolcü değildir; herkes aynı zaman çizelgesini izler. Takılan kişinin videosu yüklenince kendi kendine yetişir, diğerleri bundan etkilenmez. Oynatıcı oynuyor görünüp saati ilerlemiyorsa (bazı sitelerde olduğu gibi) bu da fark edilir ve o oynatıcı boş yere sürekli sarılmaz.

Ne kadar yakın?

Kendi testlerimizde, iyi bir bağlantıyla aynı videoyu oynatan cihazlar arasındaki fark çoğu zaman birkaç on milisaniye düzeyinde kalıyor; bu, bir film karesinin süresiyle aynı ölçek. Duraklatmada herkes aynı karede durur. Farklı bir ağda, telefonla ya da yoğun bir saatte bu sayı biraz büyüyebilir, ama sohbet ederken fark edilecek bir düzeye çıkmaz.

Aynı yaklaşım hem web oynatıcısında hem de Chrome eklentisinde kullanılır. Eklenti, Netflix gibi sitelerin kendi oynatıcılarına aynı zaman çizelgesini izletir; böylece sitenin kendi düğmeleriyle oynattığında herkes seninle aynı saniyeye gelir.

Bu akşam dene

Bir oda aç, bağlantıyı gönder. Hesap yok, kurulum yok; telefondan da bilgisayardan da katılınır.

Oda aç