QuickBlox 10 Gb traffic/storage in free tier [closed] - ios

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am developing a iOS video chat app using QuickBlox api but I didn't getting meaning of 10 Gb traffic/storage. I read about it from here http://quickblox.com/plans/free/
I have three questions:
Q.1) How much storage/traffic will be used, If we started a video call to a person using iPhone for 1 hour ?
Q.2) 10GB traffic/storage per month for each application or per account ?
Q.3) Can we make video confrencening app using Quickblox api ?
Any help will be greatly appreciated. Thanks.

A.1) When you are doing a p2p video call to a person, the only traffic that will be used server-side is for logging start and end time on the server (and the like). The video traffic won't affect the 10Gig.
A.2) You should be creating one account for your app - so: both.
A.3) Video Conference with more than 2 participants is not supported natively in QuickBlox, but you can bind your video signal to more than one instance, allowing you to stream your video to multiple participants at the same time.
Of course, with higher user count, the necessary bandwidth of every user increases. If you have p2p between six users, you have to push five incoming and five outgoing video signals through each participant's internet connection. (You should think of a clever way to downsize the signal on the sender side.)

#Deepak,
1) Not Sure its depends upon your quality & Connection for ex. 5 minute youtube should be around 10mb.... for 360-420p videos.
2) Storage 10GB is for per month based.
3) Yes they do support Check this - http://quickblox.com/developers/Chat/Video_chat

Q.1) How much storage/traffic will be used, If we started a video call to a person using iPhone for 1 hour ?
The data passed between users is Peer to Peer so not that much.
Q.2) 10GB traffic/storage per month for each application or per account ?
The Free tier is just that - Free so it is subject to fair use. We don't cut off at 10GB but if clients want support and SLA and better services we request that clients use the Pro or upgrade to an enterprise tier to support Quickblox to provide them with better services.
Q.3) Can we make video confrencening app using Quickblox api ?
Yes of course

Related

How do i get messages even if the app is closed

It is more or less asking how Whattsapp, Instagram, Facebook etc works.
How does my Phone know i got a new message even if the app is closed
(Please dont focus that much on the examples above, it is more a general question.)
I can think of a couple of solutions:
1.My Phone asks (in the background) an api every couple of seconds and fetches the data.
2.My Phone has an on going connection over the Web(i heard of technologies like: WebSocket, WebRTC, WebTransport, (standard) sockets, TCP)
My Phone is running a Webserver 24/7 and gets the signal like that
So in general the question is how can my PC/Phone etc. wait for a signal/data (Im talking 1, 2 or 3 bytes) in the background efficiently
it Highly Depends on the Operating System that the Program is Running on and also each OS has its own specific Security & Privacy Policy. However, all of them have a Common Agreement that this Types of Operation should be Handled in Background Processes as Secure Lightweight as Possible. so for your listed solution the closest one is 1th case.
2th Case almost Impossible because it is in Contradiction to being Lightweight
3th Case totally wrong way

Applying for Additional Quota for YouTube API as an Individual (without business info)

