Perangkat lunak streaming msd terbuka di bawah lisensi BSD

Kode sumber proyek msd (Multi Stream daemon) telah diterjemahkan ke lisensi BSD, dan kode sumber telah dipublikasikan di GitHub. Sebelumnya, hanya versi singkat msd_lite yang didistribusikan dalam kode sumber, dan produk utamanya adalah hak milik. Selain mengubah lisensi, pekerjaan telah dilakukan untuk mem-portingnya ke platform macOS (sebelumnya FreeBSD dan Linux didukung).

Program msd dirancang untuk mengatur streaming IPTV di jaringan menggunakan protokol HTTP. Satu server mampu melayani beberapa ribu klien secara bersamaan. Penekanan utamanya adalah pada pencapaian kinerja maksimal, serta penyediaan pengaturan halus yang mempengaruhi kualitas persepsi pelanggan terhadap layanan: kecepatan peralihan saluran, ketahanan terhadap kegagalan transmisi. Proxy telah diterapkan dalam mode “satu-ke-banyak”: data yang diterima melalui satu koneksi HTTP dapat didistribusikan ke banyak klien yang terhubung.

Fitur

  • Mendukung protokol IPv4 dan IPv6.
  • Penganalisis aliran MPEG2-TS.
  • Peralihan otomatis ke cadangan jika tidak ada atau terjadi kesalahan pada sumber saat ini.
  • Zero Copy on Send (ZCoS) - mengurangi overhead layanan klien yang terhubung; semua pekerjaan pengiriman data ke klien diambil alih oleh kernel OS.
  • Dukungan untuk klien http "setengah tertutup".
  • Penerimaan udp-multicast, termasuk rtp, secara bersamaan dari antarmuka yang berbeda.
  • Penerimaan melalui tcp-http-get (dalam satu aliran dan disiarkan ke banyak klien).
  • Pemutusan otomatis dari sumber jika tidak ada klien yang terhubung.
  • Menggunakan algoritma Kontrol Kemacetan TCP yang berbeda tergantung pada port tujuan klien dan URL permintaan klien
  • pengiriman header MPEG2-TS yang "cerdas" ke klien baru.
  • Kirim data secara instan dari buffer ring ke klien baru untuk meminimalkan waktu tunggu untuk memulai pemutaran.
  • Mengirimkan header http tambahan apa pun dalam permintaan dan tanggapan.
  • Templat pengaturan untuk Stream Hub dan sumber streaming.
  • Statistik terperinci untuk setiap koneksi TCP untuk menyederhanakan pencarian masalah di tingkat jaringan.

Sumber: opennet.ru

Tambah komentar