There are some use cases suitable for UDP transport, and others suitable for TCP transport.
The use case also defines the encoding settings for the video. When broadcasting a soccer match focuses on quality and the focus of video conferencing is on latency.
When using multicast, UDP is used to deliver video to your customers.
The multicast requirement is expensive network equipment between the broadcast server and the client. In practice, this means that if your company owns a network infrastructure, you can use UDP and multicast to stream live video. Even then, quality of service is also implemented to mark video packets and determine their priorities, so packet loss does not occur.
Multicast simplifies broadcast software, as network equipment will handle packet distribution to clients. Clients subscribe to multicast channels, and the network will reconfigure packet routing to a new subscriber. By default, all channels are accessible to all clients and can be optimally routed.
This workflow puts the dificulty in the authorization process. Network equipment does not distinguish subscribers from other users. The authorization solution is to encrypt video content and enable decryption in the player software when the subscription is valid.
The Unicast Workflow (TCP) allows the server to verify client credentials and only allow valid subscriptions. Even allow only a certain number of concurrent connections.
Multicast is not enabled over the Internet.
To deliver video over the Internet, you must use TCP. When UDP is used, developers end up re-implementing packet retransmission, for example. Bittorrent p2p live protocol.
"If you use TCP, the OS should buffer unconfirmed segments for each client. This is undesirable, especially in the case of live events."
This buffer must exist in some form. The same is true for the jitter buffer on the player side. It is called a “socket buffer”, and server software can know when this buffer is full and discard the correct video clips for live streams. It is better to use the unicast / TCP method, because server software can implement the correct frame drop logic. Random missing packets in the case of UDP will simply create a bad user interface. like in this video: http://tinypic.com/r/2qn89xz/9
“IP multicast dramatically reduces video bandwidth requirements for large audiences.”
This is true for private networks; multicast is not enabled over the Internet.
"Note: if TCP loses too many packets, the connection dies, so UDP gives you much more control for this application, since UDP does not care about lowering the level of network transport."
UDP also does not care about deleting whole frames or a group of frames so that it no longer controls the user's work.
"Typically, a video stream is somewhat fault tolerant."
Encoded video is not fault tolerant. When sending over unreliable vehicles, error correction is added to the video container. A good example is the MPEG-TS container used in satellite video transmission, which carry multiple streams of audio, video, EPG, etc. This is necessary because satellite communication is not duplex, that is, the receiver cannot request the retransmission of lost packets.
If there is duplex communication, it is always better to forward data only to clients with packet loss, and then include the overhead of forward error correction in the stream sent to all clients.
In any case, lost packets are not acceptable. Discarded frames are in order, in exceptional cases, when bandwidth is difficult.
The result of the lack of packages is artifacts like this: 
Some decoders may split streams that pass packets at critical locations.