Ana Sayfa

H.264 Yerine JPEG Ekran Görüntüleri ile Daha İyi Akış Performansı

1 dk okuma

Helix adlı yapay zeka platformu, kullanıcıların bulut ortamlarındaki otonom kodlama ajanlarını izlemesi için bir ekran paylaşım çözümü geliştirmek amacıyla yola çıktı. İlk olarak WebRTC tabanlı bir sistem denendi ancak kurumsal ağların UDP trafiğini engellemesi ve TURN sunucularına erişim sorunları nedeniyle başarısız oldu. Bu kısıtlamalar, tüm iletişimin HTTPS üzerinden 443 numaralı porttan geçmesi gerektiği gerçeğini ortaya koydu.

Bunun üzerine ekip, GStreamer ve VA-API ile donanım hızlandırmalı H.264 kodlaması kullanarak, ikili kareleri WebSocket üzerinden aktaran ve tarayıcıda WebCodecs API ile donanım çözme yapan saf bir WebSocket video hattı inşa etti. Bu sistem, ideal koşullarda 60fps, 40Mbps ve 100ms altı gecikme süreleri sunarak büyük bir başarı gibi görünüyordu. Ancak, bu "mükemmel" çözüm, gerçek dünya koşullarında, özellikle de kahve dükkanı gibi ağ bağlantısının zayıf olduğu ortamlarda ciddi sorunlar yaşadı.

Ağ tıkanıklığı durumunda, TCP/WebSocket katmanında kareler birikmeye başladı ve bu da videonun gerçek zamanın giderek gerisinde kalmasına neden oldu. Kullanıcılar, yapay zekanın 30-45 saniye önceki eylemlerini izlemek zorunda kaldı, bu da platformun kullanılabilirliğini düşürdü. Yüksek bant genişliğine sahip H.264 akışının ağ gecikmesine karşı hassasiyeti, sistemin performansını olumsuz etkiledi. Bu sorunlar, ekibi daha basit ve daha dayanıklı bir çözüm aramaya itti: H.264 akışını JPEG ekran görüntüleriyle değiştirmek. Bu eski teknoloji, beklenenin aksine daha iyi sonuçlar verdi.

İçgörü

Modern ve karmaşık video akış çözümlerinin, özellikle kısıtlı ağ ortamlarında, basit ve eski teknolojiler kadar etkili olamayabileceğini gösteriyor.

Kaynak