I am working on a streaming streaming server using my own codec (I need to use it in no way). Several clients will connect to the server to receive a live channel. In an ideal world, all clients will be connected via broadband connections, and after encoding, I can simply encode all encoded frames into each socket in a round-robin fashion. However, in real life, I could connect clients through high latency connections as well as slow / mobile connections. This will cause several clients to swallow data quickly, while others will lag behind.
Obviously, methods like round-robin do not work here. Another method that will work is encoding for each connection, but it will consume excessive server-side processor - which is also unacceptable. Finally, I thought about the modified h264 i-frame technique. Basically, regardless of content, just add an I-frame every 1-2 seconds. Thus, a slow consumer will be able to synchronize with the others on each I-frame. Feedback? Are there standard methods / algorithms for handling such a scenario?
tunafish24
source share