Encode video input in near realtime and transmit to the receiving app that it connected. You need a good uplink speed to get good HD quality. Most downlinks of 6-8 meg will have no issues but uplinks need to be of about the same but higher is better or you may have to lower to 1024kb which works best for smart phones but quality will be reduced.