- FFmpeg kini secara resmi menambahkan muxer WHIP (WebRTC-HTTP Ingestion Protocol) dan langsung mendukung streaming ultra-rendah latensi di bawah 1 detik
- Dalam commit ini, penamaan dan struktur muxer WHIP dirombak, sementara pesan kesalahan dan log SSL/DTLS/RTC ditingkatkan
- Parameter protokol utama seperti kurva/profil DTLS, payload RTP, dan ICE STUN diperbarui agar sesuai dengan definisi Chrome, dan magic number diekstrak menjadi makro serta fungsi
- Handshake DTLS dan pemrosesan ICE diintegrasikan dan dioptimalkan ke dalam satu fungsi sehingga performa dan stabilitas meningkat signifikan
- Bug pada transcoding audio dan video (
h264_mp4toannexb, timestamp OPUS, pengaturan marker, dll.) telah diperbaiki, sehingga kompatibilitas dengan lingkungan WebRTC standar meningkat
- Dependensi OpenSSL diperjelas, sehingga WHIP hanya dibangun saat dukungan DTLS tersedia
- Hanya dengan FFmpeg, kini lebih mudah membangun lingkungan siaran berbasis WebRTC dan stream real-time, serta memanfaatkan karakteristik ultra-rendah latensi dibanding protokol legacy seperti RTMP
avformat/whip: Menambahkan dukungan muxer WHIP FFmpeg
Ringkasan perubahan utama
- Pengenalan resmi muxer berbasis WHIP Version 3, beserta penataan nama internal dan strukturnya
- Konteks log dan pesan error untuk SSL, DTLS, dan RTC menjadi jauh lebih jelas
- Magic number yang di-hardcode diekstrak menjadi makro dan fungsi terpisah untuk meningkatkan kemudahan pemeliharaan
- Daftar kurva DTLS, nama profil SRTP, dan elemen lain disesuaikan dengan standar FFmpeg dan OpenSSL
- Magic number ICE STUN dan tipe payload RTP diperbarui agar sesuai dengan standar browser Chrome
- Berbagai isu pemrosesan media seperti ukuran frame audio, konversi H.264 MP4→AnnexB, dan timestamp OPUS telah diperbaiki
- Logika handshake DTLS dan pemrosesan ICE kini digabung ke satu fungsi sehingga lebih mudah dikelola
- Persyaratan dukungan DTLS berbasis OpenSSL diperjelas, sehingga error build dan kompatibilitas membaik
- Struktur internal TLS/DTLS seperti SRTP, callback BIO, serta inisialisasi kunci/sertifikat CA disatukan
- Total 13 file diubah dan ditambahkan, termasuk file baru
whip.c
Latar belakang dan makna
- WHIP adalah protokol standar berbasis HTTP untuk pengiriman stream berbasis WebRTC, dan sangat penting untuk siaran langsung ultra-rendah latensi
- Selama ini, encoding dan pengiriman WebRTC di FFmpeg memerlukan alat terpisah atau relay yang rumit, tetapi dengan merge ini pengiriman WHIP dengan satu perintah FFmpeg kini menjadi mungkin
- Ini menjadi titik balik teknis yang memungkinkan integrasi langsung dengan ekosistem WebRTC modern di berbagai bidang seperti siaran real-time, live commerce, dan konferensi video
1 komentar
Komentar Hacker News
--without-whipagar bisa sepenuhnya dikeluarkan dari build bila tidak diinginkan; itu dianggap akan menjadi yang terbaik../configureyang benar.--enable-muxer=whipdan--enable-openssl.