Saya baru saja pulang dari ujian saya dalam pemrograman jaringan, dan salah satu pertanyaan yang mereka ajukan kepada kami adalah "Jika Anda akan melakukan streaming video, apakah Anda akan menggunakan TCP atau UDP? Berikan penjelasan untuk video yang disimpan dan streaming video langsung" . Untuk pertanyaan ini mereka hanya mengharapkan jawaban singkat dari TCP untuk video yang disimpan dan UDP untuk video langsung, tetapi saya memikirkannya dalam perjalanan pulang, dan apakah lebih baik menggunakan UDP untuk streaming video langsung? Maksud saya, jika Anda memiliki bandwidth untuk itu, dan mengatakan Anda streaming pertandingan sepak bola, atau konser dalam hal ini, apakah Anda benar-benar perlu menggunakan UDP?
Katakanlah bahwa saat Anda streaming konser ini atau apa pun yang menggunakan TCP, Anda mulai kehilangan paket (sesuatu yang buruk terjadi di beberapa jaringan antara Anda dan pengirim), dan selama satu menit penuh Anda tidak mendapatkan paket apa pun. Aliran video akan berhenti, dan setelah satu menit berlalu, paket mulai melewati lagi (IP menemukan rute baru untuk Anda). Apa yang kemudian akan terjadi adalah bahwa TCP akan mengirimkan ulang begitu Anda hilang dan terus mengirimkan streaming langsung kepada Anda. Sebagai asumsi, bandwidth lebih tinggi daripada bit-rate pada streaming, dan ping tidak terlalu tinggi, jadi dalam waktu singkat, satu menit Anda kehilangan akan bertindak sebagai buffer untuk streaming Anda, dengan begitu , jika kehilangan paket terjadi lagi, Anda tidak akan menyadarinya.
Sekarang, saya dapat memikirkan beberapa peralatan di mana ini bukan ide yang baik, seperti misalnya konferensi video, di mana Anda harus selalu berada di akhir streaming, karena penundaan selama obrolan video hanya mengerikan, tetapi selama pertandingan sepak bola, atau konser, apa bedanya jika Anda hanya satu menit di belakang streaming? Plus, Anda dijamin mendapatkan semua data dan akan lebih baik menyimpannya untuk dilihat nanti saat data masuk tanpa kesalahan.
Jadi ini membawa saya ke pertanyaan saya. Apakah ada kekurangan yang tidak saya ketahui tentang penggunaan TCP untuk streaming langsung? Atau haruskah benar, bahwa jika Anda memiliki bandwidth untuk itu, Anda harus menggunakan TCP karena "lebih baik" ke jaringan (kontrol aliran)?