- FFmpeg'e WHIP (WebRTC-HTTP Ingestion Protocol) muxer resmen eklendi ve 1 saniyenin altında ultra düşük gecikmeli yayın doğrudan desteklenmeye başlandı
- Bu commit ile WHIP muxer'ın adlandırması ve yapısı yeniden düzenlendi, SSL/DTLS/RTC hata mesajları ve loglar iyileştirildi
- DTLS eğrileri/profilleri, RTP payload, ICE STUN vb. temel protokol parametreleri Chrome tanımlarına uyacak şekilde güncellendi ve magic number değerleri makrolara ve fonksiyonlara ayrıştırıldı
- DTLS handshake ve ICE işleme tek bir fonksiyonda birleştirilip optimize edilerek performans ve kararlılık önemli ölçüde artırıldı
- Ses ve video transcoding ile ilgili hatalar (
h264_mp4toannexb, OPUS timestamp, marker ayarları vb.) giderildi ve standart WebRTC ortamlarıyla uyumluluk artırıldı
- OpenSSL bağımlılığı netleştirildi; WHIP artık yalnızca DTLS desteği etkin olduğunda derleniyor
- Yalnızca FFmpeg ile WebRTC tabanlı yayın ve gerçek zamanlı akış ortamı kurmak kolaylaşıyor; böylece mevcut RTMP gibi legacy protokollere kıyasla ultra düşük gecikme avantajından yararlanılabiliyor
avformat/whip: FFmpeg WHIP muxer desteği eklendi
Başlıca değişikliklerin özeti
- WHIP Version 3 tabanlı muxer resmen kullanıma alındı, iç isimlendirme ve yapı düzenlendi
- SSL, DTLS ve RTC için log bağlamı ve hata mesajları daha da net hale getirildi
- Hardcoded magic number değerleri makrolara ve ayrı fonksiyonlara çıkarılarak bakım kolaylığı artırıldı
- DTLS eğri listesi, SRTP profil adları gibi alanlar FFmpeg ve OpenSSL standartlarına uyacak şekilde düzeltildi
- ICE STUN magic number, RTP payload type değerleri Chrome tarayıcı standardıyla uyumlu olacak şekilde güncellendi
- Ses kare boyutu, H.264 MP4→AnnexB dönüşümü, OPUS timestamp gibi medya işleme sorunları çözüldü
- DTLS handshake ve ICE işleme mantığı tek bir fonksiyonda birleştirildi, böylece yönetimi kolaylaştı
- OpenSSL tabanlı DTLS desteği koşulları netleştirilerek build hataları ve uyumluluk iyileştirildi
- SRTP, BIO callback, CA anahtarı/sertifika başlatma gibi TLS/DTLS iç yapıları birleştirildi
whip.c dosyasının eklenmesi dahil toplam 13 dosyada değişiklik yapıldı ve yeni dosyalar eklendi
Arka plan ve anlamı
- WHIP, WebRTC tabanlı akış gönderimi için HTTP tabanlı standart bir protokoldür ve ultra düşük gecikmeli canlı yayın için kritik öneme sahiptir
- Bugüne kadar FFmpeg'de WebRTC kodlama ve gönderimi için ayrı araçlar veya karmaşık aracılık yapıları gerekiyordu; bu birleşmeyle birlikte tek bir FFmpeg komutuyla WHIP yayını mümkün hale geliyor
- Gerçek zamanlı yayın, canlı ticaret, görüntülü toplantı gibi pek çok alanda güncel WebRTC ekosistemiyle doğrudan entegrasyon sağlayan teknik bir dönüm noktası niteliğinde
1 yorum
Hacker News görüşleri
--without-whipgibi bir seçenekle derlemeden tamamen çıkarılmasının mümkün olup olmadığı soruluyor; bunun ideal olacağı görüşü paylaşılıyor../configureseçeneklerini bulmanın zor olduğundan yakınılıyor.--enable-muxer=whipve--enable-opensslolduğu belirtiliyor.