Anda ingin siaran langsung dengan tanpa adanya LATENCY ??? atau menginginkan DELAY kurang dari 10 ms ??? Jangan gunakan shoutcast maupun icecast untuk hal ini, karena pasti akan ada DELAY. Umumnya delay shoutcast dan icecast mulai 1-5 detik.
Shoutcast dan Icecast menggunakan protocol TCP yang delay lebih lama dibanding protocol UDP. Mari kita bahas perbedaan keduanya.
Untuk siaran live audio maupun video streaming, UDP (User Data Protocol) adalah lebih disarankan dibanding TCP (Transport Control Protocol) karena alasan-alasan di bawah ini :
- Latency pada UDP lebih rendah dibanding TCP. Bisa kurang dari 10 ms (mili second).
- Untuk aplikasi yang sensitif terhadap waktu, UDP adalah protokol yang paling cepat karena tidak memerlukan pengakuan dari sisi klien dan pengiriman ulang paket yang hilang. Contoh : video calling menggunakan SKYPE.
Sedangkan TCP memang tidak cocok untuk siaran live streaming yang membutuhkan delay kurang dari 10ms. Tapi TCP merupakan pilihan yang lebih baik untuk VOD (Video On-Demand) karena alasan yang disebutkan di bawah ini :
- Menyesuaikan gambar terbaik dengan mengirimkan setiap frame
- Cukup mudah memonitor bandwidth antara sumber dan klien
- Streaming TCP dapat dienkripsi untuk mencegah pencurian video karena penerimaan segmen dijamin dengan benar.
- Karena mekanisme clocking sendiri, TCP lebih baik untuk bandwidth variabel yang terjadi di Internet.
- TCP menyediakan pemulihan kesalahan dengan mentransmisikan kembali data yang hilang.
Ketika kita siaran langsung, bisa jadi ada paket yang hilang karena beberapa penyebab, misal koneksi internetnya tiba-tiba terputus. Maka jika menggunakan TCP, video streaming akan berhenti dulu hingga paket yang hilang itu diterima lengkap. Untuk hal ini, klien harus mengirim pengakuan yang benar untuk setiap segmen yang diterima. Sekali paket ditemukan, TCP akan mengirimkan semua paket dan kembali mengirimkan streaming. Hal inilah yang menyebabkan tidak bisa sinkron saat digunakan untuk siaran LIVE yang membutuhkan delay sangat minimal. Untuk VOD, hal ini tidak jadi masalah, malah justru bekerja dengan sempurna karena pengiriman dijamin tanpa adanya frame yang hilang.
Sedang UDP, klien tidak terganggu dengan pengakuan apapun. Oleh karena itu, transmisi lebih cepat yang menyebabkan pengurangan delay. UDP tidak peduli dengan frame yang hilang akibat koneksi yang kurang bagus, karena yang penting pengiriman konten tetap tepat waktu. Hal inilah yang dibutuhkan juga untuk video/audio chat realtime seperti video calling menggunakan SKYPE, dimana buffering tidak diperlukan / diharapkan.
Sumber : http://www.oodlestechnologies.com/blogs/Why-UDP-is-preferred-for-Live-Streaming