What should I do for bandwidth estimation for video conference - webrtc

I have been trying to create video conferencing app as a hobby. I dont use webRTC video tracks instead I transfer three stream of video recorded in 100000, 400000 and 800000 bitrate of vp8 video data from media recorder and transfer only the simpleBlock and timecode data in the datachannel. With this I can get the key frames and adapt video quality based on the bandwidth. We do have a working app and we regularly chat on it.
However I dont have concrete solution to bandwidth estimation just to make sure I can avoid lagging and congestion. Currently I just calculate the time difference to estimate lags and then switch the video but with this I see my video switch to multiple quality a lot.
I also tried to do something like Shaka player but I dont know how can I calcuate the frame rate that is being received as I have simple blocks and timecode only.
What should I do for bandwidht estimation?

Related

Does video.js support MPEG2-TS/UDP streams?

I am just starting to play around with video.js and really like it. I currently have some code where I have two players showing two different HLS streams in a single browser page.
However, HLS inherently has high latency and that may not work for my project. So I am wondering if video.js can receive and play MPEG2-TS/UDP streams which would have less latency (I can easily change the format of all of my source video steams).
My basic requirement is to have 2 players in a single browser page, one player showing the video stream sent from a particular network node, and the second showing how a different network node received that same stream. So the two video.js players on the browser page are showing 2 video streams that are actually the same video so they are highly correlated. This is why the latency is a critical requirement for this project.
Thanks,
-Andres

Stream Camery Video directly to android device

Our company wants to use the DSC QX10 for Sport video Capturing.
We have to cut the Videos in the Android app and send it to our Server.
Can we record the Video directly to the Android device? (Stream the Video or is there a different Idea to get the Video to Android?)
How long can the maximum length of the Video be? (We would need a 2h Video)
Thanx
Movie recorded using Camera Remote API on DSC-QX10 camera is stored on the memory card.
Best Regards,
Prem, Developer World team

Videojs real-time streaming over HTTP not working in Firefox/Opera

I am streaming the video of a webcam using VLC. The video codec is h264 and the container format is flv. The video is sent over HTTP/TCP and it must be a real-time application.
When I use Chrome or IExplorer to display the video streaming, it works fine. For example, if the streaming broadcast started 2 minutes before, videojs directly seeks to minute 2 and displays the video at real-time.
But It doesn't happen when using Opera or Mozilla Firefox. In the above case, videojs displays the video starting at minute 0. Since it has no information from minute 0 to minute 2, it shows a static image in that period of time. Then, when it reaches minute 2 it displays the video packets received 2 minutes before...
What could be the reason for the different behaviour between browsers? Is there a way (probably javascript way) to directly seek to the live starting point?
Thank you

youtube live api event tagging, video clipping, preroll ads

I'd like to use YouTube Live to stream a live video embedded in my website. I'd also like to be able to use the API to tag events within that video based on the time, then auto-generate clips x seconds before and y seconds after the timestamp to show that event only. I'd also like to publish my own pre-roll advertisements on both the live stream and the clips (and be able to play an ad during the stream at appropriate times). Is any/all of this possible?

What is the fastest way to send a small video from one iOS device to another?

I'd like to make an application in which one person takes a short video, maybe five to twenty seconds in length, and sends it to another user as quickly as possible. An example would be an instant replay at a sporting event. What would be the fastest and most reliable way to transfer a video of that size? I am considering the following two options, but am open to other suggestions.
uploading the video to my own server and performing some kind of push operation
performing a direct transfer over a shared wifi network (what about long distance?)
I'd take your first option
Record your video and compress it to a reasonable size on the source device.
Upload the video to an external server.
From the server, send push notifications to the particular users who should be able view the video.
If recipients/consumers of the video could stream the uploaded video from the server it would be a pretty reasonable user experience.