I recently began using the Youtube Data v3 API for a program that I'm writing which is purely for personal use. To give a brief summary of what it does, it checks the the live chat from my most recent (usually ongoing) livestream and performs actions based on certain keywords entered in chat (essentially commands for people to use from live chat). In order to do that, however, I have to constantly send requests to get a refreshed livechat. As it is now, it sends requests on 1 second intervals. I recently did a livestream to test out my program and it only took about 25 minutes for me to reach the daily quota limit of 10,000 units/day.
The request is:youtube.liveChatMessages().list(liveChatId=liveChatId,part="snippet")
It seems like every request I make costs 6 units, according to the math. I want to be able to host livestreams at lengths of up to 3 hours, which would require a significant quota increase. I'm aware that there is an option to fill out a form to request additional quota. However, it asks for business information such as a business name, business website, business mailing address, etc. Like I said before, I'm doing this for my own use only. I'm in no way part of a business, and just made my program as a personal project. Does anyone know if there's any way to apply for additional quota as an individual/hobbyist? If not, do you think just putting n/a in those fields would be acceptable? I did find another post where someone else had the exact same problem, but no one was able to give a helpful answer. Any advice would be greatly appreciated.
Unfortunately, and although only related, it seems as Google is for the money here. I also tried to do something similar myself (a very basic chat bot just reading the chat messages), and, although some other users on the net got some different results, they all have in common that, according to the doc how it should be done, all poll at this interval of about once a second (that's the timeout one get as part of the answer to a poll for new messages). I, along with a few others, got as most as about 5 minutes with polling once a second, some others, like you, got a few more minutes out of it. I changed the interval by hand in incrementing intervals of 5 seconds each: 5, 10, 15, etc... you get the picture. I can't remember on which value I finally tuned in, but I was only able to get about 2 1/2 hours worth with a rather long polling interval of just once every 10 seconds or so - still way enough for a simple chat bot just reading the chat. But also replying would had at least doubled the usage and hence halfed the time.
It's already a pain to get it working as an idividual as just setting up the required OAuth authentication requires one to at least provide basic information like providing a fixed callback and some legal and policy information. I always ended up in had it rejected with this standard reply "Your project seem to be for internal use only.". I even was able to got this G suite working (before it required payment) to set up an "internal" project (only possible if account belongs to a G suite organization account), but after I set up the OAuth login I got the error that my private account I wanted to use the bot on was not part of the organization and hence can't be used. TLDR: Just useless waste of time.
As far as I'm in for this for several months now there's just no way to get it done as a private individual for personal use. Yes, one can just set it up and have the required check rejected (as it uses the YouTube data API scopes), but one still stuck with that 10.000 units / day quota. Building your own powerful tool capable of doing more than just polling once every 10 to 30 seconds with just a minimum of interaction doesn't get you any further than just a few minuts, maybe one or two hours if you're lucky. If you want more you have to set up a business and pay for it - simple and short: Google wants you to pay for that service.
As Mixer got officially announced to be shut down on July 22nd you have exactly these two options:
Use one of the public available services like Streamlabs, Nightbot, etc ... They're backed by their respective "businesses" and by it don't seem to have those quota limits (although I just found some complaints on Streamlabs just from April - so about one month prior to when you posted this question where they admitted to had reached their limits - don't know if they already got it solved).
Don't use YouTube for streaming but rather Twitch - as Twitch doesn't have these limits and anybody is free to set up an API token either on the main account or on a second bot account (which is also explicitly explained in their docs). The downside of this are of course the objective sacrifices one has to suffer: a) viewers only have the quality of the streamer until one reaches at least affiliate b) caped at max 1080p60 with only 6.000kBit/s c) only short time of VOD storage
I myself wanted to use YouTube as my main platform (and currently do, but without my own stuff at the moment) and my own bot stuff and such as streaming on YouTube has some advantages over Twitch, but as YouTube wants me to pay what others (namely: Twitch) offer me for free (although overall not as good quality) it's an easy decision to make. Mixer looked promissing, as it also offered quite some neat features (overall better quality than Twitch, lower latency), but the requirements to get partner status were so high (2.000 followers along with another insane high number to reach) and Mixer itself just so little of a platform (I made the fun to count all the streamers and viewers - only a few hundred streamers with just a few 10.000s viewers the whole platform had less than some big Twitch channels on their own) - and now it's announced soon to be dead anyway.
Hope this may give you some input into what a small streamer has to consider and suffer from when chosing a platform - but after all what I experienced I have these information: Either do it like all the others: Stream on Twitch and use YouTube as an archive to export to from Twitch (although Twitch STILL doesn't have an auto-export of the latest VOD implemented - but I guess that could be done by some small script) - or if you want to stay on YouTube use some existing bot like Nightbot or any of the other services like Streamlabs.
If you get any other information on how to convince Google to increase the limit as an individual please let us know.

Bidirectional connection [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 2 years ago.
Improve this question
I want to know how can we have a bidirectional connection physically and electrically for example how can we send and receive signals at the same time in telephone wire without interference?
thanks for your answers!
Although your question is off-topic the answer is pretty simple.
You have multiple wires. For a signal you need at least two. One for the signal and one to have a common reference the signal refers to.
So either you have at least 2 signal lines so you can send and receive at the same time or you have 1 signal line and both sides send/receive alternatingly.
The term you are looking for is 'Full Duplex'. Communications is a huge topic and it would take a book on the subject to give a complete answer for all cases, but we can generalise a simple answer.
I would not consider this completely off topic here as the same is true for example by two computer processes sending data between each other over some media, perhaps shared memory.
With very few exceptions, full duplex communications requires that there is some form of separation of the data on the channel between multiple parties.
Separation could be by frequency band, separate media (multiple carrier frequences, multiple wires or fibres), by time, coding scheme or other methods. Search FM (frequency modulation - and variants thereof), TDMA (time division multiple access), CDMA (code division multiple access), etc.
In the care of analog telephones it's time; i.e. more than one person talking at the same time will have trouble understanding one another.
Analogue telepones are one of the few mediums where the data is not modulated on a carrier and the media is shared without any controls other than the individuals at each end cooporating.
Full duplex communication can introduce another problem; the send mechanism (e.g. microphone) can coupled to the receive mechanism (e.g. loudspeaker).
E.g. in the case of a phone this is by the media and the room each person is in. This means that because the two are coupled and it takes time to send the message to the other end, echo can be introduced which must be eliminated (echo cancellation) or the message will get corrupted by the returning delayed copy (the echo).

From iPhone Camera To Remote Server, Real-Time Streamming [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Im developing an iOS App that ideally will provide a video chat functionality
Currently i've managed to make it work inside a wifi network, using AVCaptureOutput, Bonjour, NSNetServices, CFSocketStreams and NSStreams. Having 2 iOS devices (client and server) connected to the same wifi.
What i want to achieve is having the connection over my dedicated server, and not over a local wifi network. So the 2 or more devices can use 3G as well, LTE and so forth.
I would like to know how i can stream the camera FROM my iPhone TO my remote dedicated server.
I DON'T want to use Wowza as a server, i DON'T want OpenTok or similar tools, i DON'T want HTTP Live Streaming tools from Apple (they're tools for the "SERVER TO IOS and NOT IOS TO SERVER", and they are for media stream only, not real-time camera/mic)
I've also read about CFHTTP requests, NSURLConnections, JSON and HTML5 but i still don't know how they work, or if they are what i need.
Summarizing:
How it's possible to stablish a connection between my iPhone with my remote dedicated Server, and stream the iPhone camera/mic constantly at 30fps in real-time?
The short answer to your question is that Apple doesn't provide a way to do that in iOS - they simply do not offer a direct way to get at the hardware-encoded frames to send out. The longer answer is that you can, but you have to be savvy about iteratively packetizing and sending short segments of to-file hardware-encoded video, and over your preferred protocol.
Once you solve the packetization of hardware encoded frames issue, you have to solve the replication issue (client -> server -> [multiple subscribers]). Since you don't want to use Wowza, and by your intonation, seemingly don't want to use any server that you didn't write, you probably should read up on RTMP and RTSP as you write your own. I can't imagine a situation where I'd want to write my own RTMP server, but I won't judge you. ;-)
Note: I've done exactly what you (seemingly) are trying to do, doing exactly what I described in the first paragraph. I did use RTMP as the streaming protocol, and packetized short segments of h.264 hardware encoded files onto the stream. What I didn't write myself was the replication of the stream to end clients from the server. Use Wowza. Or nginx-rtmp. Or FMS. Anything -- if you really want to write your own, that's your prerogative, but honestly: don't.

How to connect 2 callers together with Twilio [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I have a situation where I want to anonymously connect 2 callers together. The idea being, you call a phone number enter a digit (each digit corresponds to another phone number) Once you enter in your digits the phone calls the other phone number and then once that other phone number picks up, the two callers are connected.
How would I do this as cheap as possible? Is there a way to do it on Twilio to connect the 2 calls, but then once the calls are connected to not have to go through Twilio anymore?
This is possible using Twilio. The first party calls a Twilio number which then uses the <Dial> TwiML verb to call the second party, using the callerId attribute to anonymize who the call is from. For that attribute value you can use any number you have purchased from Twilio or is a validated outgoing caller ID on your account.
Generally what people do in this case is give everyone who needs to make anonymized calls their own phone number. Then you show use that for the caller ID so if the second party calls the number back, they'd also be anonymously forwarded as well.
In this case you'd be charged 1 cent per minute for the duration of the incoming call initiated by the first party, and 2 cents per minute for the duration of the leg connecting the second party.
I am fairly certain, that if you connect thru twilio, you stay connected (and incur per-minute charges) during the entire conversation.
Openvbx, which is built on twilio, does a similar thing, where you can initiate a call from the web, it calls you at your 'real' phone, you press a key and then it connects the second caller. Charges apply during the connection.
(I realize this doesn't answer the first part of the question, just answering the charge-related part)
This is a pretty basic Twilio function:
First call, respond with twiml using to get the digits, and providing a url where to send the digits to
Respond to the request with digits using a verb with to call and, like John said, set the caller ID to something else (like another twilio inbound number).
When the other party picks up, the call is connected.
Pricing-wise, you's be looking at approximately 3 cents per minute or 5 cents if a toll-free number is used.
With Twilio, you will not be able to connect the two calls and then "not use" Twilio. This is an all or nothing proposition, unless you get one of the users to re-dial the call directly.
Only alternative I can thing of, that would not require paying Twilio requires you setting up your own routing setup, such as Asterisk box. However, the cost associated with doing this is arguably greater - you have to learn telco stuff and get a decent rate on minutes from a voip carrier, not to mention supporting it. On the upside, you control your own routing here and you can get better rates, such as $0.0127 per minute here: http://www.minutehub.com/ (I have never used them and am not affiliated with them)
I've worked now in several companies using Twilio in production and have nothing but good experience with them. If you are just starting out, these guys let you focus on the problem you are solving first. Once your solution is baked, you can focus on optimizing the costs. Good luck!

Resources