deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Cloudflare blog

Cloudflare'ın Streamline'ı, Stream ve Workers üzerinde özel video pipeline'ları nasıl kurulacağını gösteriyor

Cloudflare, Stream, Workers, Containers ve Durable Objects'i birleştirerek özel video işleme pipeline'ları çalıştırmayı gösteren bir geliştirici oyun alanı olan Streamline'ı yayınladı.

Cloudflare'ın Streamline'ı, Stream ve Workers üzerinde özel video pipeline'ları nasıl kurulacağını gösteriyor

Cloudflare, Developer Platform üzerinde özel video pipeline'ları oluşturmayı gösteren bir geliştirici oyun alanı olan Streamline'ı yayınladı. 2 Ekim 2026 tarihli Cloudflare blog yazısına göre amaç, standart Stream ürününün tek başına üstlenmediği durumları kapsamak — örneğin bir canlı yayına dinamik ek açıklamalar işlemek ya da barındırılan bir videonun görüntüye gömülü altyazılarla bir kopyasını üretmek — ve işlenmiş sonucu yeni bir canlı yayın ya da barındırılan video olarak doğrudan Stream'e geri yayınlamak.

Pipeline nasıl bir araya geliyor

Bir Streamline dağıtımının iki parçası var. İlki, medya girdisini, çıktısını ve dönüştürmesini yöneten ve bir Cloudflare Container içinde çalışan Media Engine. Bu motor, bir HTTP sunucusu sunan ve gelen istekleri işlemlere dönüştüren Go ile yazılmış bir kontrol kabinı olan Controller ile asıl medya işini yapan Processor'a ayrılıyor. Cloudflare, mevcut Processor'ın FFmpeg kullandığını ancak bunu kullanıcıya dönük API'nin bir parçası değil, dahili bir uygulama detayı olarak gördüğünü belirtiyor.

Motor, videonun nereden geldiği ve nereye gideceği konusunda esnek. Bir Stream Live girdisinden RTMPS akışı alıp işlenmiş çıktıyı başka bir girdiye yeniden yayınlabiliyor. Barındırılan videoların pipeline girdisi olabilmesi için bir Stream HLS manifest'ini ve segmentlerini çekebiliyor. Kontrol eden uygulamanın sağladığı bir kaynağı, örneğin bir webcam'i kabul edebiliyor ve diğer uygulamaların abone olduğu bir Durable Object aktarıcısına giden WebSocket üzerinden önizleme videosu gönderebiliyor.

İkinci parça, Workers üzerinde kurulu kontrol eden Application. Tam yığın bir tarayıcı uygulaması, bir agent ya da gömülü bir sistem biçiminde olabiliyor ve istemci mantığı ile kimlik ve erişim politikasını kapsayan bir kullanıcı arayüzü ile oturum yönetimi, container yaşam döngüsü ve önizleme aktarıcısından sorumlu — Durable Object olarak uygulanan — bir Orchestrator'dan oluşuyor.

Yerel geliştirme bilinçli olarak daha basit: container sadece yerel bir Docker instance'ı, Durable Object kullanılmıyor, tek bir kullanıcı var ve yetkilendirme gerektirmiyor, video önizlemesi localhost'taki bir WebSocket'e doğrudan bağlanıyor.

İsteklerinden daha uzun yaşayan oturumlar

Video akışları dakikalar ya da saatler boyunca çalışabilir, bu yüzden medya sürecinin, onu başlatan istekten bağımsız bir yaşam döngüsüne ihtiyacı var. Cloudflare Containers normalde gelen istek olmadığı belirli bir sürenin ardından uykuya geçer; bu da kontrolcüsü bağlantısı kesilmişken çalışmaya devam etmesi gereken bir pipeline için yanlış bir davranıştır. Streamline bunu container'ın onActivityExpired() callback'ini geçersiz kılarak çözüyor: oturum süre sonuna henüz ulaşmadıysa activity timeout yenilenir, aksi halde container kendini yok eder. Bir maksimum süre, dış kontrol olmasa bile her oturumun eninde sonunda kapatılacağını garanti eder. Bir oturum çalışırken container instance'ı diğer uygulamalara açık değildir.

Oturum tabanlı bir API

Backend detaylarını gizlemek için Streamline iki paket dışa aktarıyor: üst düzey, oturum tabanlı bir API olan @cloudflare/streamline/client ile container ile ilişkili Durable Object temel sınıfını dışa aktaran, API isteklerini yönlendiren, önizleme aktarıcısını çalıştıran ve güvenlik ile erişim politikası için hook'lar sunan @cloudflare/streamline/. Uzaktan bir dağıtımda kontrol eden Worker paketi içe aktarır ve uygulamaya özgü mantık ile depolamayı eklemek için o Durable Object'in somut bir alt sınıfını tanımlar. Yerel modda, ince bir adaptör katmanı, doğrudan Docker instance'ıyla konuşurken aynı oturum API'sini korur.

İstemci arayüzü; Streamline instance'ı oluşturmayı, oturum oluşturmayı ve sürdürmeyi, JSON yapılandırmasından bir pipeline başlatmayı, webcam modunda video parçaları göndermeyi, şeffaf bir PNG ek açıklama katmanını güncellemeyi, oturum metriklerini okumayı ve işlemeyi durdurmayı kapsıyor. Pipeline'ların kendileri ise girdiler, işlemler ve bir çıktı olarak bildirimsel biçimde tanımlanıyor.

Neden önemli

Stream büyük ölçüde yaygın yayın iş akışlarını kutudan çıktığı gibi halleden, belirli görüşlü bir ürün olageldi; bu da geliştiricilerin biraz farklı bir şeye ihtiyaç duyduklarında sıkışmalarına yol açıyor. Streamline, ekiplerin belirli bir özelliğin çıkmasını beklemek ya da kendi kod dönüştürme sunucularını çalıştırmak yerine Cloudflare'ın edge altyapısında kendi işleme aşamalarını bir araya getirdiği, daha programlanabilir bir modele işaret ediyor.

Mimari ayrıca platformdaki daha geniş bir kalıbın referans uygulaması: uzun süre çalışan derlenmiş iş yükleri için Containers, orkestrasyon için Durable Objects, kontrol sinyalleşmesi ve izleme için Workers. Cloudflare, tasarımın bilinçli olarak modüler olduğunu, dolayısıyla FFmpeg tabanlı motorun daha sonra özel kodlama ürünleriyle değiştirilebileceğini ekliyor — bu oyun alanının tek seferlik bir demo değil, ürüne dönüşecek video işleme için zemin çalışması olduğuna dair bir ipucu. Özel video özellikleri yapan ekipler için pratik çekicilik, Stream girdi almayı ve teslimi hallederken pipeline'ların bir API üzerinden başlaması, çalışması ve durması.

  • #cloudflare
  • #video-streaming
  • #workers
  • #edge-computing
  • #ffmpeg
  • #cloud

İlgili yazılar