TCP vs UDP no fluxo de vídeo

Acabei de chegar do meu exame de programação em rede e uma das perguntas que eles nos fizeram foi "Se você deseja transmitir vídeo, usa TCP ou UDP? Dê uma explicação para o vídeo armazenado e para os fluxos de vídeo ao vivo". Para essa pergunta, eles simplesmente esperavam uma resposta curta do TCP para vídeo armazenado e UDP para vídeo ao vivo, mas eu pensei sobre isso no meu caminho de casa, e é necessariamente melhor usar o UDP para transmitir vídeo ao vivo? Quero dizer, se você tem largura de banda e diz que está transmitindo uma partida de futebol ou um show, você realmente precisa usar o UDP?

Digamos que enquanto você está transmitindo esse show ou o que quer que seja usando TCP, você começa a perder pacotes (algo ruim aconteceu em alguma rede entre você e o remetente) e, por um minuto inteiro, você não recebe nenhum pacote. O fluxo de vídeo será interrompido e, depois que o minuto acabar, os pacotes começarão a passar novamente (o IP encontrou uma nova rota para você). O que aconteceria então é que o TCP retransmitiria o minuto que você perdesse e continuaria enviando a transmissão ao vivo. Como suposição, a largura de banda é maior que a taxa de bits no fluxo e o ping não é muito alto; portanto, em um curto período de tempo, o minuto que você perder será um buffer para o fluxo para você, dessa maneira , se a perda de pacotes acontecer novamente, você não notará.

gora, posso pensar em alguns aparelhos onde isso não seria uma boa ideia, como, por exemplo, videoconferências, em que voprecisa estar sempre no final do fluxo, porque o atraso durante um bate-papo por vídeo é simplesmente horrível, mas durante uma partida de futebol ou um show, o que importa se você estiver um minuto atrás do fluxo? Além disso, você tem a garantia de obter todos os dados e seria melhor salvar para visualização posterior quando ela chegar, sem erros.

Então isso me leva à minha pergunta. Existem algumas desvantagens que eu não conheço sobre o uso do TCP para transmissão ao vivo? Ou deveria realmente ser que, se você possui a largura de banda, deve optar pelo TCP, pois é "mais agradável" para a rede (controle de fluxo)?

questionAnswers(13)

yourAnswerToTheQuestion