You can't upload video any faster than your bandwidth and the bandwidth of the receiving site allows. The longer, larger, and higher quality a video is, the longer it will take to upload (this is why you provide progress indicators and great error handling in case of failure). You will need to determine the resolution and quality that meets your needs without being onerous to upload. Regardless of all that, if the bandwidth at any point along the route to your target is limited, you'll be limited to those upload speeds, and there's no way around that.
Lastly, it's possible that the host (... or maybe your ISP) is throttling you depending upon usage or due to a misconfiguration. That's out of our scope, unfortunately, since you'd need to address any issues with your host/ISP.
Could I improve it? Somehow upload video in realtime if bandwith is good . My concerns is not about bandwith that is somethng I can improve I'm lookin to something I can improve.
You improve upload speeds by doing the following:
- Reduce the bitrate -- however, this will reduce video quality, so you can either have a low bitrate, fast(er) upload, and really compressed video with a lot of artifacts, or you can have a high bitrate, slow(er) upload, and great looking video. Usually you'll end up somewhere in the middle unless your needs are otherwise.
- Reduce the video resolution -- the lower the resolution, the smaller the video files. Of course, this doesn't look very good when shown on larger screens, so again, you'll end up compromising somewhere.
As for uploading in realtime ... Are you trying to stream video to a cloud service? In which case, I don't think this particular plugin set is going to do you any favors since you can only upload a video once it is done. The file transfer plugin will upload as fast as it can within the limits of the network and all the hosts along the route to your target. Live streaming would require variable bit rates, bandwidth detection (and adjusting those bit rates as necessary, which may cause artifacting), and a streaming upload. Maybe there's a plugin that does that, but if not, you'd have to write one yourself.
Video is big. It can be mind-numbingly big. It's not like an image or audio file. Compound that with the fact that most users will have slower upload speeds than download speeds, and uploading good quality video is going to be a problem with no great solution. Also, don't forget that if your user is on a cellular network, then you need to be VERY mindful about how much data you upload in the first place -- in fact, I'd suggest not allowing video uploads greater than, say, 250MB on a cell network in the first place unless the user consents that they understand they may run over their allotted data plan.